Bug 1457192 - Add AS Router, frecency bonus and bug fixes to Activity Stream. r=ursula
authorEd Lee <edilee@mozilla.com>
Thu, 26 Apr 2018 09:00:00 -0700
changeset 471997 9edd64fc07d3d7034c00cf1aa41b9203ecd8bb29
parent 471996 9833513330b4f3468b50ffd9f9ee77a9e5f25449
child 471998 d03421ea2005836e4ed6133b556614dbfd901745
push id1728
push userjlund@mozilla.com
push dateMon, 18 Jun 2018 21:12:27 +0000
treeherdermozilla-release@c296fde26f5f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersursula
bugs1457192
milestone61.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1457192 - Add AS Router, frecency bonus and bug fixes to Activity Stream. r=ursula MozReview-Commit-ID: KUm67PMMNI1
browser/extensions/activity-stream/common/Actions.jsm
browser/extensions/activity-stream/css/activity-stream-linux.css
browser/extensions/activity-stream/css/activity-stream-linux.css.map
browser/extensions/activity-stream/css/activity-stream-mac.css
browser/extensions/activity-stream/css/activity-stream-mac.css.map
browser/extensions/activity-stream/css/activity-stream-windows.css
browser/extensions/activity-stream/css/activity-stream-windows.css.map
browser/extensions/activity-stream/data/content/activity-stream.bundle.js
browser/extensions/activity-stream/data/content/activity-stream.bundle.js.map
browser/extensions/activity-stream/install.rdf.in
browser/extensions/activity-stream/lib/ASRouter.jsm
browser/extensions/activity-stream/lib/ASRouterFeed.jsm
browser/extensions/activity-stream/lib/ActivityStream.jsm
browser/extensions/activity-stream/lib/DownloadsManager.jsm
browser/extensions/activity-stream/lib/MessageCenterFeed.jsm
browser/extensions/activity-stream/lib/MessageCenterRouter.jsm
browser/extensions/activity-stream/lib/PlacesFeed.jsm
browser/extensions/activity-stream/lib/TelemetryFeed.jsm
browser/extensions/activity-stream/lib/TopSitesFeed.jsm
browser/extensions/activity-stream/prerendered/locales/be/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/de/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/it/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/te/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/th/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-strings.js
browser/extensions/activity-stream/test/unit/asrouter/ASRouter.test.js
browser/extensions/activity-stream/test/unit/asrouter/constants.js
browser/extensions/activity-stream/test/unit/common/Actions.test.js
browser/extensions/activity-stream/test/unit/lib/ActivityStream.test.js
browser/extensions/activity-stream/test/unit/lib/DownloadsManager.test.js
browser/extensions/activity-stream/test/unit/lib/PlacesFeed.test.js
browser/extensions/activity-stream/test/unit/lib/TelemetryFeed.test.js
browser/extensions/activity-stream/test/unit/lib/TopSitesFeed.test.js
browser/extensions/activity-stream/test/unit/message-center/MessageCenterRouter.test.js
browser/extensions/activity-stream/test/unit/message-center/constants.js
browser/extensions/activity-stream/test/unit/unit-entry.js
--- a/browser/extensions/activity-stream/common/Actions.jsm
+++ b/browser/extensions/activity-stream/common/Actions.jsm
@@ -21,27 +21,27 @@ this.globalImportContext = globalImportC
 // Create an object that avoids accidental differing key/value pairs:
 // {
 //   INIT: "INIT",
 //   UNINIT: "UNINIT"
 // }
 const actionTypes = {};
 for (const type of [
   "ARCHIVE_FROM_POCKET",
+  "AS_ROUTER_TELEMETRY_USER_EVENT",
   "BLOCK_URL",
   "BOOKMARK_URL",
   "COPY_DOWNLOAD_LINK",
   "DELETE_BOOKMARK_BY_ID",
   "DELETE_FROM_POCKET",
   "DELETE_HISTORY_URL",
   "DIALOG_CANCEL",
   "DIALOG_OPEN",
   "DISABLE_ONBOARDING",
   "DOWNLOAD_CHANGED",
-  "GO_TO_DOWNLOAD_PAGE",
   "INIT",
   "MIGRATION_CANCEL",
   "MIGRATION_COMPLETED",
   "MIGRATION_START",
   "NEW_TAB_INIT",
   "NEW_TAB_INITIAL_STATE",
   "NEW_TAB_LOAD",
   "NEW_TAB_REHYDRATED",
@@ -228,16 +228,30 @@ function AlsoToPreloaded(action) {
 function UserEvent(data) {
   return AlsoToMain({
     type: actionTypes.TELEMETRY_USER_EVENT,
     data
   });
 }
 
 /**
+ * ASRouterUserEvent - A telemetry ping indicating a user action from AS router. This should only
+ *                     be sent from the UI during a user session.
+ *
+ * @param  {object} data Fields to include in the ping (source, etc.)
+ * @return {object} An AlsoToMain action
+ */
+function ASRouterUserEvent(data) {
+  return AlsoToMain({
+    type: actionTypes.AS_ROUTER_TELEMETRY_USER_EVENT,
+    data
+  });
+}
+
+/**
  * UndesiredEvent - A telemetry ping indicating an undesired state.
  *
  * @param  {object} data Fields to include in the ping (value, etc.)
  * @param  {int} importContext (For testing) Override the import context for testing.
  * @return {object} An action. For UI code, a AlsoToMain action.
  */
 function UndesiredEvent(data, importContext = globalImportContext) {
   const action = {
@@ -290,16 +304,17 @@ function WebExtEvent(type, data, importC
   return importContext === UI_CODE ? AlsoToMain(action) : action;
 }
 
 this.actionTypes = actionTypes;
 
 this.actionCreators = {
   BroadcastToContent,
   UserEvent,
+  ASRouterUserEvent,
   UndesiredEvent,
   PerfEvent,
   ImpressionStats,
   AlsoToOneContent,
   OnlyToOneContent,
   AlsoToMain,
   OnlyToMain,
   AlsoToPreloaded,
--- a/browser/extensions/activity-stream/css/activity-stream-linux.css
+++ b/browser/extensions/activity-stream/css/activity-stream-linux.css
@@ -53,21 +53,24 @@ body {
   --newtab-section-header-text-color: #737373;
   --newtab-section-navigation-text-color: #737373;
   --newtab-section-active-contextmenu-color: #0C0C0D;
   --newtab-search-border-color: transparent;
   --newtab-search-dropdown-color: #FFF;
   --newtab-search-dropdown-header-color: #F9F9FA;
   --newtab-search-icon-color: rgba(12, 12, 13, 0.4);
   --newtab-topsites-background-color: #FFF;
+  --newtab-topsites-icon-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color);
   --newtab-topsites-label-color: inherit;
   --newtab-card-active-outline-color: #D7D7DB;
   --newtab-card-background-color: #FFF;
   --newtab-card-hairline-color: rgba(0, 0, 0, 0.1);
-  --newtab-card-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1); }
+  --newtab-card-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+  --newtab-snippets-background-color: #FFF;
+  --newtab-snippets-hairline-color: transparent; }
 
 .dark-theme {
   --newtab-background-color: #2A2A2E;
   --newtab-border-primary-color: rgba(249, 249, 250, 0.8);
   --newtab-border-secondary-color: rgba(249, 249, 250, 0.1);
   --newtab-button-primary-color: #0060DF;
   --newtab-button-secondary-color: #38383D;
   --newtab-element-active-color: rgba(249, 249, 250, 0.2);
@@ -93,21 +96,24 @@ body {
   --newtab-section-header-text-color: rgba(249, 249, 250, 0.8);
   --newtab-section-navigation-text-color: rgba(249, 249, 250, 0.8);
   --newtab-section-active-contextmenu-color: #FFF;
   --newtab-search-border-color: rgba(249, 249, 250, 0.2);
   --newtab-search-dropdown-color: #38383D;
   --newtab-search-dropdown-header-color: #4A4A4F;
   --newtab-search-icon-color: rgba(249, 249, 250, 0.6);
   --newtab-topsites-background-color: #38383D;
+  --newtab-topsites-icon-shadow: none;
   --newtab-topsites-label-color: rgba(249, 249, 250, 0.8);
   --newtab-card-active-outline-color: #4A4A4F;
   --newtab-card-background-color: #38383D;
   --newtab-card-hairline-color: rgba(249, 249, 250, 0.1);
-  --newtab-card-shadow: 0 1px 8px 0 rgba(12, 12, 13, 0.2); }
+  --newtab-card-shadow: 0 1px 8px 0 rgba(12, 12, 13, 0.2);
+  --newtab-snippets-background-color: #38383D;
+  --newtab-snippets-hairline-color: rgba(255, 255, 255, 0.1); }
 
 .icon {
   background-position: center center;
   background-repeat: no-repeat;
   background-size: 16px;
   -moz-context-properties: fill;
   display: inline-block;
   fill: var(--newtab-icon-primary-color);
@@ -125,16 +131,17 @@ body {
   .icon.icon-clear-input {
     fill: var(--newtab-icon-secondary-color);
     background-image: url("../data/content/assets/glyph-cancel-16.svg"); }
   .icon.icon-delete {
     background-image: url("../data/content/assets/glyph-delete-16.svg"); }
   .icon.icon-search {
     background-image: url("chrome://browser/skin/search-glass.svg"); }
   .icon.icon-modal-delete {
+    flex-shrink: 0;
     background-image: url("../data/content/assets/glyph-modal-delete-32.svg");
     background-size: 32px;
     height: 32px;
     width: 32px; }
   .icon.icon-dismiss {
     background-image: url("../data/content/assets/glyph-dismiss-16.svg"); }
   .icon.icon-info {
     background-image: url("../data/content/assets/glyph-info-16.svg"); }
@@ -515,17 +522,17 @@ main {
     width: 100%; }
     .top-site-outer .screenshot.active {
       opacity: 1; }
   .top-site-outer .top-site-icon {
     background-color: var(--newtab-topsites-background-color);
     background-position: center center;
     background-repeat: no-repeat;
     border-radius: 6px;
-    box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color);
+    box-shadow: var(--newtab-topsites-icon-shadow);
     position: absolute; }
   .top-site-outer .rich-icon {
     background-size: cover;
     height: 100%;
     offset-inline-start: 0;
     top: 0;
     width: 100%; }
   .top-site-outer .default-icon {
@@ -681,31 +688,31 @@ main {
 
 @keyframes tab-throbber-animation-rtl {
   100% {
     transform: translateX(960px); } }
       .topsite-form .form-wrapper .custom-image-input-container .loading-animation:dir(rtl) {
         animation-name: tab-throbber-animation-rtl; }
   .topsite-form .form-wrapper input[type='text'] {
     background-color: var(--newtab-textbox-background-color);
-    border: solid 1px var(--newtab-textbox-border);
+    border: 1px solid var(--newtab-textbox-border);
     margin: 8px 0;
     padding: 0 8px;
     height: 32px;
     width: 100%;
     font-size: 15px; }
     .topsite-form .form-wrapper input[type='text']:focus {
-      border: solid 1px var(--newtab-textbox-focus-color);
+      border: 1px solid var(--newtab-textbox-focus-color);
       box-shadow: var(--newtab-textbox-focus-boxshadow); }
     .topsite-form .form-wrapper input[type='text'][disabled] {
-      border: solid 1px var(--newtab-textbox-border);
+      border: 1px solid var(--newtab-textbox-border);
       box-shadow: none;
       opacity: 0.4; }
   .topsite-form .form-wrapper .invalid input[type='text'] {
-    border: solid 1px #D70022;
+    border: 1px solid #D70022;
     box-shadow: 0 0 0 1px #D70022, 0 0 0 4px rgba(215, 0, 34, 0.3); }
   .topsite-form .form-wrapper .error-tooltip {
     animation: fade-up-tt 450ms;
     background: #D70022;
     border-radius: 2px;
     color: #FFF;
     offset-inline-start: 3px;
     padding: 5px 12px;
@@ -878,17 +885,17 @@ main {
     padding-inline-start: 34px;
     width: 100%; }
     .search-wrapper input:dir(rtl) {
       background-position-x: right 8px; }
   .search-wrapper:hover input {
     box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.25); }
   .search-wrapper:active input,
   .search-wrapper input:focus {
-    border: solid 1px var(--newtab-textbox-focus-color);
+    border: 1px solid var(--newtab-textbox-focus-color);
     box-shadow: var(--newtab-textbox-focus-boxshadow); }
   .search-wrapper .search-button {
     background: url("chrome://browser/skin/forward.svg") no-repeat center center;
     background-size: 16px 16px;
     border: 0;
     border-radius: 0 3px 3px 0;
     -moz-context-properties: fill;
     fill: var(--newtab-search-icon-color);
@@ -929,28 +936,23 @@ main {
     .contentSearchSuggestionTable .contentSearchSuggestionRow.selected:active {
       background: var(--newtab-element-active-color); }
     .contentSearchSuggestionTable .contentSearchSuggestionRow.selected .historyIcon {
       fill: var(--newtab-icon-secondary-color); }
   .contentSearchSuggestionTable .contentSearchOneOffsTable .contentSearchSuggestionsContainer {
     background-color: var(--newtab-search-dropdown-header-color); }
   .contentSearchSuggestionTable .contentSearchOneOffItem {
     background-image: none;
+    border-image: linear-gradient(transparent 18%, var(--newtab-border-secondary-color) 18%, var(--newtab-border-secondary-color) 82%, transparent 82%) 1;
+    border-inline-end: 1px solid;
     position: relative; }
     .contentSearchSuggestionTable .contentSearchOneOffItem.selected {
       background: var(--newtab-element-hover-color); }
     .contentSearchSuggestionTable .contentSearchOneOffItem:active {
       background: var(--newtab-element-active-color); }
-    .contentSearchSuggestionTable .contentSearchOneOffItem::after {
-      border-right: solid 1px var(--newtab-border-secondary-color);
-      content: '';
-      height: 22px;
-      offset-inline-end: 0;
-      position: absolute;
-      top: 5px; }
   .contentSearchSuggestionTable .contentSearchSettingsButton:hover {
     background: var(--newtab-element-hover-color);
     color: var(--newtab-text-primary-color); }
 
 .context-menu {
   background: var(--newtab-contextmenu-background-color);
   border-radius: 5px;
   box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.2);
@@ -1363,51 +1365,126 @@ main {
   .collapsible-section.animation-enabled .section-title .collapsible-arrow {
     transition: transform 0.5s cubic-bezier(0.07, 0.95, 0, 1); }
   .collapsible-section.animation-enabled .section-body {
     transition: max-height 0.5s cubic-bezier(0.07, 0.95, 0, 1); }
   .collapsible-section.collapsed .section-body {
     max-height: 0;
     overflow: hidden; }
 
-.messages-admin {
+.asrouter-admin {
   max-width: 996px;
   margin: 0 auto;
   font-size: 14px;
   display: inherit;
-  padding: 0; }
-  .messages-admin h1 {
+  padding: 0 0 42px; }
+  .asrouter-admin h1 {
     font-weight: 200;
     font-size: 32px; }
-  .messages-admin table {
+  .asrouter-admin table {
     border-collapse: collapse;
     width: 100%; }
-  .messages-admin .message-item:first-child td {
-    border-top: 1px solid rgba(0, 0, 0, 0.1); }
-  .messages-admin .message-item td {
+  .asrouter-admin .message-item:first-child td {
+    border-top: 1px solid var(--newtab-border-secondary-color); }
+  .asrouter-admin .message-item td {
     vertical-align: top;
-    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+    border-bottom: 1px solid var(--newtab-border-secondary-color);
     padding: 8px; }
-    .messages-admin .message-item td:first-child {
-      border-left: 1px solid rgba(0, 0, 0, 0.1); }
-    .messages-admin .message-item td:last-child {
-      border-right: 1px solid rgba(0, 0, 0, 0.1); }
-  .messages-admin .message-item.current .message-id span {
+    .asrouter-admin .message-item td:first-child {
+      border-left: 1px solid var(--newtab-border-secondary-color); }
+    .asrouter-admin .message-item td:last-child {
+      border-right: 1px solid var(--newtab-border-secondary-color); }
+  .asrouter-admin .message-item.current .message-id span {
     background: #FFE900;
     padding: 2px 5px; }
-  .messages-admin .message-item.blocked .message-id,
-  .messages-admin .message-item.blocked .message-summary {
+    .dark-theme .asrouter-admin .message-item.current .message-id span {
+      color: #000; }
+  .asrouter-admin .message-item.blocked .message-id,
+  .asrouter-admin .message-item.blocked .message-summary {
     opacity: 0.5; }
-  .messages-admin .message-item.blocked .message-id {
-    color: #0C0C0D; }
-  .messages-admin .message-item .message-id {
+  .asrouter-admin .message-item.blocked .message-id {
+    opacity: 0.5; }
+  .asrouter-admin .message-item .message-id {
     font-family: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace;
     font-size: 12px; }
-  .messages-admin pre {
-    background: #FFF;
+  .asrouter-admin pre {
+    background: var(--newtab-textbox-background-color);
     margin: 0;
     padding: 8px;
     font-size: 12px;
     max-width: 750px;
     overflow: auto;
     font-family: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace; }
 
+.ASRouterButton {
+  white-space: nowrap;
+  border-radius: 4px;
+  border: 1px solid var(--newtab-border-secondary-color);
+  background-color: var(--newtab-button-secondary-color);
+  font-family: inherit;
+  padding: 8px 15px;
+  margin-left: 12px;
+  color: inherit; }
+
+.SnippetBaseContainer {
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  background-color: var(--newtab-snippets-background-color);
+  color: var(--newtab-text-primary-color);
+  font-size: 12px;
+  line-height: 16px;
+  border-top: 1px solid var(--newtab-snippets-hairline-color);
+  box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.2);
+  display: flex;
+  align-items: center; }
+  .SnippetBaseContainer .innerWrapper {
+    margin: 0 auto;
+    display: flex;
+    align-items: center;
+    padding: 12px 25px;
+    padding-inline-end: 36px;
+    max-width: 786px; }
+    @media (min-width: 866px) {
+      .SnippetBaseContainer .innerWrapper {
+        padding-inline-end: 25px; } }
+    @media (min-width: 1122px) {
+      .SnippetBaseContainer .innerWrapper {
+        max-width: 1042px; } }
+  .SnippetBaseContainer .blockButton {
+    display: none;
+    background: none;
+    border: 0;
+    position: absolute;
+    top: 50%;
+    offset-inline-end: 12px;
+    height: 16px;
+    width: 16px;
+    background-image: url("resource://activity-stream/data/content/assets/glyph-dismiss-16.svg");
+    -moz-context-properties: fill;
+    fill: var(--newtab-icon-primary-color);
+    opacity: 0.5;
+    margin-top: -8px;
+    padding: 0;
+    cursor: pointer; }
+    @media (min-width: 766px) {
+      .SnippetBaseContainer .blockButton {
+        offset-inline-end: 24px; } }
+  .SnippetBaseContainer:hover .blockButton {
+    display: block; }
+
+.SimpleSnippet .title {
+  display: inline;
+  font-size: inherit;
+  margin: 0; }
+
+.SimpleSnippet .body {
+  display: inline;
+  margin: 0; }
+
+.SimpleSnippet .icon {
+  height: 42px;
+  width: 42px;
+  margin-inline-end: 12px;
+  flex-shrink: 0; }
+
 /*# sourceMappingURL=activity-stream-linux.css.map */
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-linux.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-linux.css.map
@@ -14,33 +14,39 @@
 		"../content-src/components/Sections/_Sections.scss",
 		"../content-src/components/Topics/_Topics.scss",
 		"../content-src/components/Search/_Search.scss",
 		"../content-src/components/ContextMenu/_ContextMenu.scss",
 		"../content-src/components/ConfirmDialog/_ConfirmDialog.scss",
 		"../content-src/components/Card/_Card.scss",
 		"../content-src/components/ManualMigration/_ManualMigration.scss",
 		"../content-src/components/CollapsibleSection/_CollapsibleSection.scss",
-		"../content-src/components/MessageCenterAdmin/MessageCenterAdmin.scss"
+		"../content-src/components/ASRouterAdmin/ASRouterAdmin.scss",
+		"../content-src/asrouter/components/Button/_Button.scss",
+		"../content-src/asrouter/components/SnippetBase/_SnippetBase.scss",
+		"../content-src/asrouter/templates/SimpleSnippet/_SimpleSnippet.scss"
 	],
 	"sourcesContent": [
 		"/* This is the linux variant */ // sass-lint:disable-line no-css-comments\n\n$os-infopanel-arrow-height: 10px;\n$os-infopanel-arrow-offset-end: 6px;\n$os-infopanel-arrow-width: 20px;\n\n@import './activity-stream';\n",
-		"@import './normalize';\n@import './variables';\n@import './theme';\n@import './icons';\n\nhtml {\n  height: 100%;\n}\n\nbody,\n#root { // sass-lint:disable-line no-ids\n  min-height: 100vh;\n}\n\nbody {\n  background-color: var(--newtab-background-color);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  text-decoration: none;\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n}\n\n// Default button (grey)\n.button,\n.actions button {\n  background-color: var(--newtab-button-secondary-color);\n  border: $border-primary;\n  border-radius: 4px;\n  color: inherit;\n  cursor: pointer;\n  margin-bottom: 15px;\n  padding: 10px 30px;\n  white-space: nowrap;\n\n  &:hover:not(.dismiss) {\n    box-shadow: $shadow-primary;\n    transition: box-shadow 150ms;\n  }\n\n  &.dismiss {\n    background-color: transparent;\n    border: 0;\n    padding: 0;\n    text-decoration: underline;\n  }\n\n  // Blue button\n  &.primary,\n  &.done {\n    background-color: var(--newtab-button-primary-color);\n    border: solid 1px var(--newtab-button-primary-color);\n    color: $white;\n    margin-inline-start: auto;\n  }\n}\n\ninput {\n  &[type='text'],\n  &[type='search'] {\n    border-radius: $border-radius;\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n@import '../components/MessageCenterAdmin/MessageCenterAdmin';\n",
+		"@import './normalize';\n@import './variables';\n@import './theme';\n@import './icons';\n\nhtml {\n  height: 100%;\n}\n\nbody,\n#root { // sass-lint:disable-line no-ids\n  min-height: 100vh;\n}\n\nbody {\n  background-color: var(--newtab-background-color);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  text-decoration: none;\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n}\n\n// Default button (grey)\n.button,\n.actions button {\n  background-color: var(--newtab-button-secondary-color);\n  border: $border-primary;\n  border-radius: 4px;\n  color: inherit;\n  cursor: pointer;\n  margin-bottom: 15px;\n  padding: 10px 30px;\n  white-space: nowrap;\n\n  &:hover:not(.dismiss) {\n    box-shadow: $shadow-primary;\n    transition: box-shadow 150ms;\n  }\n\n  &.dismiss {\n    background-color: transparent;\n    border: 0;\n    padding: 0;\n    text-decoration: underline;\n  }\n\n  // Blue button\n  &.primary,\n  &.done {\n    background-color: var(--newtab-button-primary-color);\n    border: solid 1px var(--newtab-button-primary-color);\n    color: $white;\n    margin-inline-start: auto;\n  }\n}\n\ninput {\n  &[type='text'],\n  &[type='search'] {\n    border-radius: $border-radius;\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n@import '../components/ASRouterAdmin/ASRouterAdmin';\n\n// AS Router\n@import '../asrouter/components/Button/Button';\n@import '../asrouter/components/SnippetBase/SnippetBase';\n@import '../asrouter/templates/SimpleSnippet/SimpleSnippet';\n",
 		"html {\n  box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n*::-moz-focus-inner {\n  border: 0;\n}\n\nbody {\n  margin: 0;\n}\n\nbutton,\ninput {\n  background-color: inherit;\n  color: inherit;\n  font-family: inherit;\n  font-size: inherit;\n}\n\n[hidden] {\n  display: none !important; // sass-lint:disable-line no-important\n}\n",
-		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-40: #45A1FF;\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$blue-70: #003EAA;\n$blue-80: #002275;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-70: #38383D;\n$grey-80: #2A2A2E;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n$yellow-50: #FFE900;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-10-10: rgba($grey-10, 0.1);\n$grey-10-20: rgba($grey-10, 0.2);\n$grey-10-40: rgba($grey-10, 0.4);\n$grey-10-60: rgba($grey-10, 0.6);\n$grey-10-80: rgba($grey-10, 0.8);\n$grey-20-60: rgba($grey-20, 0.6);\n$grey-20-80: rgba($grey-20, 0.8);\n$grey-30-60: rgba($grey-30, 0.6);\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Other colors\n$white: #FFF;\n$pocket-teal: #50BCB6;\n\n$border-radius: 3px;\n\n// Grid related styles\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$small-download-folder-icon-size: 36px;\n$large-download-folder-icon-size: $small-download-folder-icon-size * 1.5;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $black-20;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n$textbox-shadow-size: 4px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: var(--newtab-contextmenu-button-color);\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
-		"@function textbox-shadow($color) {\n  @return 0 0 0 1px $color, 0 0 0 $textbox-shadow-size rgba($color, 0.3);\n}\n\n@mixin textbox-focus($color) {\n  --newtab-textbox-focus-color: $color;\n  --newtab-textbox-focus-boxshadow: textbox-shadow($color);\n}\n\n// Default theme\nbody {\n  // General styles\n  --newtab-background-color: $grey-10;\n  --newtab-border-primary-color: $grey-40;\n  --newtab-border-secondary-color: $grey-30;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: inherit;\n  --newtab-element-active-color: $grey-30-60;\n  --newtab-element-hover-color: $grey-20;\n  --newtab-icon-primary-color: $grey-90-80;\n  --newtab-icon-secondary-color: $grey-90-60;\n  --newtab-icon-tertiary-color: $grey-30;\n  --newtab-inner-box-shadow-color: $black-10;\n  --newtab-link-primary-color: $blue-60;\n  --newtab-link-secondary-color: $teal-70;\n  --newtab-text-conditional-color: $grey-60;\n  --newtab-text-primary-color: $grey-90;\n  --newtab-text-secondary-color: $grey-50;\n  --newtab-text-tertiary-color: $grey-50;\n  --newtab-textbox-background-color: $white;\n  --newtab-textbox-border: $grey-90-20;\n  @include textbox-focus($blue-60); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-10;\n  --newtab-contextmenu-button-color: $white;\n\n  // Modal + overlay\n  --newtab-modal-color: $white;\n  --newtab-overlay-color: $grey-20-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-50;\n  --newtab-section-navigation-text-color: $grey-50;\n  --newtab-section-active-contextmenu-color: $grey-90;\n\n  // Search\n  --newtab-search-border-color: transparent;\n  --newtab-search-dropdown-color: $white;\n  --newtab-search-dropdown-header-color: $grey-10;\n  --newtab-search-icon-color: $grey-90-40;\n\n  // Top Sites\n  --newtab-topsites-background-color: $white;\n  --newtab-topsites-label-color: inherit;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-30;\n  --newtab-card-background-color: $white;\n  --newtab-card-hairline-color: $black-10;\n  --newtab-card-shadow: 0 1px 4px 0 $grey-90-10;\n}\n\n// Dark theme\n.dark-theme {\n  // General styles\n  --newtab-background-color: $grey-80;\n  --newtab-border-primary-color: $grey-10-80;\n  --newtab-border-secondary-color: $grey-10-10;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: $grey-70;\n  --newtab-element-active-color: $grey-10-20;\n  --newtab-element-hover-color: $grey-10-10;\n  --newtab-icon-primary-color: $grey-10-80;\n  --newtab-icon-secondary-color: $grey-10-40;\n  --newtab-icon-tertiary-color: $grey-10-40;\n  --newtab-inner-box-shadow-color: $grey-10-20;\n  --newtab-link-primary-color: $blue-40;\n  --newtab-link-secondary-color: $pocket-teal;\n  --newtab-text-conditional-color: $grey-10;\n  --newtab-text-primary-color: $grey-10;\n  --newtab-text-secondary-color: $grey-10-80;\n  --newtab-text-tertiary-color: $grey-10-60;\n  --newtab-textbox-background-color: $grey-70;\n  --newtab-textbox-border: $grey-10-20;\n  @include textbox-focus($blue-40); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-60;\n  --newtab-contextmenu-button-color: $grey-80;\n\n  // Modal + overlay\n  --newtab-modal-color: $grey-80;\n  --newtab-overlay-color: $grey-90-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-10-80;\n  --newtab-section-navigation-text-color: $grey-10-80;\n  --newtab-section-active-contextmenu-color: $white;\n\n  // Search\n  --newtab-search-border-color: $grey-10-20;\n  --newtab-search-dropdown-color: $grey-70;\n  --newtab-search-dropdown-header-color: $grey-60;\n  --newtab-search-icon-color: $grey-10-60;\n\n  // Top Sites\n  --newtab-topsites-background-color: $grey-70;\n  --newtab-topsites-label-color: $grey-10-80;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-60;\n  --newtab-card-background-color: $grey-70;\n  --newtab-card-hairline-color: $grey-10-10;\n  --newtab-card-shadow: 0 1px 8px 0 $grey-90-20;\n}\n\n// scss variables related to the theme.\n$border-primary: 1px solid var(--newtab-border-primary-color);\n$border-secondary: 1px solid var(--newtab-border-secondary-color);\n$shadow-primary: 0 0 0 5px var(--newtab-card-active-outline-color);\n$shadow-secondary: 0 1px 4px 0 $grey-90-20;\n$input-border: solid 1px var(--newtab-textbox-border);\n$input-border-active: solid 1px var(--newtab-textbox-focus-color);\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: textbox-shadow($red-60);\n$inner-box-shadow: 0 0 0 1px var(--newtab-inner-box-shadow-color);\n",
-		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: var(--newtab-icon-primary-color);\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: var(--newtab-icon-secondary-color);\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-search {\n    background-image: url('chrome://browser/skin/search-glass.svg');\n  }\n\n  &.icon-modal-delete {\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-historyItem { // sass-lint:disable-line class-name-format\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-download {\n    background-image: url('chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar');\n  }\n\n  &.icon-copy {\n    background-image: url('chrome://browser/skin/edit-copy.svg');\n  }\n\n  &.icon-open-file {\n    background-image: url('#{$image-path}glyph-open-file-16.svg');\n  }\n\n  &.icon-download-folder {\n    background-image: url('#{$image-path}glyph-download-icon.svg');\n    background-size: 100%;\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
+		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-40: #45A1FF;\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$blue-70: #003EAA;\n$blue-80: #002275;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-70: #38383D;\n$grey-80: #2A2A2E;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n$yellow-50: #FFE900;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-10-10: rgba($grey-10, 0.1);\n$grey-10-20: rgba($grey-10, 0.2);\n$grey-10-40: rgba($grey-10, 0.4);\n$grey-10-60: rgba($grey-10, 0.6);\n$grey-10-80: rgba($grey-10, 0.8);\n$grey-20-60: rgba($grey-20, 0.6);\n$grey-20-80: rgba($grey-20, 0.8);\n$grey-30-60: rgba($grey-30, 0.6);\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Other colors\n$white: #FFF;\n$white-10: rgba($white, 0.1);\n$pocket-teal: #50BCB6;\n\n$border-radius: 3px;\n\n// Grid related styles\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$small-download-folder-icon-size: 36px;\n$large-download-folder-icon-size: $small-download-folder-icon-size * 1.5;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $black-20;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n$textbox-shadow-size: 4px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: var(--newtab-contextmenu-button-color);\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
+		"@function textbox-shadow($color) {\n  @return 0 0 0 1px $color, 0 0 0 $textbox-shadow-size rgba($color, 0.3);\n}\n\n@mixin textbox-focus($color) {\n  --newtab-textbox-focus-color: $color;\n  --newtab-textbox-focus-boxshadow: textbox-shadow($color);\n}\n\n// scss variables related to the theme.\n$border-primary: 1px solid var(--newtab-border-primary-color);\n$border-secondary: 1px solid var(--newtab-border-secondary-color);\n$inner-box-shadow: 0 0 0 1px var(--newtab-inner-box-shadow-color);\n$input-border: 1px solid var(--newtab-textbox-border);\n$input-border-active: 1px solid var(--newtab-textbox-focus-color);\n$input-error-border: 1px solid $red-60;\n$input-error-boxshadow: textbox-shadow($red-60);\n$shadow-primary: 0 0 0 5px var(--newtab-card-active-outline-color);\n$shadow-secondary: 0 1px 4px 0 $grey-90-20;\n\n// Default theme\nbody {\n  // General styles\n  --newtab-background-color: $grey-10;\n  --newtab-border-primary-color: $grey-40;\n  --newtab-border-secondary-color: $grey-30;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: inherit;\n  --newtab-element-active-color: $grey-30-60;\n  --newtab-element-hover-color: $grey-20;\n  --newtab-icon-primary-color: $grey-90-80;\n  --newtab-icon-secondary-color: $grey-90-60;\n  --newtab-icon-tertiary-color: $grey-30;\n  --newtab-inner-box-shadow-color: $black-10;\n  --newtab-link-primary-color: $blue-60;\n  --newtab-link-secondary-color: $teal-70;\n  --newtab-text-conditional-color: $grey-60;\n  --newtab-text-primary-color: $grey-90;\n  --newtab-text-secondary-color: $grey-50;\n  --newtab-text-tertiary-color: $grey-50;\n  --newtab-textbox-background-color: $white;\n  --newtab-textbox-border: $grey-90-20;\n  @include textbox-focus($blue-60); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-10;\n  --newtab-contextmenu-button-color: $white;\n\n  // Modal + overlay\n  --newtab-modal-color: $white;\n  --newtab-overlay-color: $grey-20-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-50;\n  --newtab-section-navigation-text-color: $grey-50;\n  --newtab-section-active-contextmenu-color: $grey-90;\n\n  // Search\n  --newtab-search-border-color: transparent;\n  --newtab-search-dropdown-color: $white;\n  --newtab-search-dropdown-header-color: $grey-10;\n  --newtab-search-icon-color: $grey-90-40;\n\n  // Top Sites\n  --newtab-topsites-background-color: $white;\n  --newtab-topsites-icon-shadow: inset $inner-box-shadow;\n  --newtab-topsites-label-color: inherit;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-30;\n  --newtab-card-background-color: $white;\n  --newtab-card-hairline-color: $black-10;\n  --newtab-card-shadow: 0 1px 4px 0 $grey-90-10;\n\n  // Snippets\n  --newtab-snippets-background-color: $white;\n  --newtab-snippets-hairline-color: transparent;\n}\n\n// Dark theme\n.dark-theme {\n  // General styles\n  --newtab-background-color: $grey-80;\n  --newtab-border-primary-color: $grey-10-80;\n  --newtab-border-secondary-color: $grey-10-10;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: $grey-70;\n  --newtab-element-active-color: $grey-10-20;\n  --newtab-element-hover-color: $grey-10-10;\n  --newtab-icon-primary-color: $grey-10-80;\n  --newtab-icon-secondary-color: $grey-10-40;\n  --newtab-icon-tertiary-color: $grey-10-40;\n  --newtab-inner-box-shadow-color: $grey-10-20;\n  --newtab-link-primary-color: $blue-40;\n  --newtab-link-secondary-color: $pocket-teal;\n  --newtab-text-conditional-color: $grey-10;\n  --newtab-text-primary-color: $grey-10;\n  --newtab-text-secondary-color: $grey-10-80;\n  --newtab-text-tertiary-color: $grey-10-60;\n  --newtab-textbox-background-color: $grey-70;\n  --newtab-textbox-border: $grey-10-20;\n  @include textbox-focus($blue-40); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-60;\n  --newtab-contextmenu-button-color: $grey-80;\n\n  // Modal + overlay\n  --newtab-modal-color: $grey-80;\n  --newtab-overlay-color: $grey-90-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-10-80;\n  --newtab-section-navigation-text-color: $grey-10-80;\n  --newtab-section-active-contextmenu-color: $white;\n\n  // Search\n  --newtab-search-border-color: $grey-10-20;\n  --newtab-search-dropdown-color: $grey-70;\n  --newtab-search-dropdown-header-color: $grey-60;\n  --newtab-search-icon-color: $grey-10-60;\n\n  // Top Sites\n  --newtab-topsites-background-color: $grey-70;\n  --newtab-topsites-icon-shadow: none;\n  --newtab-topsites-label-color: $grey-10-80;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-60;\n  --newtab-card-background-color: $grey-70;\n  --newtab-card-hairline-color: $grey-10-10;\n  --newtab-card-shadow: 0 1px 8px 0 $grey-90-20;\n\n  // Snippets\n  --newtab-snippets-background-color: $grey-70;\n  --newtab-snippets-hairline-color: $white-10;\n}\n",
+		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: var(--newtab-icon-primary-color);\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: var(--newtab-icon-secondary-color);\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-search {\n    background-image: url('chrome://browser/skin/search-glass.svg');\n  }\n\n  &.icon-modal-delete {\n    flex-shrink: 0;\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-historyItem {\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-download {\n    background-image: url('chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar');\n  }\n\n  &.icon-copy {\n    background-image: url('chrome://browser/skin/edit-copy.svg');\n  }\n\n  &.icon-open-file {\n    background-image: url('#{$image-path}glyph-open-file-16.svg');\n  }\n\n  &.icon-download-folder {\n    background-image: url('#{$image-path}glyph-download-icon.svg');\n    background-size: 100%;\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
 		".outer-wrapper {\n  color: var(--newtab-text-primary-color);\n  display: flex;\n  flex-grow: 1;\n  min-height: 100vh;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    display: block;\n  }\n\n  a {\n    color: var(--newtab-link-primary-color);\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.wide-layout-enabled {\n  main {\n    @media (min-width: $break-point-widest) {\n      width: $wrapper-max-width-widest;\n    }\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n\n.prefs-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover,\n    &:focus {\n      background-color: var(--newtab-element-hover-color);\n    }\n\n    &:active {\n      background-color: var(--newtab-element-active-color);\n    }\n  }\n}\n",
 		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: var(--newtab-text-conditional-color);\n  display: flex;\n  flex-direction: column;\n  font-size: $error-fallback-font-size;\n  justify-content: center;\n  justify-items: center;\n  line-height: $error-fallback-line-height;\n\n  a {\n    color: var(--newtab-text-conditional-color);\n    text-decoration: underline;\n  }\n}\n",
-		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, var(--newtab-card-shadow);\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: var(--newtab-text-secondary-color);\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: var(--newtab-topsites-background-color);\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: cover;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    color: var(--newtab-topsites-label-color);\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: var(--newtab-icon-tertiary-color);\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n// Always hide .hide-for-narrow if wide layout is disabled\n.wide-layout-disabled {\n  .top-sites-list {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .top-sites-list {\n    // Eight columns\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(8n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n      :nth-child(8n+7) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media not all and (min-width: $break-point-widest) {\n      .hide-for-narrow {\n        display: none;\n      }\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    box-shadow: $shadow-secondary;\n    left: 0;\n    margin: 0 auto;\n    position: fixed;\n    right: 0;\n    top: 40px;\n    width: $wrapper-default-width;\n\n    @media (min-width: $break-point-small) {\n      width: $wrapper-max-width-small;\n    }\n\n    @media (min-width: $break-point-medium) {\n      width: $wrapper-max-width-medium;\n    }\n\n    @media (min-width: $break-point-large) {\n      width: $wrapper-max-width-large;\n    }\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n    }\n\n    .url {\n      input:dir(ltr) {\n        padding-right: 32px;\n      }\n\n      input:dir(rtl) {\n        padding-left: 32px;\n\n        &:not(:placeholder-shown) {\n          direction: ltr;\n          text-align: right;\n        }\n      }\n    }\n\n    .enable-custom-image-input {\n      display: inline-block;\n      font-size: 13px;\n      margin-top: 4px;\n      cursor: pointer;\n\n      &:hover {\n        text-decoration: underline;\n      }\n    }\n\n    .custom-image-input-container {\n      margin-top: 4px;\n\n      .loading-container {\n        width: 16px;\n        height: 16px;\n        overflow: hidden;\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n\n      // This animation is derived from Firefox's tab loading animation\n      // See https://searchfox.org/mozilla-central/rev/b29daa46443b30612415c35be0a3c9c13b9dc5f6/browser/themes/shared/tabs.inc.css#208-216\n      .loading-animation {\n        @keyframes tab-throbber-animation {\n          100% { transform: translateX(-960px); }\n        }\n\n        @keyframes tab-throbber-animation-rtl {\n          100% { transform: translateX(960px); }\n        }\n\n        width: 960px;\n        height: 16px;\n        -moz-context-properties: fill;\n        fill: $blue-50;\n        background-image: url('chrome://browser/skin/tabbrowser/loading.svg');\n        animation: tab-throbber-animation 1.05s steps(60) infinite;\n\n        &:dir(rtl) {\n          animation-name: tab-throbber-animation-rtl;\n        }\n      }\n    }\n\n    input {\n      &[type='text'] {\n        background-color: var(--newtab-textbox-background-color);\n        border: $input-border;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n        font-size: 15px;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: var(--newtab-textbox-focus-boxshadow);\n        }\n\n        &[disabled] {\n          border: $input-border;\n          box-shadow: none;\n          opacity: 0.4;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
+		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, var(--newtab-card-shadow);\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: var(--newtab-text-secondary-color);\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: var(--newtab-topsites-background-color);\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: var(--newtab-topsites-icon-shadow);\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: cover;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    color: var(--newtab-topsites-label-color);\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: var(--newtab-icon-tertiary-color);\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n// Always hide .hide-for-narrow if wide layout is disabled\n.wide-layout-disabled {\n  .top-sites-list {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .top-sites-list {\n    // Eight columns\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(8n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n      :nth-child(8n+7) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media not all and (min-width: $break-point-widest) {\n      .hide-for-narrow {\n        display: none;\n      }\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    box-shadow: $shadow-secondary;\n    left: 0;\n    margin: 0 auto;\n    position: fixed;\n    right: 0;\n    top: 40px;\n    width: $wrapper-default-width;\n\n    @media (min-width: $break-point-small) {\n      width: $wrapper-max-width-small;\n    }\n\n    @media (min-width: $break-point-medium) {\n      width: $wrapper-max-width-medium;\n    }\n\n    @media (min-width: $break-point-large) {\n      width: $wrapper-max-width-large;\n    }\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n    }\n\n    .url {\n      input:dir(ltr) {\n        padding-right: 32px;\n      }\n\n      input:dir(rtl) {\n        padding-left: 32px;\n\n        &:not(:placeholder-shown) {\n          direction: ltr;\n          text-align: right;\n        }\n      }\n    }\n\n    .enable-custom-image-input {\n      display: inline-block;\n      font-size: 13px;\n      margin-top: 4px;\n      cursor: pointer;\n\n      &:hover {\n        text-decoration: underline;\n      }\n    }\n\n    .custom-image-input-container {\n      margin-top: 4px;\n\n      .loading-container {\n        width: 16px;\n        height: 16px;\n        overflow: hidden;\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n\n      // This animation is derived from Firefox's tab loading animation\n      // See https://searchfox.org/mozilla-central/rev/b29daa46443b30612415c35be0a3c9c13b9dc5f6/browser/themes/shared/tabs.inc.css#208-216\n      .loading-animation {\n        @keyframes tab-throbber-animation {\n          100% { transform: translateX(-960px); }\n        }\n\n        @keyframes tab-throbber-animation-rtl {\n          100% { transform: translateX(960px); }\n        }\n\n        width: 960px;\n        height: 16px;\n        -moz-context-properties: fill;\n        fill: $blue-50;\n        background-image: url('chrome://browser/skin/tabbrowser/loading.svg');\n        animation: tab-throbber-animation 1.05s steps(60) infinite;\n\n        &:dir(rtl) {\n          animation-name: tab-throbber-animation-rtl;\n        }\n      }\n    }\n\n    input {\n      &[type='text'] {\n        background-color: var(--newtab-textbox-background-color);\n        border: $input-border;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n        font-size: 15px;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: var(--newtab-textbox-focus-boxshadow);\n        }\n\n        &[disabled] {\n          border: $input-border;\n          box-shadow: none;\n          opacity: 0.4;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
 		".sections-list {\n  .section-list {\n    display: grid;\n    grid-gap: $base-gutter;\n    grid-template-columns: repeat(auto-fit, $card-width);\n    margin: 0;\n\n    @media (max-width: $break-point-medium) {\n      @include context-menu-open-left;\n    }\n\n    @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n      :nth-child(2n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n  }\n\n  .section-empty-state {\n    border: $border-secondary;\n    border-radius: $border-radius;\n    display: flex;\n    height: $card-height;\n    width: 100%;\n\n    .empty-state {\n      margin: auto;\n      max-width: 350px;\n\n      .empty-state-icon {\n        background-position: center;\n        background-repeat: no-repeat;\n        background-size: 50px 50px;\n        -moz-context-properties: fill;\n        display: block;\n        fill: var(--newtab-icon-secondary-color);\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: var(--newtab-text-primary-color);\n        font-size: 13px;\n        margin-bottom: 0;\n        text-align: center;\n      }\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .sections-list {\n    .section-list {\n      @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n        :nth-child(3n) {\n          @include context-menu-open-left;\n        }\n      }\n\n      @media (min-width: $break-point-widest) {\n        grid-template-columns: repeat(auto-fit, $card-width-large);\n      }\n    }\n  }\n\n  .section-empty-state {\n    height: $card-height-large;\n  }\n}\n",
 		".topic {\n  color: var(--newtab-section-navigation-text-color);\n  font-size: 12px;\n  line-height: 1.6;\n  margin-top: $topic-margin-top;\n\n  @media (min-width: $break-point-large) {\n    line-height: 16px;\n  }\n\n  ul {\n    margin: 0;\n    padding: 0;\n    @media (min-width: $break-point-large) {\n      display: inline;\n      padding-inline-start: 12px;\n    }\n  }\n\n\n  ul li {\n    display: inline-block;\n\n    &::after {\n      content: '•';\n      padding: 8px;\n    }\n\n    &:last-child::after {\n      content: none;\n    }\n  }\n\n  .topic-link {\n    color: var(--newtab-link-secondary-color);\n    font-weight: bold;\n  }\n\n  .topic-read-more {\n    color: var(--newtab-link-secondary-color);\n    font-weight: bold;\n\n    @media (min-width: $break-point-large) {\n      // This is floating to accomodate a very large number of topics and/or\n      // very long topic names due to l10n.\n      float: right;\n\n      &:dir(rtl) {\n        float: left;\n      }\n    }\n\n    &::after {\n      background: url('#{$image-path}topic-show-more-12.svg') no-repeat center center;\n      content: '';\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: var(--newtab-link-secondary-color);\n      height: 16px;\n      margin-inline-start: 5px;\n      vertical-align: top;\n      width: 12px;\n    }\n\n    &:dir(rtl)::after  {\n      transform: scaleX(-1);\n    }\n  }\n\n  // This is a clearfix to for the topics-read-more link which is floating and causes\n  // some jank when we set overflow:hidden for the animation.\n  &::after {\n    clear: both;\n    content: '';\n    display: table;\n  }\n}\n",
-		".search-wrapper {\n  $search-height: 35px;\n  $search-icon-size: 18px;\n  $search-icon-padding: 8px;\n  $search-icon-width: 2 * $search-icon-padding + $search-icon-size;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  margin-bottom: $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    background: var(--newtab-textbox-background-color) var(--newtab-search-icon) $search-icon-padding center / $search-icon-size no-repeat;\n    border: solid 1px var(--newtab-search-border-color);\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-icon-width;\n    width: 100%;\n\n    &:dir(rtl) {\n      background-position-x: right $search-icon-padding;\n    }\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    border: $input-border-active;\n    box-shadow: var(--newtab-textbox-focus-boxshadow);\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n}\n\n@at-root {\n  // Adjust the style of the contentSearchUI-generated table\n  // sass-lint:disable-block class-name-format\n  .contentSearchSuggestionTable {\n    background-color: var(--newtab-search-dropdown-color);\n    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY($textbox-shadow-size);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-search-dropdown-header-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSettingsButton {\n      border-color: var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSuggestionsList {\n      border: 0;\n    }\n\n    .contentSearchOneOffsTable {\n      background-color: var(--newtab-search-dropdown-header-color);\n      border-top: solid 1px var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSearchWithHeaderSearchText {\n      color: var(--newtab-text-primary-color);\n    }\n\n    .contentSearchSuggestionsContainer {\n      background-color: var(--newtab-search-dropdown-color);\n    }\n\n    .contentSearchSuggestionRow {\n      &.selected {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        .historyIcon {\n          fill: var(--newtab-icon-secondary-color);\n        }\n      }\n    }\n\n    .contentSearchOneOffsTable {\n      .contentSearchSuggestionsContainer {\n        background-color: var(--newtab-search-dropdown-header-color);\n      }\n    }\n\n    .contentSearchOneOffItem {\n      background-image: none;\n      position: relative;\n\n      &.selected {\n        background: var(--newtab-element-hover-color);\n      }\n\n      &:active {\n        background: var(--newtab-element-active-color);\n      }\n\n      &::after {\n        border-right: solid 1px var(--newtab-border-secondary-color);\n        content: '';\n        height: 22px;\n        offset-inline-end: 0;\n        position: absolute;\n        top: 5px;\n      }\n    }\n\n    .contentSearchSettingsButton {\n      &:hover {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n      }\n    }\n  }\n}\n",
+		".search-wrapper {\n  $search-height: 35px;\n  $search-icon-size: 18px;\n  $search-icon-padding: 8px;\n  $search-icon-width: 2 * $search-icon-padding + $search-icon-size;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  margin-bottom: $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    background: var(--newtab-textbox-background-color) var(--newtab-search-icon) $search-icon-padding center / $search-icon-size no-repeat;\n    border: solid 1px var(--newtab-search-border-color);\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-icon-width;\n    width: 100%;\n\n    &:dir(rtl) {\n      background-position-x: right $search-icon-padding;\n    }\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    border: $input-border-active;\n    box-shadow: var(--newtab-textbox-focus-boxshadow);\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n}\n\n@at-root {\n  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable {\n    background-color: var(--newtab-search-dropdown-color);\n    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY($textbox-shadow-size);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-search-dropdown-header-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSettingsButton {\n      border-color: var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSuggestionsList {\n      border: 0;\n    }\n\n    .contentSearchOneOffsTable {\n      background-color: var(--newtab-search-dropdown-header-color);\n      border-top: solid 1px var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSearchWithHeaderSearchText {\n      color: var(--newtab-text-primary-color);\n    }\n\n    .contentSearchSuggestionsContainer {\n      background-color: var(--newtab-search-dropdown-color);\n    }\n\n    .contentSearchSuggestionRow {\n      &.selected {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        .historyIcon {\n          fill: var(--newtab-icon-secondary-color);\n        }\n      }\n    }\n\n    .contentSearchOneOffsTable {\n      .contentSearchSuggestionsContainer {\n        background-color: var(--newtab-search-dropdown-header-color);\n      }\n    }\n\n    .contentSearchOneOffItem {\n      // Make the border slightly shorter by offsetting from the top and bottom\n      $border-offset: 18%;\n\n      background-image: none;\n      border-image: linear-gradient(transparent $border-offset, var(--newtab-border-secondary-color) $border-offset, var(--newtab-border-secondary-color) 100% - $border-offset, transparent 100% - $border-offset) 1;\n      border-inline-end: 1px solid;\n      position: relative;\n\n      &.selected {\n        background: var(--newtab-element-hover-color);\n      }\n\n      &:active {\n        background: var(--newtab-element-active-color);\n      }\n    }\n\n    .contentSearchSettingsButton {\n      &:hover {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n      }\n    }\n  }\n}\n",
 		".context-menu {\n  background: var(--newtab-contextmenu-background-color);\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: $border-secondary;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: var(--newtab-element-hover-color);\n        }\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\n  }\n}\n",
 		".confirmation-dialog {\n  .modal {\n    box-shadow: 0 2px 2px 0 $black-10;\n    left: 50%;\n    margin-left: -200px;\n    position: fixed;\n    top: 20%;\n    width: 400px;\n  }\n\n  section {\n    margin: 0;\n  }\n\n  .modal-message {\n    display: flex;\n    padding: 16px;\n    padding-bottom: 0;\n\n    p {\n      margin: 0;\n      margin-bottom: 16px;\n    }\n  }\n\n  .actions {\n    border: 0;\n    display: flex;\n    flex-wrap: nowrap;\n    padding: 0 16px;\n\n    button {\n      margin-inline-end: 16px;\n      padding-inline-end: 18px;\n      padding-inline-start: 18px;\n      white-space: normal;\n      width: 50%;\n\n      &.done {\n        margin-inline-end: 0;\n        margin-inline-start: 0;\n      }\n    }\n  }\n\n  .icon {\n    margin-inline-end: 16px;\n  }\n}\n\n.modal-overlay {\n  background: var(--newtab-overlay-color);\n  height: 100%;\n  left: 0;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  z-index: 11001;\n}\n\n.modal {\n  background: var(--newtab-modal-color);\n  border: $border-secondary;\n  border-radius: 5px;\n  font-size: 15px;\n  z-index: 11002;\n}\n",
 		".card-outer {\n  @include context-menu-button;\n  background: var(--newtab-card-background-color);\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: var(--newtab-card-shadow);\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: var(--newtab-link-primary-color);\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: var(--newtab-link-primary-color);\n    }\n\n    .alternate ~ .card-host-name {\n      display: none;\n    }\n\n    .card-host-name.alternate {\n      display: block;\n    }\n  }\n\n  .card-preview-image-outer {\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid var(--newtab-card-hairline-color);\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: var(--newtab-text-secondary-color);\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-host-name.alternate { display: none; }\n\n  .card-download-icon {\n    float: inline-end;\n    margin-inline-start: 15px;\n    margin-top: 2px;\n\n    &.icon-download-folder {\n      height: $small-download-folder-icon-size;\n      width: $small-download-folder-icon-size;\n    }\n  }\n\n  .card-title {\n    font-size: 14px;\n    font-weight: 600;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: var(--newtab-text-tertiary-color);\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 9px 16px 9px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: var(--newtab-icon-tertiary-color);\n    height: 22px;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: 22px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\n  $line-height: 23px;\n\n  .card-outer {\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n\n      .card-preview-image-outer {\n        height: $card-preview-image-height-large;\n      }\n\n      .card-details {\n        padding: 13px 16px 12px;\n      }\n\n      .card-text {\n        max-height: 6 * $line-height + $card-title-margin;\n      }\n\n      .card-host-name {\n        font-size: 12px;\n        padding-bottom: 5px;\n      }\n\n      .card-download-icon {\n        &.icon-download-folder {\n          height: $large-download-folder-icon-size;\n          width: $large-download-folder-icon-size;\n        }\n      }\n\n      .card-title {\n        font-size: 17px;\n        line-height: $line-height;\n        margin-bottom: 0;\n      }\n\n      .card-text:not(.no-description) {\n        .card-title {\n          max-height: 3 * $line-height;\n        }\n      }\n\n      .card-description {\n        font-size: 15px;\n        line-height: $line-height;\n      }\n\n      .card-context {\n        bottom: 4px;\n        font-size: 14px;\n      }\n    }\n  }\n}\n",
 		".manual-migration-container {\n  color: var(--newtab-text-conditional-color);\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: $section-spacing;\n  text-align: center;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    text-align: left;\n  }\n\n  p {\n    margin: 0;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n\n  .icon {\n    display: none;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: block;\n      fill: var(--newtab-icon-secondary-color);\n      margin-inline-end: 6px;\n    }\n  }\n}\n\n.manual-migration-actions {\n  border: 0;\n  display: block;\n  flex-wrap: nowrap;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    padding: 0;\n  }\n\n  button {\n    align-self: center;\n    height: 26px;\n    margin: 0;\n    margin-inline-start: 20px;\n    padding: 0 12px;\n  }\n}\n",
 		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n  transition-delay: 100ms;\n  transition-duration: 100ms;\n  transition-property: background-color;\n\n  .section-title {\n    font-size: $section-title-font-size;\n    font-weight: bold;\n    margin: 0;\n    text-transform: uppercase;\n\n    span {\n      color: var(--newtab-section-header-text-color);\n      display: inline-block;\n      fill: var(--newtab-section-header-text-color);\n      vertical-align: middle;\n    }\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    height: 19px;\n    margin-bottom: 13px;\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: var(--newtab-section-header-text-color);\n      height: 100%;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n        opacity: 1;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: var(--newtab-element-hover-color);\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: var(--newtab-section-active-contextmenu-color);\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: var(--newtab-text-conditional-color);\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: var(--newtab-link-primary-color);\n      font-weight: bold;\n      padding-left: 3px;\n    }\n\n    button {\n      background: var(--newtab-button-secondary-color);\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n",
-		"\n.messages-admin {\n  $monospace: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', 'Droid Sans Mono', 'Source Code Pro', monospace;\n  max-width: 996px;\n  margin: 0 auto;\n  font-size: 14px;\n  // Reset .outer-wrapper styles\n  display: inherit;\n  padding: 0;\n\n  h1 {\n    font-weight: 200;\n    font-size: 32px;\n  }\n\n  table {\n    border-collapse: collapse;\n    width: 100%;\n  }\n\n  .message-item {\n    &:first-child td {\n      border-top: 1px solid $black-10;\n    }\n\n    td {\n      vertical-align: top;\n      border-bottom: 1px solid $black-10;\n      padding: 8px;\n\n      &:first-child {\n        border-left: 1px solid $black-10;\n      }\n\n      &:last-child {\n        border-right: 1px solid $black-10;\n      }\n    }\n\n    &.current {\n      .message-id span {\n        background: $yellow-50;\n        padding: 2px 5px;\n      }\n    }\n\n    &.blocked {\n      .message-id,\n      .message-summary {\n        opacity: 0.5;\n      }\n\n      .message-id {\n        color: $grey-90;\n      }\n    }\n\n    .message-id {\n      font-family: $monospace;\n      font-size: 12px;\n    }\n  }\n\n  pre {\n    background: $white;\n    margin: 0;\n    padding: 8px;\n    font-size: 12px;\n    max-width: 750px;\n    overflow: auto;\n    font-family: $monospace;\n  }\n}\n"
+		"\n.asrouter-admin {\n  $border-color: var(--newtab-border-secondary-color);\n  $monospace: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', 'Droid Sans Mono', 'Source Code Pro', monospace;\n  max-width: 996px;\n  margin: 0 auto;\n  font-size: 14px;\n  // Reset .outer-wrapper styles\n  display: inherit;\n  padding: 0 0 42px;\n\n  h1 {\n    font-weight: 200;\n    font-size: 32px;\n  }\n\n  table {\n    border-collapse: collapse;\n    width: 100%;\n  }\n\n  .message-item {\n    &:first-child td {\n      border-top: 1px solid $border-color;\n    }\n\n    td {\n      vertical-align: top;\n      border-bottom: 1px solid $border-color;\n      padding: 8px;\n\n      &:first-child {\n        border-left: 1px solid $border-color;\n      }\n\n      &:last-child {\n        border-right: 1px solid $border-color;\n      }\n    }\n\n    &.current {\n      .message-id span {\n        background: $yellow-50;\n        padding: 2px 5px;\n\n        .dark-theme & {\n          color: $black;\n        }\n      }\n    }\n\n    &.blocked {\n      .message-id,\n      .message-summary {\n        opacity: 0.5;\n      }\n\n      .message-id {\n        opacity: 0.5;\n      }\n    }\n\n    .message-id {\n      font-family: $monospace;\n      font-size: 12px;\n    }\n  }\n\n  pre {\n    background: var(--newtab-textbox-background-color);\n    margin: 0;\n    padding: 8px;\n    font-size: 12px;\n    max-width: 750px;\n    overflow: auto;\n    font-family: $monospace;\n  }\n}\n",
+		".ASRouterButton {\n  white-space: nowrap;\n  border-radius: 4px;\n  border: 1px solid var(--newtab-border-secondary-color);\n  background-color: var(--newtab-button-secondary-color);\n  font-family: inherit;\n  padding: 8px 15px;\n  margin-left: 12px;\n  color: inherit;\n}\n",
+		".SnippetBaseContainer {\n  position: fixed;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  background-color: var(--newtab-snippets-background-color);\n  color: var(--newtab-text-primary-color);\n  font-size: 12px;\n  line-height: 16px;\n  border-top: 1px solid var(--newtab-snippets-hairline-color);\n  box-shadow: $shadow-secondary;\n  display: flex;\n  align-items: center;\n\n  .innerWrapper {\n    margin: 0 auto;\n    display: flex;\n    align-items: center;\n    padding: 12px $section-horizontal-padding;\n\n    // This is to account for the block button on smaller screens\n    padding-inline-end: 36px;\n    @media (min-width: $break-point-large) {\n      padding-inline-end: $section-horizontal-padding;\n    }\n\n    max-width: $wrapper-max-width-large;\n    @media (min-width: $break-point-widest) {\n      max-width: $wrapper-max-width-widest;\n    }\n  }\n\n  .blockButton {\n    display: none;\n    background: none;\n    border: 0;\n    position: absolute;\n    top: 50%;\n    offset-inline-end: 12px;\n    height: 16px;\n    width: 16px;\n    background-image: url('resource://activity-stream/data/content/assets/glyph-dismiss-16.svg');\n    -moz-context-properties: fill;\n    fill: var(--newtab-icon-primary-color);\n    opacity: 0.5;\n    margin-top: -8px;\n    padding: 0;\n    cursor: pointer;\n\n    @media (min-width: 766px) {\n      offset-inline-end: 24px;\n    }\n  }\n\n  &:hover .blockButton {\n    display: block;\n  }\n}\n",
+		".SimpleSnippet {\n  .title {\n    display: inline;\n    font-size: inherit;\n    margin: 0;\n  }\n\n  .body {\n    display: inline;\n    margin: 0;\n  }\n\n  .icon {\n    height: 42px;\n    width: 42px;\n    margin-inline-end: 12px;\n    flex-shrink: 0;\n  }\n}\n"
 	],
 	"names": [],
-	"mappings": "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"
+	"mappings": "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"
 }
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-mac.css
+++ b/browser/extensions/activity-stream/css/activity-stream-mac.css
@@ -56,21 +56,24 @@ body {
   --newtab-section-header-text-color: #737373;
   --newtab-section-navigation-text-color: #737373;
   --newtab-section-active-contextmenu-color: #0C0C0D;
   --newtab-search-border-color: transparent;
   --newtab-search-dropdown-color: #FFF;
   --newtab-search-dropdown-header-color: #F9F9FA;
   --newtab-search-icon-color: rgba(12, 12, 13, 0.4);
   --newtab-topsites-background-color: #FFF;
+  --newtab-topsites-icon-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color);
   --newtab-topsites-label-color: inherit;
   --newtab-card-active-outline-color: #D7D7DB;
   --newtab-card-background-color: #FFF;
   --newtab-card-hairline-color: rgba(0, 0, 0, 0.1);
-  --newtab-card-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1); }
+  --newtab-card-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+  --newtab-snippets-background-color: #FFF;
+  --newtab-snippets-hairline-color: transparent; }
 
 .dark-theme {
   --newtab-background-color: #2A2A2E;
   --newtab-border-primary-color: rgba(249, 249, 250, 0.8);
   --newtab-border-secondary-color: rgba(249, 249, 250, 0.1);
   --newtab-button-primary-color: #0060DF;
   --newtab-button-secondary-color: #38383D;
   --newtab-element-active-color: rgba(249, 249, 250, 0.2);
@@ -96,21 +99,24 @@ body {
   --newtab-section-header-text-color: rgba(249, 249, 250, 0.8);
   --newtab-section-navigation-text-color: rgba(249, 249, 250, 0.8);
   --newtab-section-active-contextmenu-color: #FFF;
   --newtab-search-border-color: rgba(249, 249, 250, 0.2);
   --newtab-search-dropdown-color: #38383D;
   --newtab-search-dropdown-header-color: #4A4A4F;
   --newtab-search-icon-color: rgba(249, 249, 250, 0.6);
   --newtab-topsites-background-color: #38383D;
+  --newtab-topsites-icon-shadow: none;
   --newtab-topsites-label-color: rgba(249, 249, 250, 0.8);
   --newtab-card-active-outline-color: #4A4A4F;
   --newtab-card-background-color: #38383D;
   --newtab-card-hairline-color: rgba(249, 249, 250, 0.1);
-  --newtab-card-shadow: 0 1px 8px 0 rgba(12, 12, 13, 0.2); }
+  --newtab-card-shadow: 0 1px 8px 0 rgba(12, 12, 13, 0.2);
+  --newtab-snippets-background-color: #38383D;
+  --newtab-snippets-hairline-color: rgba(255, 255, 255, 0.1); }
 
 .icon {
   background-position: center center;
   background-repeat: no-repeat;
   background-size: 16px;
   -moz-context-properties: fill;
   display: inline-block;
   fill: var(--newtab-icon-primary-color);
@@ -128,16 +134,17 @@ body {
   .icon.icon-clear-input {
     fill: var(--newtab-icon-secondary-color);
     background-image: url("../data/content/assets/glyph-cancel-16.svg"); }
   .icon.icon-delete {
     background-image: url("../data/content/assets/glyph-delete-16.svg"); }
   .icon.icon-search {
     background-image: url("chrome://browser/skin/search-glass.svg"); }
   .icon.icon-modal-delete {
+    flex-shrink: 0;
     background-image: url("../data/content/assets/glyph-modal-delete-32.svg");
     background-size: 32px;
     height: 32px;
     width: 32px; }
   .icon.icon-dismiss {
     background-image: url("../data/content/assets/glyph-dismiss-16.svg"); }
   .icon.icon-info {
     background-image: url("../data/content/assets/glyph-info-16.svg"); }
@@ -518,17 +525,17 @@ main {
     width: 100%; }
     .top-site-outer .screenshot.active {
       opacity: 1; }
   .top-site-outer .top-site-icon {
     background-color: var(--newtab-topsites-background-color);
     background-position: center center;
     background-repeat: no-repeat;
     border-radius: 6px;
-    box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color);
+    box-shadow: var(--newtab-topsites-icon-shadow);
     position: absolute; }
   .top-site-outer .rich-icon {
     background-size: cover;
     height: 100%;
     offset-inline-start: 0;
     top: 0;
     width: 100%; }
   .top-site-outer .default-icon {
@@ -684,31 +691,31 @@ main {
 
 @keyframes tab-throbber-animation-rtl {
   100% {
     transform: translateX(960px); } }
       .topsite-form .form-wrapper .custom-image-input-container .loading-animation:dir(rtl) {
         animation-name: tab-throbber-animation-rtl; }
   .topsite-form .form-wrapper input[type='text'] {
     background-color: var(--newtab-textbox-background-color);
-    border: solid 1px var(--newtab-textbox-border);
+    border: 1px solid var(--newtab-textbox-border);
     margin: 8px 0;
     padding: 0 8px;
     height: 32px;
     width: 100%;
     font-size: 15px; }
     .topsite-form .form-wrapper input[type='text']:focus {
-      border: solid 1px var(--newtab-textbox-focus-color);
+      border: 1px solid var(--newtab-textbox-focus-color);
       box-shadow: var(--newtab-textbox-focus-boxshadow); }
     .topsite-form .form-wrapper input[type='text'][disabled] {
-      border: solid 1px var(--newtab-textbox-border);
+      border: 1px solid var(--newtab-textbox-border);
       box-shadow: none;
       opacity: 0.4; }
   .topsite-form .form-wrapper .invalid input[type='text'] {
-    border: solid 1px #D70022;
+    border: 1px solid #D70022;
     box-shadow: 0 0 0 1px #D70022, 0 0 0 4px rgba(215, 0, 34, 0.3); }
   .topsite-form .form-wrapper .error-tooltip {
     animation: fade-up-tt 450ms;
     background: #D70022;
     border-radius: 2px;
     color: #FFF;
     offset-inline-start: 3px;
     padding: 5px 12px;
@@ -881,17 +888,17 @@ main {
     padding-inline-start: 34px;
     width: 100%; }
     .search-wrapper input:dir(rtl) {
       background-position-x: right 8px; }
   .search-wrapper:hover input {
     box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.25); }
   .search-wrapper:active input,
   .search-wrapper input:focus {
-    border: solid 1px var(--newtab-textbox-focus-color);
+    border: 1px solid var(--newtab-textbox-focus-color);
     box-shadow: var(--newtab-textbox-focus-boxshadow); }
   .search-wrapper .search-button {
     background: url("chrome://browser/skin/forward.svg") no-repeat center center;
     background-size: 16px 16px;
     border: 0;
     border-radius: 0 3px 3px 0;
     -moz-context-properties: fill;
     fill: var(--newtab-search-icon-color);
@@ -932,28 +939,23 @@ main {
     .contentSearchSuggestionTable .contentSearchSuggestionRow.selected:active {
       background: var(--newtab-element-active-color); }
     .contentSearchSuggestionTable .contentSearchSuggestionRow.selected .historyIcon {
       fill: var(--newtab-icon-secondary-color); }
   .contentSearchSuggestionTable .contentSearchOneOffsTable .contentSearchSuggestionsContainer {
     background-color: var(--newtab-search-dropdown-header-color); }
   .contentSearchSuggestionTable .contentSearchOneOffItem {
     background-image: none;
+    border-image: linear-gradient(transparent 18%, var(--newtab-border-secondary-color) 18%, var(--newtab-border-secondary-color) 82%, transparent 82%) 1;
+    border-inline-end: 1px solid;
     position: relative; }
     .contentSearchSuggestionTable .contentSearchOneOffItem.selected {
       background: var(--newtab-element-hover-color); }
     .contentSearchSuggestionTable .contentSearchOneOffItem:active {
       background: var(--newtab-element-active-color); }
-    .contentSearchSuggestionTable .contentSearchOneOffItem::after {
-      border-right: solid 1px var(--newtab-border-secondary-color);
-      content: '';
-      height: 22px;
-      offset-inline-end: 0;
-      position: absolute;
-      top: 5px; }
   .contentSearchSuggestionTable .contentSearchSettingsButton:hover {
     background: var(--newtab-element-hover-color);
     color: var(--newtab-text-primary-color); }
 
 .context-menu {
   background: var(--newtab-contextmenu-background-color);
   border-radius: 5px;
   box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.2);
@@ -1366,51 +1368,126 @@ main {
   .collapsible-section.animation-enabled .section-title .collapsible-arrow {
     transition: transform 0.5s cubic-bezier(0.07, 0.95, 0, 1); }
   .collapsible-section.animation-enabled .section-body {
     transition: max-height 0.5s cubic-bezier(0.07, 0.95, 0, 1); }
   .collapsible-section.collapsed .section-body {
     max-height: 0;
     overflow: hidden; }
 
-.messages-admin {
+.asrouter-admin {
   max-width: 996px;
   margin: 0 auto;
   font-size: 14px;
   display: inherit;
-  padding: 0; }
-  .messages-admin h1 {
+  padding: 0 0 42px; }
+  .asrouter-admin h1 {
     font-weight: 200;
     font-size: 32px; }
-  .messages-admin table {
+  .asrouter-admin table {
     border-collapse: collapse;
     width: 100%; }
-  .messages-admin .message-item:first-child td {
-    border-top: 1px solid rgba(0, 0, 0, 0.1); }
-  .messages-admin .message-item td {
+  .asrouter-admin .message-item:first-child td {
+    border-top: 1px solid var(--newtab-border-secondary-color); }
+  .asrouter-admin .message-item td {
     vertical-align: top;
-    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+    border-bottom: 1px solid var(--newtab-border-secondary-color);
     padding: 8px; }
-    .messages-admin .message-item td:first-child {
-      border-left: 1px solid rgba(0, 0, 0, 0.1); }
-    .messages-admin .message-item td:last-child {
-      border-right: 1px solid rgba(0, 0, 0, 0.1); }
-  .messages-admin .message-item.current .message-id span {
+    .asrouter-admin .message-item td:first-child {
+      border-left: 1px solid var(--newtab-border-secondary-color); }
+    .asrouter-admin .message-item td:last-child {
+      border-right: 1px solid var(--newtab-border-secondary-color); }
+  .asrouter-admin .message-item.current .message-id span {
     background: #FFE900;
     padding: 2px 5px; }
-  .messages-admin .message-item.blocked .message-id,
-  .messages-admin .message-item.blocked .message-summary {
+    .dark-theme .asrouter-admin .message-item.current .message-id span {
+      color: #000; }
+  .asrouter-admin .message-item.blocked .message-id,
+  .asrouter-admin .message-item.blocked .message-summary {
     opacity: 0.5; }
-  .messages-admin .message-item.blocked .message-id {
-    color: #0C0C0D; }
-  .messages-admin .message-item .message-id {
+  .asrouter-admin .message-item.blocked .message-id {
+    opacity: 0.5; }
+  .asrouter-admin .message-item .message-id {
     font-family: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace;
     font-size: 12px; }
-  .messages-admin pre {
-    background: #FFF;
+  .asrouter-admin pre {
+    background: var(--newtab-textbox-background-color);
     margin: 0;
     padding: 8px;
     font-size: 12px;
     max-width: 750px;
     overflow: auto;
     font-family: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace; }
 
+.ASRouterButton {
+  white-space: nowrap;
+  border-radius: 4px;
+  border: 1px solid var(--newtab-border-secondary-color);
+  background-color: var(--newtab-button-secondary-color);
+  font-family: inherit;
+  padding: 8px 15px;
+  margin-left: 12px;
+  color: inherit; }
+
+.SnippetBaseContainer {
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  background-color: var(--newtab-snippets-background-color);
+  color: var(--newtab-text-primary-color);
+  font-size: 12px;
+  line-height: 16px;
+  border-top: 1px solid var(--newtab-snippets-hairline-color);
+  box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.2);
+  display: flex;
+  align-items: center; }
+  .SnippetBaseContainer .innerWrapper {
+    margin: 0 auto;
+    display: flex;
+    align-items: center;
+    padding: 12px 25px;
+    padding-inline-end: 36px;
+    max-width: 786px; }
+    @media (min-width: 866px) {
+      .SnippetBaseContainer .innerWrapper {
+        padding-inline-end: 25px; } }
+    @media (min-width: 1122px) {
+      .SnippetBaseContainer .innerWrapper {
+        max-width: 1042px; } }
+  .SnippetBaseContainer .blockButton {
+    display: none;
+    background: none;
+    border: 0;
+    position: absolute;
+    top: 50%;
+    offset-inline-end: 12px;
+    height: 16px;
+    width: 16px;
+    background-image: url("resource://activity-stream/data/content/assets/glyph-dismiss-16.svg");
+    -moz-context-properties: fill;
+    fill: var(--newtab-icon-primary-color);
+    opacity: 0.5;
+    margin-top: -8px;
+    padding: 0;
+    cursor: pointer; }
+    @media (min-width: 766px) {
+      .SnippetBaseContainer .blockButton {
+        offset-inline-end: 24px; } }
+  .SnippetBaseContainer:hover .blockButton {
+    display: block; }
+
+.SimpleSnippet .title {
+  display: inline;
+  font-size: inherit;
+  margin: 0; }
+
+.SimpleSnippet .body {
+  display: inline;
+  margin: 0; }
+
+.SimpleSnippet .icon {
+  height: 42px;
+  width: 42px;
+  margin-inline-end: 12px;
+  flex-shrink: 0; }
+
 /*# sourceMappingURL=activity-stream-mac.css.map */
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-mac.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-mac.css.map
@@ -14,33 +14,39 @@
 		"../content-src/components/Sections/_Sections.scss",
 		"../content-src/components/Topics/_Topics.scss",
 		"../content-src/components/Search/_Search.scss",
 		"../content-src/components/ContextMenu/_ContextMenu.scss",
 		"../content-src/components/ConfirmDialog/_ConfirmDialog.scss",
 		"../content-src/components/Card/_Card.scss",
 		"../content-src/components/ManualMigration/_ManualMigration.scss",
 		"../content-src/components/CollapsibleSection/_CollapsibleSection.scss",
-		"../content-src/components/MessageCenterAdmin/MessageCenterAdmin.scss"
+		"../content-src/components/ASRouterAdmin/ASRouterAdmin.scss",
+		"../content-src/asrouter/components/Button/_Button.scss",
+		"../content-src/asrouter/components/SnippetBase/_SnippetBase.scss",
+		"../content-src/asrouter/templates/SimpleSnippet/_SimpleSnippet.scss"
 	],
 	"sourcesContent": [
 		"/* This is the mac variant */ // sass-lint:disable-line no-css-comments\n\n$os-infopanel-arrow-height: 10px;\n$os-infopanel-arrow-offset-end: 7px;\n$os-infopanel-arrow-width: 18px;\n\n.dark-theme {\n  -moz-osx-font-smoothing: grayscale;\n}\n\n@import './activity-stream';\n",
-		"@import './normalize';\n@import './variables';\n@import './theme';\n@import './icons';\n\nhtml {\n  height: 100%;\n}\n\nbody,\n#root { // sass-lint:disable-line no-ids\n  min-height: 100vh;\n}\n\nbody {\n  background-color: var(--newtab-background-color);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  text-decoration: none;\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n}\n\n// Default button (grey)\n.button,\n.actions button {\n  background-color: var(--newtab-button-secondary-color);\n  border: $border-primary;\n  border-radius: 4px;\n  color: inherit;\n  cursor: pointer;\n  margin-bottom: 15px;\n  padding: 10px 30px;\n  white-space: nowrap;\n\n  &:hover:not(.dismiss) {\n    box-shadow: $shadow-primary;\n    transition: box-shadow 150ms;\n  }\n\n  &.dismiss {\n    background-color: transparent;\n    border: 0;\n    padding: 0;\n    text-decoration: underline;\n  }\n\n  // Blue button\n  &.primary,\n  &.done {\n    background-color: var(--newtab-button-primary-color);\n    border: solid 1px var(--newtab-button-primary-color);\n    color: $white;\n    margin-inline-start: auto;\n  }\n}\n\ninput {\n  &[type='text'],\n  &[type='search'] {\n    border-radius: $border-radius;\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n@import '../components/MessageCenterAdmin/MessageCenterAdmin';\n",
+		"@import './normalize';\n@import './variables';\n@import './theme';\n@import './icons';\n\nhtml {\n  height: 100%;\n}\n\nbody,\n#root { // sass-lint:disable-line no-ids\n  min-height: 100vh;\n}\n\nbody {\n  background-color: var(--newtab-background-color);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  text-decoration: none;\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n}\n\n// Default button (grey)\n.button,\n.actions button {\n  background-color: var(--newtab-button-secondary-color);\n  border: $border-primary;\n  border-radius: 4px;\n  color: inherit;\n  cursor: pointer;\n  margin-bottom: 15px;\n  padding: 10px 30px;\n  white-space: nowrap;\n\n  &:hover:not(.dismiss) {\n    box-shadow: $shadow-primary;\n    transition: box-shadow 150ms;\n  }\n\n  &.dismiss {\n    background-color: transparent;\n    border: 0;\n    padding: 0;\n    text-decoration: underline;\n  }\n\n  // Blue button\n  &.primary,\n  &.done {\n    background-color: var(--newtab-button-primary-color);\n    border: solid 1px var(--newtab-button-primary-color);\n    color: $white;\n    margin-inline-start: auto;\n  }\n}\n\ninput {\n  &[type='text'],\n  &[type='search'] {\n    border-radius: $border-radius;\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n@import '../components/ASRouterAdmin/ASRouterAdmin';\n\n// AS Router\n@import '../asrouter/components/Button/Button';\n@import '../asrouter/components/SnippetBase/SnippetBase';\n@import '../asrouter/templates/SimpleSnippet/SimpleSnippet';\n",
 		"html {\n  box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n*::-moz-focus-inner {\n  border: 0;\n}\n\nbody {\n  margin: 0;\n}\n\nbutton,\ninput {\n  background-color: inherit;\n  color: inherit;\n  font-family: inherit;\n  font-size: inherit;\n}\n\n[hidden] {\n  display: none !important; // sass-lint:disable-line no-important\n}\n",
-		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-40: #45A1FF;\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$blue-70: #003EAA;\n$blue-80: #002275;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-70: #38383D;\n$grey-80: #2A2A2E;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n$yellow-50: #FFE900;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-10-10: rgba($grey-10, 0.1);\n$grey-10-20: rgba($grey-10, 0.2);\n$grey-10-40: rgba($grey-10, 0.4);\n$grey-10-60: rgba($grey-10, 0.6);\n$grey-10-80: rgba($grey-10, 0.8);\n$grey-20-60: rgba($grey-20, 0.6);\n$grey-20-80: rgba($grey-20, 0.8);\n$grey-30-60: rgba($grey-30, 0.6);\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Other colors\n$white: #FFF;\n$pocket-teal: #50BCB6;\n\n$border-radius: 3px;\n\n// Grid related styles\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$small-download-folder-icon-size: 36px;\n$large-download-folder-icon-size: $small-download-folder-icon-size * 1.5;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $black-20;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n$textbox-shadow-size: 4px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: var(--newtab-contextmenu-button-color);\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
-		"@function textbox-shadow($color) {\n  @return 0 0 0 1px $color, 0 0 0 $textbox-shadow-size rgba($color, 0.3);\n}\n\n@mixin textbox-focus($color) {\n  --newtab-textbox-focus-color: $color;\n  --newtab-textbox-focus-boxshadow: textbox-shadow($color);\n}\n\n// Default theme\nbody {\n  // General styles\n  --newtab-background-color: $grey-10;\n  --newtab-border-primary-color: $grey-40;\n  --newtab-border-secondary-color: $grey-30;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: inherit;\n  --newtab-element-active-color: $grey-30-60;\n  --newtab-element-hover-color: $grey-20;\n  --newtab-icon-primary-color: $grey-90-80;\n  --newtab-icon-secondary-color: $grey-90-60;\n  --newtab-icon-tertiary-color: $grey-30;\n  --newtab-inner-box-shadow-color: $black-10;\n  --newtab-link-primary-color: $blue-60;\n  --newtab-link-secondary-color: $teal-70;\n  --newtab-text-conditional-color: $grey-60;\n  --newtab-text-primary-color: $grey-90;\n  --newtab-text-secondary-color: $grey-50;\n  --newtab-text-tertiary-color: $grey-50;\n  --newtab-textbox-background-color: $white;\n  --newtab-textbox-border: $grey-90-20;\n  @include textbox-focus($blue-60); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-10;\n  --newtab-contextmenu-button-color: $white;\n\n  // Modal + overlay\n  --newtab-modal-color: $white;\n  --newtab-overlay-color: $grey-20-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-50;\n  --newtab-section-navigation-text-color: $grey-50;\n  --newtab-section-active-contextmenu-color: $grey-90;\n\n  // Search\n  --newtab-search-border-color: transparent;\n  --newtab-search-dropdown-color: $white;\n  --newtab-search-dropdown-header-color: $grey-10;\n  --newtab-search-icon-color: $grey-90-40;\n\n  // Top Sites\n  --newtab-topsites-background-color: $white;\n  --newtab-topsites-label-color: inherit;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-30;\n  --newtab-card-background-color: $white;\n  --newtab-card-hairline-color: $black-10;\n  --newtab-card-shadow: 0 1px 4px 0 $grey-90-10;\n}\n\n// Dark theme\n.dark-theme {\n  // General styles\n  --newtab-background-color: $grey-80;\n  --newtab-border-primary-color: $grey-10-80;\n  --newtab-border-secondary-color: $grey-10-10;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: $grey-70;\n  --newtab-element-active-color: $grey-10-20;\n  --newtab-element-hover-color: $grey-10-10;\n  --newtab-icon-primary-color: $grey-10-80;\n  --newtab-icon-secondary-color: $grey-10-40;\n  --newtab-icon-tertiary-color: $grey-10-40;\n  --newtab-inner-box-shadow-color: $grey-10-20;\n  --newtab-link-primary-color: $blue-40;\n  --newtab-link-secondary-color: $pocket-teal;\n  --newtab-text-conditional-color: $grey-10;\n  --newtab-text-primary-color: $grey-10;\n  --newtab-text-secondary-color: $grey-10-80;\n  --newtab-text-tertiary-color: $grey-10-60;\n  --newtab-textbox-background-color: $grey-70;\n  --newtab-textbox-border: $grey-10-20;\n  @include textbox-focus($blue-40); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-60;\n  --newtab-contextmenu-button-color: $grey-80;\n\n  // Modal + overlay\n  --newtab-modal-color: $grey-80;\n  --newtab-overlay-color: $grey-90-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-10-80;\n  --newtab-section-navigation-text-color: $grey-10-80;\n  --newtab-section-active-contextmenu-color: $white;\n\n  // Search\n  --newtab-search-border-color: $grey-10-20;\n  --newtab-search-dropdown-color: $grey-70;\n  --newtab-search-dropdown-header-color: $grey-60;\n  --newtab-search-icon-color: $grey-10-60;\n\n  // Top Sites\n  --newtab-topsites-background-color: $grey-70;\n  --newtab-topsites-label-color: $grey-10-80;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-60;\n  --newtab-card-background-color: $grey-70;\n  --newtab-card-hairline-color: $grey-10-10;\n  --newtab-card-shadow: 0 1px 8px 0 $grey-90-20;\n}\n\n// scss variables related to the theme.\n$border-primary: 1px solid var(--newtab-border-primary-color);\n$border-secondary: 1px solid var(--newtab-border-secondary-color);\n$shadow-primary: 0 0 0 5px var(--newtab-card-active-outline-color);\n$shadow-secondary: 0 1px 4px 0 $grey-90-20;\n$input-border: solid 1px var(--newtab-textbox-border);\n$input-border-active: solid 1px var(--newtab-textbox-focus-color);\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: textbox-shadow($red-60);\n$inner-box-shadow: 0 0 0 1px var(--newtab-inner-box-shadow-color);\n",
-		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: var(--newtab-icon-primary-color);\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: var(--newtab-icon-secondary-color);\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-search {\n    background-image: url('chrome://browser/skin/search-glass.svg');\n  }\n\n  &.icon-modal-delete {\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-historyItem { // sass-lint:disable-line class-name-format\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-download {\n    background-image: url('chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar');\n  }\n\n  &.icon-copy {\n    background-image: url('chrome://browser/skin/edit-copy.svg');\n  }\n\n  &.icon-open-file {\n    background-image: url('#{$image-path}glyph-open-file-16.svg');\n  }\n\n  &.icon-download-folder {\n    background-image: url('#{$image-path}glyph-download-icon.svg');\n    background-size: 100%;\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
+		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-40: #45A1FF;\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$blue-70: #003EAA;\n$blue-80: #002275;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-70: #38383D;\n$grey-80: #2A2A2E;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n$yellow-50: #FFE900;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-10-10: rgba($grey-10, 0.1);\n$grey-10-20: rgba($grey-10, 0.2);\n$grey-10-40: rgba($grey-10, 0.4);\n$grey-10-60: rgba($grey-10, 0.6);\n$grey-10-80: rgba($grey-10, 0.8);\n$grey-20-60: rgba($grey-20, 0.6);\n$grey-20-80: rgba($grey-20, 0.8);\n$grey-30-60: rgba($grey-30, 0.6);\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Other colors\n$white: #FFF;\n$white-10: rgba($white, 0.1);\n$pocket-teal: #50BCB6;\n\n$border-radius: 3px;\n\n// Grid related styles\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$small-download-folder-icon-size: 36px;\n$large-download-folder-icon-size: $small-download-folder-icon-size * 1.5;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $black-20;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n$textbox-shadow-size: 4px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: var(--newtab-contextmenu-button-color);\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
+		"@function textbox-shadow($color) {\n  @return 0 0 0 1px $color, 0 0 0 $textbox-shadow-size rgba($color, 0.3);\n}\n\n@mixin textbox-focus($color) {\n  --newtab-textbox-focus-color: $color;\n  --newtab-textbox-focus-boxshadow: textbox-shadow($color);\n}\n\n// scss variables related to the theme.\n$border-primary: 1px solid var(--newtab-border-primary-color);\n$border-secondary: 1px solid var(--newtab-border-secondary-color);\n$inner-box-shadow: 0 0 0 1px var(--newtab-inner-box-shadow-color);\n$input-border: 1px solid var(--newtab-textbox-border);\n$input-border-active: 1px solid var(--newtab-textbox-focus-color);\n$input-error-border: 1px solid $red-60;\n$input-error-boxshadow: textbox-shadow($red-60);\n$shadow-primary: 0 0 0 5px var(--newtab-card-active-outline-color);\n$shadow-secondary: 0 1px 4px 0 $grey-90-20;\n\n// Default theme\nbody {\n  // General styles\n  --newtab-background-color: $grey-10;\n  --newtab-border-primary-color: $grey-40;\n  --newtab-border-secondary-color: $grey-30;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: inherit;\n  --newtab-element-active-color: $grey-30-60;\n  --newtab-element-hover-color: $grey-20;\n  --newtab-icon-primary-color: $grey-90-80;\n  --newtab-icon-secondary-color: $grey-90-60;\n  --newtab-icon-tertiary-color: $grey-30;\n  --newtab-inner-box-shadow-color: $black-10;\n  --newtab-link-primary-color: $blue-60;\n  --newtab-link-secondary-color: $teal-70;\n  --newtab-text-conditional-color: $grey-60;\n  --newtab-text-primary-color: $grey-90;\n  --newtab-text-secondary-color: $grey-50;\n  --newtab-text-tertiary-color: $grey-50;\n  --newtab-textbox-background-color: $white;\n  --newtab-textbox-border: $grey-90-20;\n  @include textbox-focus($blue-60); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-10;\n  --newtab-contextmenu-button-color: $white;\n\n  // Modal + overlay\n  --newtab-modal-color: $white;\n  --newtab-overlay-color: $grey-20-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-50;\n  --newtab-section-navigation-text-color: $grey-50;\n  --newtab-section-active-contextmenu-color: $grey-90;\n\n  // Search\n  --newtab-search-border-color: transparent;\n  --newtab-search-dropdown-color: $white;\n  --newtab-search-dropdown-header-color: $grey-10;\n  --newtab-search-icon-color: $grey-90-40;\n\n  // Top Sites\n  --newtab-topsites-background-color: $white;\n  --newtab-topsites-icon-shadow: inset $inner-box-shadow;\n  --newtab-topsites-label-color: inherit;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-30;\n  --newtab-card-background-color: $white;\n  --newtab-card-hairline-color: $black-10;\n  --newtab-card-shadow: 0 1px 4px 0 $grey-90-10;\n\n  // Snippets\n  --newtab-snippets-background-color: $white;\n  --newtab-snippets-hairline-color: transparent;\n}\n\n// Dark theme\n.dark-theme {\n  // General styles\n  --newtab-background-color: $grey-80;\n  --newtab-border-primary-color: $grey-10-80;\n  --newtab-border-secondary-color: $grey-10-10;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: $grey-70;\n  --newtab-element-active-color: $grey-10-20;\n  --newtab-element-hover-color: $grey-10-10;\n  --newtab-icon-primary-color: $grey-10-80;\n  --newtab-icon-secondary-color: $grey-10-40;\n  --newtab-icon-tertiary-color: $grey-10-40;\n  --newtab-inner-box-shadow-color: $grey-10-20;\n  --newtab-link-primary-color: $blue-40;\n  --newtab-link-secondary-color: $pocket-teal;\n  --newtab-text-conditional-color: $grey-10;\n  --newtab-text-primary-color: $grey-10;\n  --newtab-text-secondary-color: $grey-10-80;\n  --newtab-text-tertiary-color: $grey-10-60;\n  --newtab-textbox-background-color: $grey-70;\n  --newtab-textbox-border: $grey-10-20;\n  @include textbox-focus($blue-40); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-60;\n  --newtab-contextmenu-button-color: $grey-80;\n\n  // Modal + overlay\n  --newtab-modal-color: $grey-80;\n  --newtab-overlay-color: $grey-90-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-10-80;\n  --newtab-section-navigation-text-color: $grey-10-80;\n  --newtab-section-active-contextmenu-color: $white;\n\n  // Search\n  --newtab-search-border-color: $grey-10-20;\n  --newtab-search-dropdown-color: $grey-70;\n  --newtab-search-dropdown-header-color: $grey-60;\n  --newtab-search-icon-color: $grey-10-60;\n\n  // Top Sites\n  --newtab-topsites-background-color: $grey-70;\n  --newtab-topsites-icon-shadow: none;\n  --newtab-topsites-label-color: $grey-10-80;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-60;\n  --newtab-card-background-color: $grey-70;\n  --newtab-card-hairline-color: $grey-10-10;\n  --newtab-card-shadow: 0 1px 8px 0 $grey-90-20;\n\n  // Snippets\n  --newtab-snippets-background-color: $grey-70;\n  --newtab-snippets-hairline-color: $white-10;\n}\n",
+		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: var(--newtab-icon-primary-color);\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: var(--newtab-icon-secondary-color);\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-search {\n    background-image: url('chrome://browser/skin/search-glass.svg');\n  }\n\n  &.icon-modal-delete {\n    flex-shrink: 0;\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-historyItem {\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-download {\n    background-image: url('chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar');\n  }\n\n  &.icon-copy {\n    background-image: url('chrome://browser/skin/edit-copy.svg');\n  }\n\n  &.icon-open-file {\n    background-image: url('#{$image-path}glyph-open-file-16.svg');\n  }\n\n  &.icon-download-folder {\n    background-image: url('#{$image-path}glyph-download-icon.svg');\n    background-size: 100%;\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
 		".outer-wrapper {\n  color: var(--newtab-text-primary-color);\n  display: flex;\n  flex-grow: 1;\n  min-height: 100vh;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    display: block;\n  }\n\n  a {\n    color: var(--newtab-link-primary-color);\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.wide-layout-enabled {\n  main {\n    @media (min-width: $break-point-widest) {\n      width: $wrapper-max-width-widest;\n    }\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n\n.prefs-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover,\n    &:focus {\n      background-color: var(--newtab-element-hover-color);\n    }\n\n    &:active {\n      background-color: var(--newtab-element-active-color);\n    }\n  }\n}\n",
 		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: var(--newtab-text-conditional-color);\n  display: flex;\n  flex-direction: column;\n  font-size: $error-fallback-font-size;\n  justify-content: center;\n  justify-items: center;\n  line-height: $error-fallback-line-height;\n\n  a {\n    color: var(--newtab-text-conditional-color);\n    text-decoration: underline;\n  }\n}\n",
-		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, var(--newtab-card-shadow);\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: var(--newtab-text-secondary-color);\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: var(--newtab-topsites-background-color);\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: cover;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    color: var(--newtab-topsites-label-color);\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: var(--newtab-icon-tertiary-color);\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n// Always hide .hide-for-narrow if wide layout is disabled\n.wide-layout-disabled {\n  .top-sites-list {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .top-sites-list {\n    // Eight columns\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(8n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n      :nth-child(8n+7) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media not all and (min-width: $break-point-widest) {\n      .hide-for-narrow {\n        display: none;\n      }\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    box-shadow: $shadow-secondary;\n    left: 0;\n    margin: 0 auto;\n    position: fixed;\n    right: 0;\n    top: 40px;\n    width: $wrapper-default-width;\n\n    @media (min-width: $break-point-small) {\n      width: $wrapper-max-width-small;\n    }\n\n    @media (min-width: $break-point-medium) {\n      width: $wrapper-max-width-medium;\n    }\n\n    @media (min-width: $break-point-large) {\n      width: $wrapper-max-width-large;\n    }\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n    }\n\n    .url {\n      input:dir(ltr) {\n        padding-right: 32px;\n      }\n\n      input:dir(rtl) {\n        padding-left: 32px;\n\n        &:not(:placeholder-shown) {\n          direction: ltr;\n          text-align: right;\n        }\n      }\n    }\n\n    .enable-custom-image-input {\n      display: inline-block;\n      font-size: 13px;\n      margin-top: 4px;\n      cursor: pointer;\n\n      &:hover {\n        text-decoration: underline;\n      }\n    }\n\n    .custom-image-input-container {\n      margin-top: 4px;\n\n      .loading-container {\n        width: 16px;\n        height: 16px;\n        overflow: hidden;\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n\n      // This animation is derived from Firefox's tab loading animation\n      // See https://searchfox.org/mozilla-central/rev/b29daa46443b30612415c35be0a3c9c13b9dc5f6/browser/themes/shared/tabs.inc.css#208-216\n      .loading-animation {\n        @keyframes tab-throbber-animation {\n          100% { transform: translateX(-960px); }\n        }\n\n        @keyframes tab-throbber-animation-rtl {\n          100% { transform: translateX(960px); }\n        }\n\n        width: 960px;\n        height: 16px;\n        -moz-context-properties: fill;\n        fill: $blue-50;\n        background-image: url('chrome://browser/skin/tabbrowser/loading.svg');\n        animation: tab-throbber-animation 1.05s steps(60) infinite;\n\n        &:dir(rtl) {\n          animation-name: tab-throbber-animation-rtl;\n        }\n      }\n    }\n\n    input {\n      &[type='text'] {\n        background-color: var(--newtab-textbox-background-color);\n        border: $input-border;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n        font-size: 15px;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: var(--newtab-textbox-focus-boxshadow);\n        }\n\n        &[disabled] {\n          border: $input-border;\n          box-shadow: none;\n          opacity: 0.4;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
+		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, var(--newtab-card-shadow);\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: var(--newtab-text-secondary-color);\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: var(--newtab-topsites-background-color);\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: var(--newtab-topsites-icon-shadow);\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: cover;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    color: var(--newtab-topsites-label-color);\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: var(--newtab-icon-tertiary-color);\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n// Always hide .hide-for-narrow if wide layout is disabled\n.wide-layout-disabled {\n  .top-sites-list {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .top-sites-list {\n    // Eight columns\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(8n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n      :nth-child(8n+7) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media not all and (min-width: $break-point-widest) {\n      .hide-for-narrow {\n        display: none;\n      }\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    box-shadow: $shadow-secondary;\n    left: 0;\n    margin: 0 auto;\n    position: fixed;\n    right: 0;\n    top: 40px;\n    width: $wrapper-default-width;\n\n    @media (min-width: $break-point-small) {\n      width: $wrapper-max-width-small;\n    }\n\n    @media (min-width: $break-point-medium) {\n      width: $wrapper-max-width-medium;\n    }\n\n    @media (min-width: $break-point-large) {\n      width: $wrapper-max-width-large;\n    }\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n    }\n\n    .url {\n      input:dir(ltr) {\n        padding-right: 32px;\n      }\n\n      input:dir(rtl) {\n        padding-left: 32px;\n\n        &:not(:placeholder-shown) {\n          direction: ltr;\n          text-align: right;\n        }\n      }\n    }\n\n    .enable-custom-image-input {\n      display: inline-block;\n      font-size: 13px;\n      margin-top: 4px;\n      cursor: pointer;\n\n      &:hover {\n        text-decoration: underline;\n      }\n    }\n\n    .custom-image-input-container {\n      margin-top: 4px;\n\n      .loading-container {\n        width: 16px;\n        height: 16px;\n        overflow: hidden;\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n\n      // This animation is derived from Firefox's tab loading animation\n      // See https://searchfox.org/mozilla-central/rev/b29daa46443b30612415c35be0a3c9c13b9dc5f6/browser/themes/shared/tabs.inc.css#208-216\n      .loading-animation {\n        @keyframes tab-throbber-animation {\n          100% { transform: translateX(-960px); }\n        }\n\n        @keyframes tab-throbber-animation-rtl {\n          100% { transform: translateX(960px); }\n        }\n\n        width: 960px;\n        height: 16px;\n        -moz-context-properties: fill;\n        fill: $blue-50;\n        background-image: url('chrome://browser/skin/tabbrowser/loading.svg');\n        animation: tab-throbber-animation 1.05s steps(60) infinite;\n\n        &:dir(rtl) {\n          animation-name: tab-throbber-animation-rtl;\n        }\n      }\n    }\n\n    input {\n      &[type='text'] {\n        background-color: var(--newtab-textbox-background-color);\n        border: $input-border;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n        font-size: 15px;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: var(--newtab-textbox-focus-boxshadow);\n        }\n\n        &[disabled] {\n          border: $input-border;\n          box-shadow: none;\n          opacity: 0.4;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
 		".sections-list {\n  .section-list {\n    display: grid;\n    grid-gap: $base-gutter;\n    grid-template-columns: repeat(auto-fit, $card-width);\n    margin: 0;\n\n    @media (max-width: $break-point-medium) {\n      @include context-menu-open-left;\n    }\n\n    @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n      :nth-child(2n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n  }\n\n  .section-empty-state {\n    border: $border-secondary;\n    border-radius: $border-radius;\n    display: flex;\n    height: $card-height;\n    width: 100%;\n\n    .empty-state {\n      margin: auto;\n      max-width: 350px;\n\n      .empty-state-icon {\n        background-position: center;\n        background-repeat: no-repeat;\n        background-size: 50px 50px;\n        -moz-context-properties: fill;\n        display: block;\n        fill: var(--newtab-icon-secondary-color);\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: var(--newtab-text-primary-color);\n        font-size: 13px;\n        margin-bottom: 0;\n        text-align: center;\n      }\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .sections-list {\n    .section-list {\n      @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n        :nth-child(3n) {\n          @include context-menu-open-left;\n        }\n      }\n\n      @media (min-width: $break-point-widest) {\n        grid-template-columns: repeat(auto-fit, $card-width-large);\n      }\n    }\n  }\n\n  .section-empty-state {\n    height: $card-height-large;\n  }\n}\n",
 		".topic {\n  color: var(--newtab-section-navigation-text-color);\n  font-size: 12px;\n  line-height: 1.6;\n  margin-top: $topic-margin-top;\n\n  @media (min-width: $break-point-large) {\n    line-height: 16px;\n  }\n\n  ul {\n    margin: 0;\n    padding: 0;\n    @media (min-width: $break-point-large) {\n      display: inline;\n      padding-inline-start: 12px;\n    }\n  }\n\n\n  ul li {\n    display: inline-block;\n\n    &::after {\n      content: '•';\n      padding: 8px;\n    }\n\n    &:last-child::after {\n      content: none;\n    }\n  }\n\n  .topic-link {\n    color: var(--newtab-link-secondary-color);\n    font-weight: bold;\n  }\n\n  .topic-read-more {\n    color: var(--newtab-link-secondary-color);\n    font-weight: bold;\n\n    @media (min-width: $break-point-large) {\n      // This is floating to accomodate a very large number of topics and/or\n      // very long topic names due to l10n.\n      float: right;\n\n      &:dir(rtl) {\n        float: left;\n      }\n    }\n\n    &::after {\n      background: url('#{$image-path}topic-show-more-12.svg') no-repeat center center;\n      content: '';\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: var(--newtab-link-secondary-color);\n      height: 16px;\n      margin-inline-start: 5px;\n      vertical-align: top;\n      width: 12px;\n    }\n\n    &:dir(rtl)::after  {\n      transform: scaleX(-1);\n    }\n  }\n\n  // This is a clearfix to for the topics-read-more link which is floating and causes\n  // some jank when we set overflow:hidden for the animation.\n  &::after {\n    clear: both;\n    content: '';\n    display: table;\n  }\n}\n",
-		".search-wrapper {\n  $search-height: 35px;\n  $search-icon-size: 18px;\n  $search-icon-padding: 8px;\n  $search-icon-width: 2 * $search-icon-padding + $search-icon-size;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  margin-bottom: $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    background: var(--newtab-textbox-background-color) var(--newtab-search-icon) $search-icon-padding center / $search-icon-size no-repeat;\n    border: solid 1px var(--newtab-search-border-color);\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-icon-width;\n    width: 100%;\n\n    &:dir(rtl) {\n      background-position-x: right $search-icon-padding;\n    }\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    border: $input-border-active;\n    box-shadow: var(--newtab-textbox-focus-boxshadow);\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n}\n\n@at-root {\n  // Adjust the style of the contentSearchUI-generated table\n  // sass-lint:disable-block class-name-format\n  .contentSearchSuggestionTable {\n    background-color: var(--newtab-search-dropdown-color);\n    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY($textbox-shadow-size);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-search-dropdown-header-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSettingsButton {\n      border-color: var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSuggestionsList {\n      border: 0;\n    }\n\n    .contentSearchOneOffsTable {\n      background-color: var(--newtab-search-dropdown-header-color);\n      border-top: solid 1px var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSearchWithHeaderSearchText {\n      color: var(--newtab-text-primary-color);\n    }\n\n    .contentSearchSuggestionsContainer {\n      background-color: var(--newtab-search-dropdown-color);\n    }\n\n    .contentSearchSuggestionRow {\n      &.selected {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        .historyIcon {\n          fill: var(--newtab-icon-secondary-color);\n        }\n      }\n    }\n\n    .contentSearchOneOffsTable {\n      .contentSearchSuggestionsContainer {\n        background-color: var(--newtab-search-dropdown-header-color);\n      }\n    }\n\n    .contentSearchOneOffItem {\n      background-image: none;\n      position: relative;\n\n      &.selected {\n        background: var(--newtab-element-hover-color);\n      }\n\n      &:active {\n        background: var(--newtab-element-active-color);\n      }\n\n      &::after {\n        border-right: solid 1px var(--newtab-border-secondary-color);\n        content: '';\n        height: 22px;\n        offset-inline-end: 0;\n        position: absolute;\n        top: 5px;\n      }\n    }\n\n    .contentSearchSettingsButton {\n      &:hover {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n      }\n    }\n  }\n}\n",
+		".search-wrapper {\n  $search-height: 35px;\n  $search-icon-size: 18px;\n  $search-icon-padding: 8px;\n  $search-icon-width: 2 * $search-icon-padding + $search-icon-size;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  margin-bottom: $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    background: var(--newtab-textbox-background-color) var(--newtab-search-icon) $search-icon-padding center / $search-icon-size no-repeat;\n    border: solid 1px var(--newtab-search-border-color);\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-icon-width;\n    width: 100%;\n\n    &:dir(rtl) {\n      background-position-x: right $search-icon-padding;\n    }\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    border: $input-border-active;\n    box-shadow: var(--newtab-textbox-focus-boxshadow);\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n}\n\n@at-root {\n  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable {\n    background-color: var(--newtab-search-dropdown-color);\n    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY($textbox-shadow-size);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-search-dropdown-header-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSettingsButton {\n      border-color: var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSuggestionsList {\n      border: 0;\n    }\n\n    .contentSearchOneOffsTable {\n      background-color: var(--newtab-search-dropdown-header-color);\n      border-top: solid 1px var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSearchWithHeaderSearchText {\n      color: var(--newtab-text-primary-color);\n    }\n\n    .contentSearchSuggestionsContainer {\n      background-color: var(--newtab-search-dropdown-color);\n    }\n\n    .contentSearchSuggestionRow {\n      &.selected {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        .historyIcon {\n          fill: var(--newtab-icon-secondary-color);\n        }\n      }\n    }\n\n    .contentSearchOneOffsTable {\n      .contentSearchSuggestionsContainer {\n        background-color: var(--newtab-search-dropdown-header-color);\n      }\n    }\n\n    .contentSearchOneOffItem {\n      // Make the border slightly shorter by offsetting from the top and bottom\n      $border-offset: 18%;\n\n      background-image: none;\n      border-image: linear-gradient(transparent $border-offset, var(--newtab-border-secondary-color) $border-offset, var(--newtab-border-secondary-color) 100% - $border-offset, transparent 100% - $border-offset) 1;\n      border-inline-end: 1px solid;\n      position: relative;\n\n      &.selected {\n        background: var(--newtab-element-hover-color);\n      }\n\n      &:active {\n        background: var(--newtab-element-active-color);\n      }\n    }\n\n    .contentSearchSettingsButton {\n      &:hover {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n      }\n    }\n  }\n}\n",
 		".context-menu {\n  background: var(--newtab-contextmenu-background-color);\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: $border-secondary;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: var(--newtab-element-hover-color);\n        }\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\n  }\n}\n",
 		".confirmation-dialog {\n  .modal {\n    box-shadow: 0 2px 2px 0 $black-10;\n    left: 50%;\n    margin-left: -200px;\n    position: fixed;\n    top: 20%;\n    width: 400px;\n  }\n\n  section {\n    margin: 0;\n  }\n\n  .modal-message {\n    display: flex;\n    padding: 16px;\n    padding-bottom: 0;\n\n    p {\n      margin: 0;\n      margin-bottom: 16px;\n    }\n  }\n\n  .actions {\n    border: 0;\n    display: flex;\n    flex-wrap: nowrap;\n    padding: 0 16px;\n\n    button {\n      margin-inline-end: 16px;\n      padding-inline-end: 18px;\n      padding-inline-start: 18px;\n      white-space: normal;\n      width: 50%;\n\n      &.done {\n        margin-inline-end: 0;\n        margin-inline-start: 0;\n      }\n    }\n  }\n\n  .icon {\n    margin-inline-end: 16px;\n  }\n}\n\n.modal-overlay {\n  background: var(--newtab-overlay-color);\n  height: 100%;\n  left: 0;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  z-index: 11001;\n}\n\n.modal {\n  background: var(--newtab-modal-color);\n  border: $border-secondary;\n  border-radius: 5px;\n  font-size: 15px;\n  z-index: 11002;\n}\n",
 		".card-outer {\n  @include context-menu-button;\n  background: var(--newtab-card-background-color);\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: var(--newtab-card-shadow);\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: var(--newtab-link-primary-color);\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: var(--newtab-link-primary-color);\n    }\n\n    .alternate ~ .card-host-name {\n      display: none;\n    }\n\n    .card-host-name.alternate {\n      display: block;\n    }\n  }\n\n  .card-preview-image-outer {\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid var(--newtab-card-hairline-color);\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: var(--newtab-text-secondary-color);\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-host-name.alternate { display: none; }\n\n  .card-download-icon {\n    float: inline-end;\n    margin-inline-start: 15px;\n    margin-top: 2px;\n\n    &.icon-download-folder {\n      height: $small-download-folder-icon-size;\n      width: $small-download-folder-icon-size;\n    }\n  }\n\n  .card-title {\n    font-size: 14px;\n    font-weight: 600;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: var(--newtab-text-tertiary-color);\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 9px 16px 9px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: var(--newtab-icon-tertiary-color);\n    height: 22px;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: 22px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\n  $line-height: 23px;\n\n  .card-outer {\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n\n      .card-preview-image-outer {\n        height: $card-preview-image-height-large;\n      }\n\n      .card-details {\n        padding: 13px 16px 12px;\n      }\n\n      .card-text {\n        max-height: 6 * $line-height + $card-title-margin;\n      }\n\n      .card-host-name {\n        font-size: 12px;\n        padding-bottom: 5px;\n      }\n\n      .card-download-icon {\n        &.icon-download-folder {\n          height: $large-download-folder-icon-size;\n          width: $large-download-folder-icon-size;\n        }\n      }\n\n      .card-title {\n        font-size: 17px;\n        line-height: $line-height;\n        margin-bottom: 0;\n      }\n\n      .card-text:not(.no-description) {\n        .card-title {\n          max-height: 3 * $line-height;\n        }\n      }\n\n      .card-description {\n        font-size: 15px;\n        line-height: $line-height;\n      }\n\n      .card-context {\n        bottom: 4px;\n        font-size: 14px;\n      }\n    }\n  }\n}\n",
 		".manual-migration-container {\n  color: var(--newtab-text-conditional-color);\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: $section-spacing;\n  text-align: center;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    text-align: left;\n  }\n\n  p {\n    margin: 0;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n\n  .icon {\n    display: none;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: block;\n      fill: var(--newtab-icon-secondary-color);\n      margin-inline-end: 6px;\n    }\n  }\n}\n\n.manual-migration-actions {\n  border: 0;\n  display: block;\n  flex-wrap: nowrap;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    padding: 0;\n  }\n\n  button {\n    align-self: center;\n    height: 26px;\n    margin: 0;\n    margin-inline-start: 20px;\n    padding: 0 12px;\n  }\n}\n",
 		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n  transition-delay: 100ms;\n  transition-duration: 100ms;\n  transition-property: background-color;\n\n  .section-title {\n    font-size: $section-title-font-size;\n    font-weight: bold;\n    margin: 0;\n    text-transform: uppercase;\n\n    span {\n      color: var(--newtab-section-header-text-color);\n      display: inline-block;\n      fill: var(--newtab-section-header-text-color);\n      vertical-align: middle;\n    }\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    height: 19px;\n    margin-bottom: 13px;\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: var(--newtab-section-header-text-color);\n      height: 100%;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n        opacity: 1;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: var(--newtab-element-hover-color);\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: var(--newtab-section-active-contextmenu-color);\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: var(--newtab-text-conditional-color);\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: var(--newtab-link-primary-color);\n      font-weight: bold;\n      padding-left: 3px;\n    }\n\n    button {\n      background: var(--newtab-button-secondary-color);\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n",
-		"\n.messages-admin {\n  $monospace: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', 'Droid Sans Mono', 'Source Code Pro', monospace;\n  max-width: 996px;\n  margin: 0 auto;\n  font-size: 14px;\n  // Reset .outer-wrapper styles\n  display: inherit;\n  padding: 0;\n\n  h1 {\n    font-weight: 200;\n    font-size: 32px;\n  }\n\n  table {\n    border-collapse: collapse;\n    width: 100%;\n  }\n\n  .message-item {\n    &:first-child td {\n      border-top: 1px solid $black-10;\n    }\n\n    td {\n      vertical-align: top;\n      border-bottom: 1px solid $black-10;\n      padding: 8px;\n\n      &:first-child {\n        border-left: 1px solid $black-10;\n      }\n\n      &:last-child {\n        border-right: 1px solid $black-10;\n      }\n    }\n\n    &.current {\n      .message-id span {\n        background: $yellow-50;\n        padding: 2px 5px;\n      }\n    }\n\n    &.blocked {\n      .message-id,\n      .message-summary {\n        opacity: 0.5;\n      }\n\n      .message-id {\n        color: $grey-90;\n      }\n    }\n\n    .message-id {\n      font-family: $monospace;\n      font-size: 12px;\n    }\n  }\n\n  pre {\n    background: $white;\n    margin: 0;\n    padding: 8px;\n    font-size: 12px;\n    max-width: 750px;\n    overflow: auto;\n    font-family: $monospace;\n  }\n}\n"
+		"\n.asrouter-admin {\n  $border-color: var(--newtab-border-secondary-color);\n  $monospace: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', 'Droid Sans Mono', 'Source Code Pro', monospace;\n  max-width: 996px;\n  margin: 0 auto;\n  font-size: 14px;\n  // Reset .outer-wrapper styles\n  display: inherit;\n  padding: 0 0 42px;\n\n  h1 {\n    font-weight: 200;\n    font-size: 32px;\n  }\n\n  table {\n    border-collapse: collapse;\n    width: 100%;\n  }\n\n  .message-item {\n    &:first-child td {\n      border-top: 1px solid $border-color;\n    }\n\n    td {\n      vertical-align: top;\n      border-bottom: 1px solid $border-color;\n      padding: 8px;\n\n      &:first-child {\n        border-left: 1px solid $border-color;\n      }\n\n      &:last-child {\n        border-right: 1px solid $border-color;\n      }\n    }\n\n    &.current {\n      .message-id span {\n        background: $yellow-50;\n        padding: 2px 5px;\n\n        .dark-theme & {\n          color: $black;\n        }\n      }\n    }\n\n    &.blocked {\n      .message-id,\n      .message-summary {\n        opacity: 0.5;\n      }\n\n      .message-id {\n        opacity: 0.5;\n      }\n    }\n\n    .message-id {\n      font-family: $monospace;\n      font-size: 12px;\n    }\n  }\n\n  pre {\n    background: var(--newtab-textbox-background-color);\n    margin: 0;\n    padding: 8px;\n    font-size: 12px;\n    max-width: 750px;\n    overflow: auto;\n    font-family: $monospace;\n  }\n}\n",
+		".ASRouterButton {\n  white-space: nowrap;\n  border-radius: 4px;\n  border: 1px solid var(--newtab-border-secondary-color);\n  background-color: var(--newtab-button-secondary-color);\n  font-family: inherit;\n  padding: 8px 15px;\n  margin-left: 12px;\n  color: inherit;\n}\n",
+		".SnippetBaseContainer {\n  position: fixed;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  background-color: var(--newtab-snippets-background-color);\n  color: var(--newtab-text-primary-color);\n  font-size: 12px;\n  line-height: 16px;\n  border-top: 1px solid var(--newtab-snippets-hairline-color);\n  box-shadow: $shadow-secondary;\n  display: flex;\n  align-items: center;\n\n  .innerWrapper {\n    margin: 0 auto;\n    display: flex;\n    align-items: center;\n    padding: 12px $section-horizontal-padding;\n\n    // This is to account for the block button on smaller screens\n    padding-inline-end: 36px;\n    @media (min-width: $break-point-large) {\n      padding-inline-end: $section-horizontal-padding;\n    }\n\n    max-width: $wrapper-max-width-large;\n    @media (min-width: $break-point-widest) {\n      max-width: $wrapper-max-width-widest;\n    }\n  }\n\n  .blockButton {\n    display: none;\n    background: none;\n    border: 0;\n    position: absolute;\n    top: 50%;\n    offset-inline-end: 12px;\n    height: 16px;\n    width: 16px;\n    background-image: url('resource://activity-stream/data/content/assets/glyph-dismiss-16.svg');\n    -moz-context-properties: fill;\n    fill: var(--newtab-icon-primary-color);\n    opacity: 0.5;\n    margin-top: -8px;\n    padding: 0;\n    cursor: pointer;\n\n    @media (min-width: 766px) {\n      offset-inline-end: 24px;\n    }\n  }\n\n  &:hover .blockButton {\n    display: block;\n  }\n}\n",
+		".SimpleSnippet {\n  .title {\n    display: inline;\n    font-size: inherit;\n    margin: 0;\n  }\n\n  .body {\n    display: inline;\n    margin: 0;\n  }\n\n  .icon {\n    height: 42px;\n    width: 42px;\n    margin-inline-end: 12px;\n    flex-shrink: 0;\n  }\n}\n"
 	],
 	"names": [],
-	"mappings": "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"
+	"mappings": "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"
 }
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-windows.css
+++ b/browser/extensions/activity-stream/css/activity-stream-windows.css
@@ -53,21 +53,24 @@ body {
   --newtab-section-header-text-color: #737373;
   --newtab-section-navigation-text-color: #737373;
   --newtab-section-active-contextmenu-color: #0C0C0D;
   --newtab-search-border-color: transparent;
   --newtab-search-dropdown-color: #FFF;
   --newtab-search-dropdown-header-color: #F9F9FA;
   --newtab-search-icon-color: rgba(12, 12, 13, 0.4);
   --newtab-topsites-background-color: #FFF;
+  --newtab-topsites-icon-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color);
   --newtab-topsites-label-color: inherit;
   --newtab-card-active-outline-color: #D7D7DB;
   --newtab-card-background-color: #FFF;
   --newtab-card-hairline-color: rgba(0, 0, 0, 0.1);
-  --newtab-card-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1); }
+  --newtab-card-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+  --newtab-snippets-background-color: #FFF;
+  --newtab-snippets-hairline-color: transparent; }
 
 .dark-theme {
   --newtab-background-color: #2A2A2E;
   --newtab-border-primary-color: rgba(249, 249, 250, 0.8);
   --newtab-border-secondary-color: rgba(249, 249, 250, 0.1);
   --newtab-button-primary-color: #0060DF;
   --newtab-button-secondary-color: #38383D;
   --newtab-element-active-color: rgba(249, 249, 250, 0.2);
@@ -93,21 +96,24 @@ body {
   --newtab-section-header-text-color: rgba(249, 249, 250, 0.8);
   --newtab-section-navigation-text-color: rgba(249, 249, 250, 0.8);
   --newtab-section-active-contextmenu-color: #FFF;
   --newtab-search-border-color: rgba(249, 249, 250, 0.2);
   --newtab-search-dropdown-color: #38383D;
   --newtab-search-dropdown-header-color: #4A4A4F;
   --newtab-search-icon-color: rgba(249, 249, 250, 0.6);
   --newtab-topsites-background-color: #38383D;
+  --newtab-topsites-icon-shadow: none;
   --newtab-topsites-label-color: rgba(249, 249, 250, 0.8);
   --newtab-card-active-outline-color: #4A4A4F;
   --newtab-card-background-color: #38383D;
   --newtab-card-hairline-color: rgba(249, 249, 250, 0.1);
-  --newtab-card-shadow: 0 1px 8px 0 rgba(12, 12, 13, 0.2); }
+  --newtab-card-shadow: 0 1px 8px 0 rgba(12, 12, 13, 0.2);
+  --newtab-snippets-background-color: #38383D;
+  --newtab-snippets-hairline-color: rgba(255, 255, 255, 0.1); }
 
 .icon {
   background-position: center center;
   background-repeat: no-repeat;
   background-size: 16px;
   -moz-context-properties: fill;
   display: inline-block;
   fill: var(--newtab-icon-primary-color);
@@ -125,16 +131,17 @@ body {
   .icon.icon-clear-input {
     fill: var(--newtab-icon-secondary-color);
     background-image: url("../data/content/assets/glyph-cancel-16.svg"); }
   .icon.icon-delete {
     background-image: url("../data/content/assets/glyph-delete-16.svg"); }
   .icon.icon-search {
     background-image: url("chrome://browser/skin/search-glass.svg"); }
   .icon.icon-modal-delete {
+    flex-shrink: 0;
     background-image: url("../data/content/assets/glyph-modal-delete-32.svg");
     background-size: 32px;
     height: 32px;
     width: 32px; }
   .icon.icon-dismiss {
     background-image: url("../data/content/assets/glyph-dismiss-16.svg"); }
   .icon.icon-info {
     background-image: url("../data/content/assets/glyph-info-16.svg"); }
@@ -515,17 +522,17 @@ main {
     width: 100%; }
     .top-site-outer .screenshot.active {
       opacity: 1; }
   .top-site-outer .top-site-icon {
     background-color: var(--newtab-topsites-background-color);
     background-position: center center;
     background-repeat: no-repeat;
     border-radius: 6px;
-    box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color);
+    box-shadow: var(--newtab-topsites-icon-shadow);
     position: absolute; }
   .top-site-outer .rich-icon {
     background-size: cover;
     height: 100%;
     offset-inline-start: 0;
     top: 0;
     width: 100%; }
   .top-site-outer .default-icon {
@@ -681,31 +688,31 @@ main {
 
 @keyframes tab-throbber-animation-rtl {
   100% {
     transform: translateX(960px); } }
       .topsite-form .form-wrapper .custom-image-input-container .loading-animation:dir(rtl) {
         animation-name: tab-throbber-animation-rtl; }
   .topsite-form .form-wrapper input[type='text'] {
     background-color: var(--newtab-textbox-background-color);
-    border: solid 1px var(--newtab-textbox-border);
+    border: 1px solid var(--newtab-textbox-border);
     margin: 8px 0;
     padding: 0 8px;
     height: 32px;
     width: 100%;
     font-size: 15px; }
     .topsite-form .form-wrapper input[type='text']:focus {
-      border: solid 1px var(--newtab-textbox-focus-color);
+      border: 1px solid var(--newtab-textbox-focus-color);
       box-shadow: var(--newtab-textbox-focus-boxshadow); }
     .topsite-form .form-wrapper input[type='text'][disabled] {
-      border: solid 1px var(--newtab-textbox-border);
+      border: 1px solid var(--newtab-textbox-border);
       box-shadow: none;
       opacity: 0.4; }
   .topsite-form .form-wrapper .invalid input[type='text'] {
-    border: solid 1px #D70022;
+    border: 1px solid #D70022;
     box-shadow: 0 0 0 1px #D70022, 0 0 0 4px rgba(215, 0, 34, 0.3); }
   .topsite-form .form-wrapper .error-tooltip {
     animation: fade-up-tt 450ms;
     background: #D70022;
     border-radius: 2px;
     color: #FFF;
     offset-inline-start: 3px;
     padding: 5px 12px;
@@ -878,17 +885,17 @@ main {
     padding-inline-start: 34px;
     width: 100%; }
     .search-wrapper input:dir(rtl) {
       background-position-x: right 8px; }
   .search-wrapper:hover input {
     box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.25); }
   .search-wrapper:active input,
   .search-wrapper input:focus {
-    border: solid 1px var(--newtab-textbox-focus-color);
+    border: 1px solid var(--newtab-textbox-focus-color);
     box-shadow: var(--newtab-textbox-focus-boxshadow); }
   .search-wrapper .search-button {
     background: url("chrome://browser/skin/forward.svg") no-repeat center center;
     background-size: 16px 16px;
     border: 0;
     border-radius: 0 3px 3px 0;
     -moz-context-properties: fill;
     fill: var(--newtab-search-icon-color);
@@ -929,28 +936,23 @@ main {
     .contentSearchSuggestionTable .contentSearchSuggestionRow.selected:active {
       background: var(--newtab-element-active-color); }
     .contentSearchSuggestionTable .contentSearchSuggestionRow.selected .historyIcon {
       fill: var(--newtab-icon-secondary-color); }
   .contentSearchSuggestionTable .contentSearchOneOffsTable .contentSearchSuggestionsContainer {
     background-color: var(--newtab-search-dropdown-header-color); }
   .contentSearchSuggestionTable .contentSearchOneOffItem {
     background-image: none;
+    border-image: linear-gradient(transparent 18%, var(--newtab-border-secondary-color) 18%, var(--newtab-border-secondary-color) 82%, transparent 82%) 1;
+    border-inline-end: 1px solid;
     position: relative; }
     .contentSearchSuggestionTable .contentSearchOneOffItem.selected {
       background: var(--newtab-element-hover-color); }
     .contentSearchSuggestionTable .contentSearchOneOffItem:active {
       background: var(--newtab-element-active-color); }
-    .contentSearchSuggestionTable .contentSearchOneOffItem::after {
-      border-right: solid 1px var(--newtab-border-secondary-color);
-      content: '';
-      height: 22px;
-      offset-inline-end: 0;
-      position: absolute;
-      top: 5px; }
   .contentSearchSuggestionTable .contentSearchSettingsButton:hover {
     background: var(--newtab-element-hover-color);
     color: var(--newtab-text-primary-color); }
 
 .context-menu {
   background: var(--newtab-contextmenu-background-color);
   border-radius: 5px;
   box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.2);
@@ -1363,51 +1365,126 @@ main {
   .collapsible-section.animation-enabled .section-title .collapsible-arrow {
     transition: transform 0.5s cubic-bezier(0.07, 0.95, 0, 1); }
   .collapsible-section.animation-enabled .section-body {
     transition: max-height 0.5s cubic-bezier(0.07, 0.95, 0, 1); }
   .collapsible-section.collapsed .section-body {
     max-height: 0;
     overflow: hidden; }
 
-.messages-admin {
+.asrouter-admin {
   max-width: 996px;
   margin: 0 auto;
   font-size: 14px;
   display: inherit;
-  padding: 0; }
-  .messages-admin h1 {
+  padding: 0 0 42px; }
+  .asrouter-admin h1 {
     font-weight: 200;
     font-size: 32px; }
-  .messages-admin table {
+  .asrouter-admin table {
     border-collapse: collapse;
     width: 100%; }
-  .messages-admin .message-item:first-child td {
-    border-top: 1px solid rgba(0, 0, 0, 0.1); }
-  .messages-admin .message-item td {
+  .asrouter-admin .message-item:first-child td {
+    border-top: 1px solid var(--newtab-border-secondary-color); }
+  .asrouter-admin .message-item td {
     vertical-align: top;
-    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+    border-bottom: 1px solid var(--newtab-border-secondary-color);
     padding: 8px; }
-    .messages-admin .message-item td:first-child {
-      border-left: 1px solid rgba(0, 0, 0, 0.1); }
-    .messages-admin .message-item td:last-child {
-      border-right: 1px solid rgba(0, 0, 0, 0.1); }
-  .messages-admin .message-item.current .message-id span {
+    .asrouter-admin .message-item td:first-child {
+      border-left: 1px solid var(--newtab-border-secondary-color); }
+    .asrouter-admin .message-item td:last-child {
+      border-right: 1px solid var(--newtab-border-secondary-color); }
+  .asrouter-admin .message-item.current .message-id span {
     background: #FFE900;
     padding: 2px 5px; }
-  .messages-admin .message-item.blocked .message-id,
-  .messages-admin .message-item.blocked .message-summary {
+    .dark-theme .asrouter-admin .message-item.current .message-id span {
+      color: #000; }
+  .asrouter-admin .message-item.blocked .message-id,
+  .asrouter-admin .message-item.blocked .message-summary {
     opacity: 0.5; }
-  .messages-admin .message-item.blocked .message-id {
-    color: #0C0C0D; }
-  .messages-admin .message-item .message-id {
+  .asrouter-admin .message-item.blocked .message-id {
+    opacity: 0.5; }
+  .asrouter-admin .message-item .message-id {
     font-family: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace;
     font-size: 12px; }
-  .messages-admin pre {
-    background: #FFF;
+  .asrouter-admin pre {
+    background: var(--newtab-textbox-background-color);
     margin: 0;
     padding: 8px;
     font-size: 12px;
     max-width: 750px;
     overflow: auto;
     font-family: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace; }
 
+.ASRouterButton {
+  white-space: nowrap;
+  border-radius: 4px;
+  border: 1px solid var(--newtab-border-secondary-color);
+  background-color: var(--newtab-button-secondary-color);
+  font-family: inherit;
+  padding: 8px 15px;
+  margin-left: 12px;
+  color: inherit; }
+
+.SnippetBaseContainer {
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  background-color: var(--newtab-snippets-background-color);
+  color: var(--newtab-text-primary-color);
+  font-size: 12px;
+  line-height: 16px;
+  border-top: 1px solid var(--newtab-snippets-hairline-color);
+  box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.2);
+  display: flex;
+  align-items: center; }
+  .SnippetBaseContainer .innerWrapper {
+    margin: 0 auto;
+    display: flex;
+    align-items: center;
+    padding: 12px 25px;
+    padding-inline-end: 36px;
+    max-width: 786px; }
+    @media (min-width: 866px) {
+      .SnippetBaseContainer .innerWrapper {
+        padding-inline-end: 25px; } }
+    @media (min-width: 1122px) {
+      .SnippetBaseContainer .innerWrapper {
+        max-width: 1042px; } }
+  .SnippetBaseContainer .blockButton {
+    display: none;
+    background: none;
+    border: 0;
+    position: absolute;
+    top: 50%;
+    offset-inline-end: 12px;
+    height: 16px;
+    width: 16px;
+    background-image: url("resource://activity-stream/data/content/assets/glyph-dismiss-16.svg");
+    -moz-context-properties: fill;
+    fill: var(--newtab-icon-primary-color);
+    opacity: 0.5;
+    margin-top: -8px;
+    padding: 0;
+    cursor: pointer; }
+    @media (min-width: 766px) {
+      .SnippetBaseContainer .blockButton {
+        offset-inline-end: 24px; } }
+  .SnippetBaseContainer:hover .blockButton {
+    display: block; }
+
+.SimpleSnippet .title {
+  display: inline;
+  font-size: inherit;
+  margin: 0; }
+
+.SimpleSnippet .body {
+  display: inline;
+  margin: 0; }
+
+.SimpleSnippet .icon {
+  height: 42px;
+  width: 42px;
+  margin-inline-end: 12px;
+  flex-shrink: 0; }
+
 /*# sourceMappingURL=activity-stream-windows.css.map */
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-windows.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-windows.css.map
@@ -14,33 +14,39 @@
 		"../content-src/components/Sections/_Sections.scss",
 		"../content-src/components/Topics/_Topics.scss",
 		"../content-src/components/Search/_Search.scss",
 		"../content-src/components/ContextMenu/_ContextMenu.scss",
 		"../content-src/components/ConfirmDialog/_ConfirmDialog.scss",
 		"../content-src/components/Card/_Card.scss",
 		"../content-src/components/ManualMigration/_ManualMigration.scss",
 		"../content-src/components/CollapsibleSection/_CollapsibleSection.scss",
-		"../content-src/components/MessageCenterAdmin/MessageCenterAdmin.scss"
+		"../content-src/components/ASRouterAdmin/ASRouterAdmin.scss",
+		"../content-src/asrouter/components/Button/_Button.scss",
+		"../content-src/asrouter/components/SnippetBase/_SnippetBase.scss",
+		"../content-src/asrouter/templates/SimpleSnippet/_SimpleSnippet.scss"
 	],
 	"sourcesContent": [
 		"/* This is the windows variant */ // sass-lint:disable-line no-css-comments\n\n$os-infopanel-arrow-height: 10px;\n$os-infopanel-arrow-offset-end: 6px;\n$os-infopanel-arrow-width: 20px;\n\n@import './activity-stream';\n",
-		"@import './normalize';\n@import './variables';\n@import './theme';\n@import './icons';\n\nhtml {\n  height: 100%;\n}\n\nbody,\n#root { // sass-lint:disable-line no-ids\n  min-height: 100vh;\n}\n\nbody {\n  background-color: var(--newtab-background-color);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  text-decoration: none;\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n}\n\n// Default button (grey)\n.button,\n.actions button {\n  background-color: var(--newtab-button-secondary-color);\n  border: $border-primary;\n  border-radius: 4px;\n  color: inherit;\n  cursor: pointer;\n  margin-bottom: 15px;\n  padding: 10px 30px;\n  white-space: nowrap;\n\n  &:hover:not(.dismiss) {\n    box-shadow: $shadow-primary;\n    transition: box-shadow 150ms;\n  }\n\n  &.dismiss {\n    background-color: transparent;\n    border: 0;\n    padding: 0;\n    text-decoration: underline;\n  }\n\n  // Blue button\n  &.primary,\n  &.done {\n    background-color: var(--newtab-button-primary-color);\n    border: solid 1px var(--newtab-button-primary-color);\n    color: $white;\n    margin-inline-start: auto;\n  }\n}\n\ninput {\n  &[type='text'],\n  &[type='search'] {\n    border-radius: $border-radius;\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n@import '../components/MessageCenterAdmin/MessageCenterAdmin';\n",
+		"@import './normalize';\n@import './variables';\n@import './theme';\n@import './icons';\n\nhtml {\n  height: 100%;\n}\n\nbody,\n#root { // sass-lint:disable-line no-ids\n  min-height: 100vh;\n}\n\nbody {\n  background-color: var(--newtab-background-color);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  text-decoration: none;\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n}\n\n// Default button (grey)\n.button,\n.actions button {\n  background-color: var(--newtab-button-secondary-color);\n  border: $border-primary;\n  border-radius: 4px;\n  color: inherit;\n  cursor: pointer;\n  margin-bottom: 15px;\n  padding: 10px 30px;\n  white-space: nowrap;\n\n  &:hover:not(.dismiss) {\n    box-shadow: $shadow-primary;\n    transition: box-shadow 150ms;\n  }\n\n  &.dismiss {\n    background-color: transparent;\n    border: 0;\n    padding: 0;\n    text-decoration: underline;\n  }\n\n  // Blue button\n  &.primary,\n  &.done {\n    background-color: var(--newtab-button-primary-color);\n    border: solid 1px var(--newtab-button-primary-color);\n    color: $white;\n    margin-inline-start: auto;\n  }\n}\n\ninput {\n  &[type='text'],\n  &[type='search'] {\n    border-radius: $border-radius;\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n@import '../components/ASRouterAdmin/ASRouterAdmin';\n\n// AS Router\n@import '../asrouter/components/Button/Button';\n@import '../asrouter/components/SnippetBase/SnippetBase';\n@import '../asrouter/templates/SimpleSnippet/SimpleSnippet';\n",
 		"html {\n  box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n*::-moz-focus-inner {\n  border: 0;\n}\n\nbody {\n  margin: 0;\n}\n\nbutton,\ninput {\n  background-color: inherit;\n  color: inherit;\n  font-family: inherit;\n  font-size: inherit;\n}\n\n[hidden] {\n  display: none !important; // sass-lint:disable-line no-important\n}\n",
-		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-40: #45A1FF;\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$blue-70: #003EAA;\n$blue-80: #002275;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-70: #38383D;\n$grey-80: #2A2A2E;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n$yellow-50: #FFE900;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-10-10: rgba($grey-10, 0.1);\n$grey-10-20: rgba($grey-10, 0.2);\n$grey-10-40: rgba($grey-10, 0.4);\n$grey-10-60: rgba($grey-10, 0.6);\n$grey-10-80: rgba($grey-10, 0.8);\n$grey-20-60: rgba($grey-20, 0.6);\n$grey-20-80: rgba($grey-20, 0.8);\n$grey-30-60: rgba($grey-30, 0.6);\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Other colors\n$white: #FFF;\n$pocket-teal: #50BCB6;\n\n$border-radius: 3px;\n\n// Grid related styles\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$small-download-folder-icon-size: 36px;\n$large-download-folder-icon-size: $small-download-folder-icon-size * 1.5;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $black-20;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n$textbox-shadow-size: 4px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: var(--newtab-contextmenu-button-color);\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
-		"@function textbox-shadow($color) {\n  @return 0 0 0 1px $color, 0 0 0 $textbox-shadow-size rgba($color, 0.3);\n}\n\n@mixin textbox-focus($color) {\n  --newtab-textbox-focus-color: $color;\n  --newtab-textbox-focus-boxshadow: textbox-shadow($color);\n}\n\n// Default theme\nbody {\n  // General styles\n  --newtab-background-color: $grey-10;\n  --newtab-border-primary-color: $grey-40;\n  --newtab-border-secondary-color: $grey-30;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: inherit;\n  --newtab-element-active-color: $grey-30-60;\n  --newtab-element-hover-color: $grey-20;\n  --newtab-icon-primary-color: $grey-90-80;\n  --newtab-icon-secondary-color: $grey-90-60;\n  --newtab-icon-tertiary-color: $grey-30;\n  --newtab-inner-box-shadow-color: $black-10;\n  --newtab-link-primary-color: $blue-60;\n  --newtab-link-secondary-color: $teal-70;\n  --newtab-text-conditional-color: $grey-60;\n  --newtab-text-primary-color: $grey-90;\n  --newtab-text-secondary-color: $grey-50;\n  --newtab-text-tertiary-color: $grey-50;\n  --newtab-textbox-background-color: $white;\n  --newtab-textbox-border: $grey-90-20;\n  @include textbox-focus($blue-60); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-10;\n  --newtab-contextmenu-button-color: $white;\n\n  // Modal + overlay\n  --newtab-modal-color: $white;\n  --newtab-overlay-color: $grey-20-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-50;\n  --newtab-section-navigation-text-color: $grey-50;\n  --newtab-section-active-contextmenu-color: $grey-90;\n\n  // Search\n  --newtab-search-border-color: transparent;\n  --newtab-search-dropdown-color: $white;\n  --newtab-search-dropdown-header-color: $grey-10;\n  --newtab-search-icon-color: $grey-90-40;\n\n  // Top Sites\n  --newtab-topsites-background-color: $white;\n  --newtab-topsites-label-color: inherit;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-30;\n  --newtab-card-background-color: $white;\n  --newtab-card-hairline-color: $black-10;\n  --newtab-card-shadow: 0 1px 4px 0 $grey-90-10;\n}\n\n// Dark theme\n.dark-theme {\n  // General styles\n  --newtab-background-color: $grey-80;\n  --newtab-border-primary-color: $grey-10-80;\n  --newtab-border-secondary-color: $grey-10-10;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: $grey-70;\n  --newtab-element-active-color: $grey-10-20;\n  --newtab-element-hover-color: $grey-10-10;\n  --newtab-icon-primary-color: $grey-10-80;\n  --newtab-icon-secondary-color: $grey-10-40;\n  --newtab-icon-tertiary-color: $grey-10-40;\n  --newtab-inner-box-shadow-color: $grey-10-20;\n  --newtab-link-primary-color: $blue-40;\n  --newtab-link-secondary-color: $pocket-teal;\n  --newtab-text-conditional-color: $grey-10;\n  --newtab-text-primary-color: $grey-10;\n  --newtab-text-secondary-color: $grey-10-80;\n  --newtab-text-tertiary-color: $grey-10-60;\n  --newtab-textbox-background-color: $grey-70;\n  --newtab-textbox-border: $grey-10-20;\n  @include textbox-focus($blue-40); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-60;\n  --newtab-contextmenu-button-color: $grey-80;\n\n  // Modal + overlay\n  --newtab-modal-color: $grey-80;\n  --newtab-overlay-color: $grey-90-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-10-80;\n  --newtab-section-navigation-text-color: $grey-10-80;\n  --newtab-section-active-contextmenu-color: $white;\n\n  // Search\n  --newtab-search-border-color: $grey-10-20;\n  --newtab-search-dropdown-color: $grey-70;\n  --newtab-search-dropdown-header-color: $grey-60;\n  --newtab-search-icon-color: $grey-10-60;\n\n  // Top Sites\n  --newtab-topsites-background-color: $grey-70;\n  --newtab-topsites-label-color: $grey-10-80;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-60;\n  --newtab-card-background-color: $grey-70;\n  --newtab-card-hairline-color: $grey-10-10;\n  --newtab-card-shadow: 0 1px 8px 0 $grey-90-20;\n}\n\n// scss variables related to the theme.\n$border-primary: 1px solid var(--newtab-border-primary-color);\n$border-secondary: 1px solid var(--newtab-border-secondary-color);\n$shadow-primary: 0 0 0 5px var(--newtab-card-active-outline-color);\n$shadow-secondary: 0 1px 4px 0 $grey-90-20;\n$input-border: solid 1px var(--newtab-textbox-border);\n$input-border-active: solid 1px var(--newtab-textbox-focus-color);\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: textbox-shadow($red-60);\n$inner-box-shadow: 0 0 0 1px var(--newtab-inner-box-shadow-color);\n",
-		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: var(--newtab-icon-primary-color);\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: var(--newtab-icon-secondary-color);\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-search {\n    background-image: url('chrome://browser/skin/search-glass.svg');\n  }\n\n  &.icon-modal-delete {\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-historyItem { // sass-lint:disable-line class-name-format\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-download {\n    background-image: url('chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar');\n  }\n\n  &.icon-copy {\n    background-image: url('chrome://browser/skin/edit-copy.svg');\n  }\n\n  &.icon-open-file {\n    background-image: url('#{$image-path}glyph-open-file-16.svg');\n  }\n\n  &.icon-download-folder {\n    background-image: url('#{$image-path}glyph-download-icon.svg');\n    background-size: 100%;\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
+		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-40: #45A1FF;\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$blue-70: #003EAA;\n$blue-80: #002275;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-70: #38383D;\n$grey-80: #2A2A2E;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n$yellow-50: #FFE900;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-10-10: rgba($grey-10, 0.1);\n$grey-10-20: rgba($grey-10, 0.2);\n$grey-10-40: rgba($grey-10, 0.4);\n$grey-10-60: rgba($grey-10, 0.6);\n$grey-10-80: rgba($grey-10, 0.8);\n$grey-20-60: rgba($grey-20, 0.6);\n$grey-20-80: rgba($grey-20, 0.8);\n$grey-30-60: rgba($grey-30, 0.6);\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Other colors\n$white: #FFF;\n$white-10: rgba($white, 0.1);\n$pocket-teal: #50BCB6;\n\n$border-radius: 3px;\n\n// Grid related styles\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$small-download-folder-icon-size: 36px;\n$large-download-folder-icon-size: $small-download-folder-icon-size * 1.5;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $black-20;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n$textbox-shadow-size: 4px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: var(--newtab-contextmenu-button-color);\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
+		"@function textbox-shadow($color) {\n  @return 0 0 0 1px $color, 0 0 0 $textbox-shadow-size rgba($color, 0.3);\n}\n\n@mixin textbox-focus($color) {\n  --newtab-textbox-focus-color: $color;\n  --newtab-textbox-focus-boxshadow: textbox-shadow($color);\n}\n\n// scss variables related to the theme.\n$border-primary: 1px solid var(--newtab-border-primary-color);\n$border-secondary: 1px solid var(--newtab-border-secondary-color);\n$inner-box-shadow: 0 0 0 1px var(--newtab-inner-box-shadow-color);\n$input-border: 1px solid var(--newtab-textbox-border);\n$input-border-active: 1px solid var(--newtab-textbox-focus-color);\n$input-error-border: 1px solid $red-60;\n$input-error-boxshadow: textbox-shadow($red-60);\n$shadow-primary: 0 0 0 5px var(--newtab-card-active-outline-color);\n$shadow-secondary: 0 1px 4px 0 $grey-90-20;\n\n// Default theme\nbody {\n  // General styles\n  --newtab-background-color: $grey-10;\n  --newtab-border-primary-color: $grey-40;\n  --newtab-border-secondary-color: $grey-30;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: inherit;\n  --newtab-element-active-color: $grey-30-60;\n  --newtab-element-hover-color: $grey-20;\n  --newtab-icon-primary-color: $grey-90-80;\n  --newtab-icon-secondary-color: $grey-90-60;\n  --newtab-icon-tertiary-color: $grey-30;\n  --newtab-inner-box-shadow-color: $black-10;\n  --newtab-link-primary-color: $blue-60;\n  --newtab-link-secondary-color: $teal-70;\n  --newtab-text-conditional-color: $grey-60;\n  --newtab-text-primary-color: $grey-90;\n  --newtab-text-secondary-color: $grey-50;\n  --newtab-text-tertiary-color: $grey-50;\n  --newtab-textbox-background-color: $white;\n  --newtab-textbox-border: $grey-90-20;\n  @include textbox-focus($blue-60); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-10;\n  --newtab-contextmenu-button-color: $white;\n\n  // Modal + overlay\n  --newtab-modal-color: $white;\n  --newtab-overlay-color: $grey-20-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-50;\n  --newtab-section-navigation-text-color: $grey-50;\n  --newtab-section-active-contextmenu-color: $grey-90;\n\n  // Search\n  --newtab-search-border-color: transparent;\n  --newtab-search-dropdown-color: $white;\n  --newtab-search-dropdown-header-color: $grey-10;\n  --newtab-search-icon-color: $grey-90-40;\n\n  // Top Sites\n  --newtab-topsites-background-color: $white;\n  --newtab-topsites-icon-shadow: inset $inner-box-shadow;\n  --newtab-topsites-label-color: inherit;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-30;\n  --newtab-card-background-color: $white;\n  --newtab-card-hairline-color: $black-10;\n  --newtab-card-shadow: 0 1px 4px 0 $grey-90-10;\n\n  // Snippets\n  --newtab-snippets-background-color: $white;\n  --newtab-snippets-hairline-color: transparent;\n}\n\n// Dark theme\n.dark-theme {\n  // General styles\n  --newtab-background-color: $grey-80;\n  --newtab-border-primary-color: $grey-10-80;\n  --newtab-border-secondary-color: $grey-10-10;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: $grey-70;\n  --newtab-element-active-color: $grey-10-20;\n  --newtab-element-hover-color: $grey-10-10;\n  --newtab-icon-primary-color: $grey-10-80;\n  --newtab-icon-secondary-color: $grey-10-40;\n  --newtab-icon-tertiary-color: $grey-10-40;\n  --newtab-inner-box-shadow-color: $grey-10-20;\n  --newtab-link-primary-color: $blue-40;\n  --newtab-link-secondary-color: $pocket-teal;\n  --newtab-text-conditional-color: $grey-10;\n  --newtab-text-primary-color: $grey-10;\n  --newtab-text-secondary-color: $grey-10-80;\n  --newtab-text-tertiary-color: $grey-10-60;\n  --newtab-textbox-background-color: $grey-70;\n  --newtab-textbox-border: $grey-10-20;\n  @include textbox-focus($blue-40); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-60;\n  --newtab-contextmenu-button-color: $grey-80;\n\n  // Modal + overlay\n  --newtab-modal-color: $grey-80;\n  --newtab-overlay-color: $grey-90-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-10-80;\n  --newtab-section-navigation-text-color: $grey-10-80;\n  --newtab-section-active-contextmenu-color: $white;\n\n  // Search\n  --newtab-search-border-color: $grey-10-20;\n  --newtab-search-dropdown-color: $grey-70;\n  --newtab-search-dropdown-header-color: $grey-60;\n  --newtab-search-icon-color: $grey-10-60;\n\n  // Top Sites\n  --newtab-topsites-background-color: $grey-70;\n  --newtab-topsites-icon-shadow: none;\n  --newtab-topsites-label-color: $grey-10-80;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-60;\n  --newtab-card-background-color: $grey-70;\n  --newtab-card-hairline-color: $grey-10-10;\n  --newtab-card-shadow: 0 1px 8px 0 $grey-90-20;\n\n  // Snippets\n  --newtab-snippets-background-color: $grey-70;\n  --newtab-snippets-hairline-color: $white-10;\n}\n",
+		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: var(--newtab-icon-primary-color);\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: var(--newtab-icon-secondary-color);\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-search {\n    background-image: url('chrome://browser/skin/search-glass.svg');\n  }\n\n  &.icon-modal-delete {\n    flex-shrink: 0;\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-historyItem {\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-download {\n    background-image: url('chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar');\n  }\n\n  &.icon-copy {\n    background-image: url('chrome://browser/skin/edit-copy.svg');\n  }\n\n  &.icon-open-file {\n    background-image: url('#{$image-path}glyph-open-file-16.svg');\n  }\n\n  &.icon-download-folder {\n    background-image: url('#{$image-path}glyph-download-icon.svg');\n    background-size: 100%;\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
 		".outer-wrapper {\n  color: var(--newtab-text-primary-color);\n  display: flex;\n  flex-grow: 1;\n  min-height: 100vh;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    display: block;\n  }\n\n  a {\n    color: var(--newtab-link-primary-color);\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.wide-layout-enabled {\n  main {\n    @media (min-width: $break-point-widest) {\n      width: $wrapper-max-width-widest;\n    }\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n\n.prefs-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover,\n    &:focus {\n      background-color: var(--newtab-element-hover-color);\n    }\n\n    &:active {\n      background-color: var(--newtab-element-active-color);\n    }\n  }\n}\n",
 		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: var(--newtab-text-conditional-color);\n  display: flex;\n  flex-direction: column;\n  font-size: $error-fallback-font-size;\n  justify-content: center;\n  justify-items: center;\n  line-height: $error-fallback-line-height;\n\n  a {\n    color: var(--newtab-text-conditional-color);\n    text-decoration: underline;\n  }\n}\n",
-		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, var(--newtab-card-shadow);\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: var(--newtab-text-secondary-color);\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: var(--newtab-topsites-background-color);\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: cover;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    color: var(--newtab-topsites-label-color);\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: var(--newtab-icon-tertiary-color);\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n// Always hide .hide-for-narrow if wide layout is disabled\n.wide-layout-disabled {\n  .top-sites-list {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .top-sites-list {\n    // Eight columns\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(8n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n      :nth-child(8n+7) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media not all and (min-width: $break-point-widest) {\n      .hide-for-narrow {\n        display: none;\n      }\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    box-shadow: $shadow-secondary;\n    left: 0;\n    margin: 0 auto;\n    position: fixed;\n    right: 0;\n    top: 40px;\n    width: $wrapper-default-width;\n\n    @media (min-width: $break-point-small) {\n      width: $wrapper-max-width-small;\n    }\n\n    @media (min-width: $break-point-medium) {\n      width: $wrapper-max-width-medium;\n    }\n\n    @media (min-width: $break-point-large) {\n      width: $wrapper-max-width-large;\n    }\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n    }\n\n    .url {\n      input:dir(ltr) {\n        padding-right: 32px;\n      }\n\n      input:dir(rtl) {\n        padding-left: 32px;\n\n        &:not(:placeholder-shown) {\n          direction: ltr;\n          text-align: right;\n        }\n      }\n    }\n\n    .enable-custom-image-input {\n      display: inline-block;\n      font-size: 13px;\n      margin-top: 4px;\n      cursor: pointer;\n\n      &:hover {\n        text-decoration: underline;\n      }\n    }\n\n    .custom-image-input-container {\n      margin-top: 4px;\n\n      .loading-container {\n        width: 16px;\n        height: 16px;\n        overflow: hidden;\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n\n      // This animation is derived from Firefox's tab loading animation\n      // See https://searchfox.org/mozilla-central/rev/b29daa46443b30612415c35be0a3c9c13b9dc5f6/browser/themes/shared/tabs.inc.css#208-216\n      .loading-animation {\n        @keyframes tab-throbber-animation {\n          100% { transform: translateX(-960px); }\n        }\n\n        @keyframes tab-throbber-animation-rtl {\n          100% { transform: translateX(960px); }\n        }\n\n        width: 960px;\n        height: 16px;\n        -moz-context-properties: fill;\n        fill: $blue-50;\n        background-image: url('chrome://browser/skin/tabbrowser/loading.svg');\n        animation: tab-throbber-animation 1.05s steps(60) infinite;\n\n        &:dir(rtl) {\n          animation-name: tab-throbber-animation-rtl;\n        }\n      }\n    }\n\n    input {\n      &[type='text'] {\n        background-color: var(--newtab-textbox-background-color);\n        border: $input-border;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n        font-size: 15px;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: var(--newtab-textbox-focus-boxshadow);\n        }\n\n        &[disabled] {\n          border: $input-border;\n          box-shadow: none;\n          opacity: 0.4;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
+		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, var(--newtab-card-shadow);\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: var(--newtab-text-secondary-color);\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: var(--newtab-topsites-background-color);\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: var(--newtab-topsites-icon-shadow);\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: cover;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    color: var(--newtab-topsites-label-color);\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: var(--newtab-icon-tertiary-color);\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n// Always hide .hide-for-narrow if wide layout is disabled\n.wide-layout-disabled {\n  .top-sites-list {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .top-sites-list {\n    // Eight columns\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(8n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n      :nth-child(8n+7) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media not all and (min-width: $break-point-widest) {\n      .hide-for-narrow {\n        display: none;\n      }\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    box-shadow: $shadow-secondary;\n    left: 0;\n    margin: 0 auto;\n    position: fixed;\n    right: 0;\n    top: 40px;\n    width: $wrapper-default-width;\n\n    @media (min-width: $break-point-small) {\n      width: $wrapper-max-width-small;\n    }\n\n    @media (min-width: $break-point-medium) {\n      width: $wrapper-max-width-medium;\n    }\n\n    @media (min-width: $break-point-large) {\n      width: $wrapper-max-width-large;\n    }\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n    }\n\n    .url {\n      input:dir(ltr) {\n        padding-right: 32px;\n      }\n\n      input:dir(rtl) {\n        padding-left: 32px;\n\n        &:not(:placeholder-shown) {\n          direction: ltr;\n          text-align: right;\n        }\n      }\n    }\n\n    .enable-custom-image-input {\n      display: inline-block;\n      font-size: 13px;\n      margin-top: 4px;\n      cursor: pointer;\n\n      &:hover {\n        text-decoration: underline;\n      }\n    }\n\n    .custom-image-input-container {\n      margin-top: 4px;\n\n      .loading-container {\n        width: 16px;\n        height: 16px;\n        overflow: hidden;\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n\n      // This animation is derived from Firefox's tab loading animation\n      // See https://searchfox.org/mozilla-central/rev/b29daa46443b30612415c35be0a3c9c13b9dc5f6/browser/themes/shared/tabs.inc.css#208-216\n      .loading-animation {\n        @keyframes tab-throbber-animation {\n          100% { transform: translateX(-960px); }\n        }\n\n        @keyframes tab-throbber-animation-rtl {\n          100% { transform: translateX(960px); }\n        }\n\n        width: 960px;\n        height: 16px;\n        -moz-context-properties: fill;\n        fill: $blue-50;\n        background-image: url('chrome://browser/skin/tabbrowser/loading.svg');\n        animation: tab-throbber-animation 1.05s steps(60) infinite;\n\n        &:dir(rtl) {\n          animation-name: tab-throbber-animation-rtl;\n        }\n      }\n    }\n\n    input {\n      &[type='text'] {\n        background-color: var(--newtab-textbox-background-color);\n        border: $input-border;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n        font-size: 15px;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: var(--newtab-textbox-focus-boxshadow);\n        }\n\n        &[disabled] {\n          border: $input-border;\n          box-shadow: none;\n          opacity: 0.4;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
 		".sections-list {\n  .section-list {\n    display: grid;\n    grid-gap: $base-gutter;\n    grid-template-columns: repeat(auto-fit, $card-width);\n    margin: 0;\n\n    @media (max-width: $break-point-medium) {\n      @include context-menu-open-left;\n    }\n\n    @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n      :nth-child(2n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n  }\n\n  .section-empty-state {\n    border: $border-secondary;\n    border-radius: $border-radius;\n    display: flex;\n    height: $card-height;\n    width: 100%;\n\n    .empty-state {\n      margin: auto;\n      max-width: 350px;\n\n      .empty-state-icon {\n        background-position: center;\n        background-repeat: no-repeat;\n        background-size: 50px 50px;\n        -moz-context-properties: fill;\n        display: block;\n        fill: var(--newtab-icon-secondary-color);\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: var(--newtab-text-primary-color);\n        font-size: 13px;\n        margin-bottom: 0;\n        text-align: center;\n      }\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .sections-list {\n    .section-list {\n      @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n        :nth-child(3n) {\n          @include context-menu-open-left;\n        }\n      }\n\n      @media (min-width: $break-point-widest) {\n        grid-template-columns: repeat(auto-fit, $card-width-large);\n      }\n    }\n  }\n\n  .section-empty-state {\n    height: $card-height-large;\n  }\n}\n",
 		".topic {\n  color: var(--newtab-section-navigation-text-color);\n  font-size: 12px;\n  line-height: 1.6;\n  margin-top: $topic-margin-top;\n\n  @media (min-width: $break-point-large) {\n    line-height: 16px;\n  }\n\n  ul {\n    margin: 0;\n    padding: 0;\n    @media (min-width: $break-point-large) {\n      display: inline;\n      padding-inline-start: 12px;\n    }\n  }\n\n\n  ul li {\n    display: inline-block;\n\n    &::after {\n      content: '•';\n      padding: 8px;\n    }\n\n    &:last-child::after {\n      content: none;\n    }\n  }\n\n  .topic-link {\n    color: var(--newtab-link-secondary-color);\n    font-weight: bold;\n  }\n\n  .topic-read-more {\n    color: var(--newtab-link-secondary-color);\n    font-weight: bold;\n\n    @media (min-width: $break-point-large) {\n      // This is floating to accomodate a very large number of topics and/or\n      // very long topic names due to l10n.\n      float: right;\n\n      &:dir(rtl) {\n        float: left;\n      }\n    }\n\n    &::after {\n      background: url('#{$image-path}topic-show-more-12.svg') no-repeat center center;\n      content: '';\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: var(--newtab-link-secondary-color);\n      height: 16px;\n      margin-inline-start: 5px;\n      vertical-align: top;\n      width: 12px;\n    }\n\n    &:dir(rtl)::after  {\n      transform: scaleX(-1);\n    }\n  }\n\n  // This is a clearfix to for the topics-read-more link which is floating and causes\n  // some jank when we set overflow:hidden for the animation.\n  &::after {\n    clear: both;\n    content: '';\n    display: table;\n  }\n}\n",
-		".search-wrapper {\n  $search-height: 35px;\n  $search-icon-size: 18px;\n  $search-icon-padding: 8px;\n  $search-icon-width: 2 * $search-icon-padding + $search-icon-size;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  margin-bottom: $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    background: var(--newtab-textbox-background-color) var(--newtab-search-icon) $search-icon-padding center / $search-icon-size no-repeat;\n    border: solid 1px var(--newtab-search-border-color);\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-icon-width;\n    width: 100%;\n\n    &:dir(rtl) {\n      background-position-x: right $search-icon-padding;\n    }\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    border: $input-border-active;\n    box-shadow: var(--newtab-textbox-focus-boxshadow);\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n}\n\n@at-root {\n  // Adjust the style of the contentSearchUI-generated table\n  // sass-lint:disable-block class-name-format\n  .contentSearchSuggestionTable {\n    background-color: var(--newtab-search-dropdown-color);\n    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY($textbox-shadow-size);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-search-dropdown-header-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSettingsButton {\n      border-color: var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSuggestionsList {\n      border: 0;\n    }\n\n    .contentSearchOneOffsTable {\n      background-color: var(--newtab-search-dropdown-header-color);\n      border-top: solid 1px var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSearchWithHeaderSearchText {\n      color: var(--newtab-text-primary-color);\n    }\n\n    .contentSearchSuggestionsContainer {\n      background-color: var(--newtab-search-dropdown-color);\n    }\n\n    .contentSearchSuggestionRow {\n      &.selected {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        .historyIcon {\n          fill: var(--newtab-icon-secondary-color);\n        }\n      }\n    }\n\n    .contentSearchOneOffsTable {\n      .contentSearchSuggestionsContainer {\n        background-color: var(--newtab-search-dropdown-header-color);\n      }\n    }\n\n    .contentSearchOneOffItem {\n      background-image: none;\n      position: relative;\n\n      &.selected {\n        background: var(--newtab-element-hover-color);\n      }\n\n      &:active {\n        background: var(--newtab-element-active-color);\n      }\n\n      &::after {\n        border-right: solid 1px var(--newtab-border-secondary-color);\n        content: '';\n        height: 22px;\n        offset-inline-end: 0;\n        position: absolute;\n        top: 5px;\n      }\n    }\n\n    .contentSearchSettingsButton {\n      &:hover {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n      }\n    }\n  }\n}\n",
+		".search-wrapper {\n  $search-height: 35px;\n  $search-icon-size: 18px;\n  $search-icon-padding: 8px;\n  $search-icon-width: 2 * $search-icon-padding + $search-icon-size;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  margin-bottom: $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    background: var(--newtab-textbox-background-color) var(--newtab-search-icon) $search-icon-padding center / $search-icon-size no-repeat;\n    border: solid 1px var(--newtab-search-border-color);\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-icon-width;\n    width: 100%;\n\n    &:dir(rtl) {\n      background-position-x: right $search-icon-padding;\n    }\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    border: $input-border-active;\n    box-shadow: var(--newtab-textbox-focus-boxshadow);\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n}\n\n@at-root {\n  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable {\n    background-color: var(--newtab-search-dropdown-color);\n    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY($textbox-shadow-size);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-search-dropdown-header-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSettingsButton {\n      border-color: var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSuggestionsList {\n      border: 0;\n    }\n\n    .contentSearchOneOffsTable {\n      background-color: var(--newtab-search-dropdown-header-color);\n      border-top: solid 1px var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSearchWithHeaderSearchText {\n      color: var(--newtab-text-primary-color);\n    }\n\n    .contentSearchSuggestionsContainer {\n      background-color: var(--newtab-search-dropdown-color);\n    }\n\n    .contentSearchSuggestionRow {\n      &.selected {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        .historyIcon {\n          fill: var(--newtab-icon-secondary-color);\n        }\n      }\n    }\n\n    .contentSearchOneOffsTable {\n      .contentSearchSuggestionsContainer {\n        background-color: var(--newtab-search-dropdown-header-color);\n      }\n    }\n\n    .contentSearchOneOffItem {\n      // Make the border slightly shorter by offsetting from the top and bottom\n      $border-offset: 18%;\n\n      background-image: none;\n      border-image: linear-gradient(transparent $border-offset, var(--newtab-border-secondary-color) $border-offset, var(--newtab-border-secondary-color) 100% - $border-offset, transparent 100% - $border-offset) 1;\n      border-inline-end: 1px solid;\n      position: relative;\n\n      &.selected {\n        background: var(--newtab-element-hover-color);\n      }\n\n      &:active {\n        background: var(--newtab-element-active-color);\n      }\n    }\n\n    .contentSearchSettingsButton {\n      &:hover {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n      }\n    }\n  }\n}\n",
 		".context-menu {\n  background: var(--newtab-contextmenu-background-color);\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: $border-secondary;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: var(--newtab-element-hover-color);\n        }\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\n  }\n}\n",
 		".confirmation-dialog {\n  .modal {\n    box-shadow: 0 2px 2px 0 $black-10;\n    left: 50%;\n    margin-left: -200px;\n    position: fixed;\n    top: 20%;\n    width: 400px;\n  }\n\n  section {\n    margin: 0;\n  }\n\n  .modal-message {\n    display: flex;\n    padding: 16px;\n    padding-bottom: 0;\n\n    p {\n      margin: 0;\n      margin-bottom: 16px;\n    }\n  }\n\n  .actions {\n    border: 0;\n    display: flex;\n    flex-wrap: nowrap;\n    padding: 0 16px;\n\n    button {\n      margin-inline-end: 16px;\n      padding-inline-end: 18px;\n      padding-inline-start: 18px;\n      white-space: normal;\n      width: 50%;\n\n      &.done {\n        margin-inline-end: 0;\n        margin-inline-start: 0;\n      }\n    }\n  }\n\n  .icon {\n    margin-inline-end: 16px;\n  }\n}\n\n.modal-overlay {\n  background: var(--newtab-overlay-color);\n  height: 100%;\n  left: 0;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  z-index: 11001;\n}\n\n.modal {\n  background: var(--newtab-modal-color);\n  border: $border-secondary;\n  border-radius: 5px;\n  font-size: 15px;\n  z-index: 11002;\n}\n",
 		".card-outer {\n  @include context-menu-button;\n  background: var(--newtab-card-background-color);\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: var(--newtab-card-shadow);\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: var(--newtab-link-primary-color);\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: var(--newtab-link-primary-color);\n    }\n\n    .alternate ~ .card-host-name {\n      display: none;\n    }\n\n    .card-host-name.alternate {\n      display: block;\n    }\n  }\n\n  .card-preview-image-outer {\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid var(--newtab-card-hairline-color);\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: var(--newtab-text-secondary-color);\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-host-name.alternate { display: none; }\n\n  .card-download-icon {\n    float: inline-end;\n    margin-inline-start: 15px;\n    margin-top: 2px;\n\n    &.icon-download-folder {\n      height: $small-download-folder-icon-size;\n      width: $small-download-folder-icon-size;\n    }\n  }\n\n  .card-title {\n    font-size: 14px;\n    font-weight: 600;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: var(--newtab-text-tertiary-color);\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 9px 16px 9px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: var(--newtab-icon-tertiary-color);\n    height: 22px;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: 22px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\n  $line-height: 23px;\n\n  .card-outer {\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n\n      .card-preview-image-outer {\n        height: $card-preview-image-height-large;\n      }\n\n      .card-details {\n        padding: 13px 16px 12px;\n      }\n\n      .card-text {\n        max-height: 6 * $line-height + $card-title-margin;\n      }\n\n      .card-host-name {\n        font-size: 12px;\n        padding-bottom: 5px;\n      }\n\n      .card-download-icon {\n        &.icon-download-folder {\n          height: $large-download-folder-icon-size;\n          width: $large-download-folder-icon-size;\n        }\n      }\n\n      .card-title {\n        font-size: 17px;\n        line-height: $line-height;\n        margin-bottom: 0;\n      }\n\n      .card-text:not(.no-description) {\n        .card-title {\n          max-height: 3 * $line-height;\n        }\n      }\n\n      .card-description {\n        font-size: 15px;\n        line-height: $line-height;\n      }\n\n      .card-context {\n        bottom: 4px;\n        font-size: 14px;\n      }\n    }\n  }\n}\n",
 		".manual-migration-container {\n  color: var(--newtab-text-conditional-color);\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: $section-spacing;\n  text-align: center;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    text-align: left;\n  }\n\n  p {\n    margin: 0;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n\n  .icon {\n    display: none;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: block;\n      fill: var(--newtab-icon-secondary-color);\n      margin-inline-end: 6px;\n    }\n  }\n}\n\n.manual-migration-actions {\n  border: 0;\n  display: block;\n  flex-wrap: nowrap;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    padding: 0;\n  }\n\n  button {\n    align-self: center;\n    height: 26px;\n    margin: 0;\n    margin-inline-start: 20px;\n    padding: 0 12px;\n  }\n}\n",
 		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n  transition-delay: 100ms;\n  transition-duration: 100ms;\n  transition-property: background-color;\n\n  .section-title {\n    font-size: $section-title-font-size;\n    font-weight: bold;\n    margin: 0;\n    text-transform: uppercase;\n\n    span {\n      color: var(--newtab-section-header-text-color);\n      display: inline-block;\n      fill: var(--newtab-section-header-text-color);\n      vertical-align: middle;\n    }\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    height: 19px;\n    margin-bottom: 13px;\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: var(--newtab-section-header-text-color);\n      height: 100%;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n        opacity: 1;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: var(--newtab-element-hover-color);\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: var(--newtab-section-active-contextmenu-color);\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: var(--newtab-text-conditional-color);\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: var(--newtab-link-primary-color);\n      font-weight: bold;\n      padding-left: 3px;\n    }\n\n    button {\n      background: var(--newtab-button-secondary-color);\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n",
-		"\n.messages-admin {\n  $monospace: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', 'Droid Sans Mono', 'Source Code Pro', monospace;\n  max-width: 996px;\n  margin: 0 auto;\n  font-size: 14px;\n  // Reset .outer-wrapper styles\n  display: inherit;\n  padding: 0;\n\n  h1 {\n    font-weight: 200;\n    font-size: 32px;\n  }\n\n  table {\n    border-collapse: collapse;\n    width: 100%;\n  }\n\n  .message-item {\n    &:first-child td {\n      border-top: 1px solid $black-10;\n    }\n\n    td {\n      vertical-align: top;\n      border-bottom: 1px solid $black-10;\n      padding: 8px;\n\n      &:first-child {\n        border-left: 1px solid $black-10;\n      }\n\n      &:last-child {\n        border-right: 1px solid $black-10;\n      }\n    }\n\n    &.current {\n      .message-id span {\n        background: $yellow-50;\n        padding: 2px 5px;\n      }\n    }\n\n    &.blocked {\n      .message-id,\n      .message-summary {\n        opacity: 0.5;\n      }\n\n      .message-id {\n        color: $grey-90;\n      }\n    }\n\n    .message-id {\n      font-family: $monospace;\n      font-size: 12px;\n    }\n  }\n\n  pre {\n    background: $white;\n    margin: 0;\n    padding: 8px;\n    font-size: 12px;\n    max-width: 750px;\n    overflow: auto;\n    font-family: $monospace;\n  }\n}\n"
+		"\n.asrouter-admin {\n  $border-color: var(--newtab-border-secondary-color);\n  $monospace: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', 'Droid Sans Mono', 'Source Code Pro', monospace;\n  max-width: 996px;\n  margin: 0 auto;\n  font-size: 14px;\n  // Reset .outer-wrapper styles\n  display: inherit;\n  padding: 0 0 42px;\n\n  h1 {\n    font-weight: 200;\n    font-size: 32px;\n  }\n\n  table {\n    border-collapse: collapse;\n    width: 100%;\n  }\n\n  .message-item {\n    &:first-child td {\n      border-top: 1px solid $border-color;\n    }\n\n    td {\n      vertical-align: top;\n      border-bottom: 1px solid $border-color;\n      padding: 8px;\n\n      &:first-child {\n        border-left: 1px solid $border-color;\n      }\n\n      &:last-child {\n        border-right: 1px solid $border-color;\n      }\n    }\n\n    &.current {\n      .message-id span {\n        background: $yellow-50;\n        padding: 2px 5px;\n\n        .dark-theme & {\n          color: $black;\n        }\n      }\n    }\n\n    &.blocked {\n      .message-id,\n      .message-summary {\n        opacity: 0.5;\n      }\n\n      .message-id {\n        opacity: 0.5;\n      }\n    }\n\n    .message-id {\n      font-family: $monospace;\n      font-size: 12px;\n    }\n  }\n\n  pre {\n    background: var(--newtab-textbox-background-color);\n    margin: 0;\n    padding: 8px;\n    font-size: 12px;\n    max-width: 750px;\n    overflow: auto;\n    font-family: $monospace;\n  }\n}\n",
+		".ASRouterButton {\n  white-space: nowrap;\n  border-radius: 4px;\n  border: 1px solid var(--newtab-border-secondary-color);\n  background-color: var(--newtab-button-secondary-color);\n  font-family: inherit;\n  padding: 8px 15px;\n  margin-left: 12px;\n  color: inherit;\n}\n",
+		".SnippetBaseContainer {\n  position: fixed;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  background-color: var(--newtab-snippets-background-color);\n  color: var(--newtab-text-primary-color);\n  font-size: 12px;\n  line-height: 16px;\n  border-top: 1px solid var(--newtab-snippets-hairline-color);\n  box-shadow: $shadow-secondary;\n  display: flex;\n  align-items: center;\n\n  .innerWrapper {\n    margin: 0 auto;\n    display: flex;\n    align-items: center;\n    padding: 12px $section-horizontal-padding;\n\n    // This is to account for the block button on smaller screens\n    padding-inline-end: 36px;\n    @media (min-width: $break-point-large) {\n      padding-inline-end: $section-horizontal-padding;\n    }\n\n    max-width: $wrapper-max-width-large;\n    @media (min-width: $break-point-widest) {\n      max-width: $wrapper-max-width-widest;\n    }\n  }\n\n  .blockButton {\n    display: none;\n    background: none;\n    border: 0;\n    position: absolute;\n    top: 50%;\n    offset-inline-end: 12px;\n    height: 16px;\n    width: 16px;\n    background-image: url('resource://activity-stream/data/content/assets/glyph-dismiss-16.svg');\n    -moz-context-properties: fill;\n    fill: var(--newtab-icon-primary-color);\n    opacity: 0.5;\n    margin-top: -8px;\n    padding: 0;\n    cursor: pointer;\n\n    @media (min-width: 766px) {\n      offset-inline-end: 24px;\n    }\n  }\n\n  &:hover .blockButton {\n    display: block;\n  }\n}\n",
+		".SimpleSnippet {\n  .title {\n    display: inline;\n    font-size: inherit;\n    margin: 0;\n  }\n\n  .body {\n    display: inline;\n    margin: 0;\n  }\n\n  .icon {\n    height: 42px;\n    width: 42px;\n    margin-inline-end: 12px;\n    flex-shrink: 0;\n  }\n}\n"
 	],
 	"names": [],
-	"mappings": "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"
+	"mappings": "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"
 }
\ No newline at end of file
--- a/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
+++ b/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
@@ -55,17 +55,17 @@
 /******/
 /******/ 	// Object.prototype.hasOwnProperty.call
 /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
 /******/
 /******/ 	// __webpack_public_path__
 /******/ 	__webpack_require__.p = "";
 /******/
 /******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 18);
+/******/ 	return __webpack_require__(__webpack_require__.s = 19);
 /******/ })
 /************************************************************************/
 /******/ ([
 /* 0 */
 /***/ (function(module, exports) {
 
 module.exports = React;
 
@@ -107,17 +107,17 @@ const globalImportContext = typeof Windo
 // {
 //   INIT: "INIT",
 //   UNINIT: "UNINIT"
 // }
 const actionTypes = {};
 /* harmony export (immutable) */ __webpack_exports__["b"] = actionTypes;
 
 
-for (const type of ["ARCHIVE_FROM_POCKET", "BLOCK_URL", "BOOKMARK_URL", "COPY_DOWNLOAD_LINK", "DELETE_BOOKMARK_BY_ID", "DELETE_FROM_POCKET", "DELETE_HISTORY_URL", "DIALOG_CANCEL", "DIALOG_OPEN", "DISABLE_ONBOARDING", "DOWNLOAD_CHANGED", "GO_TO_DOWNLOAD_PAGE", "INIT", "MIGRATION_CANCEL", "MIGRATION_COMPLETED", "MIGRATION_START", "NEW_TAB_INIT", "NEW_TAB_INITIAL_STATE", "NEW_TAB_LOAD", "NEW_TAB_REHYDRATED", "NEW_TAB_STATE_REQUEST", "NEW_TAB_UNLOAD", "OPEN_DOWNLOAD_FILE", "OPEN_LINK", "OPEN_NEW_WINDOW", "OPEN_PRIVATE_WINDOW", "PAGE_PRERENDERED", "PLACES_BOOKMARK_ADDED", "PLACES_BOOKMARK_REMOVED", "PLACES_HISTORY_CLEARED", "PLACES_LINKS_CHANGED", "PLACES_LINK_BLOCKED", "PLACES_LINK_DELETED", "PLACES_SAVED_TO_POCKET", "PREFS_INITIAL_VALUES", "PREF_CHANGED", "PREVIEW_REQUEST", "PREVIEW_REQUEST_CANCEL", "PREVIEW_RESPONSE", "REMOVE_DOWNLOAD_FILE", "RICH_ICON_MISSING", "SAVE_SESSION_PERF_DATA", "SAVE_TO_POCKET", "SCREENSHOT_UPDATED", "SECTION_DEREGISTER", "SECTION_DISABLE", "SECTION_ENABLE", "SECTION_MOVE", "SECTION_OPTIONS_CHANGED", "SECTION_REGISTER", "SECTION_UPDATE", "SECTION_UPDATE_CARD", "SETTINGS_CLOSE", "SETTINGS_OPEN", "SET_PREF", "SHOW_DOWNLOAD_FILE", "SHOW_FIREFOX_ACCOUNTS", "SNIPPETS_BLOCKLIST_CLEARED", "SNIPPETS_BLOCKLIST_UPDATED", "SNIPPETS_DATA", "SNIPPETS_RESET", "SNIPPET_BLOCKED", "SYSTEM_TICK", "TELEMETRY_IMPRESSION_STATS", "TELEMETRY_PERFORMANCE_EVENT", "TELEMETRY_UNDESIRED_EVENT", "TELEMETRY_USER_EVENT", "THEME_UPDATE", "TOP_SITES_CANCEL_EDIT", "TOP_SITES_EDIT", "TOP_SITES_INSERT", "TOP_SITES_PIN", "TOP_SITES_PREFS_UPDATED", "TOP_SITES_UNPIN", "TOP_SITES_UPDATED", "TOTAL_BOOKMARKS_REQUEST", "TOTAL_BOOKMARKS_RESPONSE", "UNINIT", "UPDATE_SECTION_PREFS", "WEBEXT_CLICK", "WEBEXT_DISMISS"]) {
+for (const type of ["ARCHIVE_FROM_POCKET", "AS_ROUTER_TELEMETRY_USER_EVENT", "BLOCK_URL", "BOOKMARK_URL", "COPY_DOWNLOAD_LINK", "DELETE_BOOKMARK_BY_ID", "DELETE_FROM_POCKET", "DELETE_HISTORY_URL", "DIALOG_CANCEL", "DIALOG_OPEN", "DISABLE_ONBOARDING", "DOWNLOAD_CHANGED", "INIT", "MIGRATION_CANCEL", "MIGRATION_COMPLETED", "MIGRATION_START", "NEW_TAB_INIT", "NEW_TAB_INITIAL_STATE", "NEW_TAB_LOAD", "NEW_TAB_REHYDRATED", "NEW_TAB_STATE_REQUEST", "NEW_TAB_UNLOAD", "OPEN_DOWNLOAD_FILE", "OPEN_LINK", "OPEN_NEW_WINDOW", "OPEN_PRIVATE_WINDOW", "PAGE_PRERENDERED", "PLACES_BOOKMARK_ADDED", "PLACES_BOOKMARK_REMOVED", "PLACES_HISTORY_CLEARED", "PLACES_LINKS_CHANGED", "PLACES_LINK_BLOCKED", "PLACES_LINK_DELETED", "PLACES_SAVED_TO_POCKET", "PREFS_INITIAL_VALUES", "PREF_CHANGED", "PREVIEW_REQUEST", "PREVIEW_REQUEST_CANCEL", "PREVIEW_RESPONSE", "REMOVE_DOWNLOAD_FILE", "RICH_ICON_MISSING", "SAVE_SESSION_PERF_DATA", "SAVE_TO_POCKET", "SCREENSHOT_UPDATED", "SECTION_DEREGISTER", "SECTION_DISABLE", "SECTION_ENABLE", "SECTION_MOVE", "SECTION_OPTIONS_CHANGED", "SECTION_REGISTER", "SECTION_UPDATE", "SECTION_UPDATE_CARD", "SETTINGS_CLOSE", "SETTINGS_OPEN", "SET_PREF", "SHOW_DOWNLOAD_FILE", "SHOW_FIREFOX_ACCOUNTS", "SNIPPETS_BLOCKLIST_CLEARED", "SNIPPETS_BLOCKLIST_UPDATED", "SNIPPETS_DATA", "SNIPPETS_RESET", "SNIPPET_BLOCKED", "SYSTEM_TICK", "TELEMETRY_IMPRESSION_STATS", "TELEMETRY_PERFORMANCE_EVENT", "TELEMETRY_UNDESIRED_EVENT", "TELEMETRY_USER_EVENT", "THEME_UPDATE", "TOP_SITES_CANCEL_EDIT", "TOP_SITES_EDIT", "TOP_SITES_INSERT", "TOP_SITES_PIN", "TOP_SITES_PREFS_UPDATED", "TOP_SITES_UNPIN", "TOP_SITES_UPDATED", "TOTAL_BOOKMARKS_REQUEST", "TOTAL_BOOKMARKS_RESPONSE", "UNINIT", "UPDATE_SECTION_PREFS", "WEBEXT_CLICK", "WEBEXT_DISMISS"]) {
   actionTypes[type] = type;
 }
 
 // Helper function for creating routed actions between content and main
 // Not intended to be used by consumers
 function _RouteMessage(action, options) {
   const meta = action.meta ? Object.assign({}, action.meta) : {};
   if (!options || !options.from || !options.to) {
@@ -234,16 +234,30 @@ function AlsoToPreloaded(action) {
 function UserEvent(data) {
   return AlsoToMain({
     type: actionTypes.TELEMETRY_USER_EVENT,
     data
   });
 }
 
 /**
+ * ASRouterUserEvent - A telemetry ping indicating a user action from AS router. This should only
+ *                     be sent from the UI during a user session.
+ *
+ * @param  {object} data Fields to include in the ping (source, etc.)
+ * @return {object} An AlsoToMain action
+ */
+function ASRouterUserEvent(data) {
+  return AlsoToMain({
+    type: actionTypes.AS_ROUTER_TELEMETRY_USER_EVENT,
+    data
+  });
+}
+
+/**
  * UndesiredEvent - A telemetry ping indicating an undesired state.
  *
  * @param  {object} data Fields to include in the ping (value, etc.)
  * @param  {int} importContext (For testing) Override the import context for testing.
  * @return {object} An action. For UI code, a AlsoToMain action.
  */
 function UndesiredEvent(data, importContext = globalImportContext) {
   const action = {
@@ -294,16 +308,17 @@ function WebExtEvent(type, data, importC
   }
   const action = { type, data };
   return importContext === UI_CODE ? AlsoToMain(action) : action;
 }
 
 var actionCreators = {
   BroadcastToContent,
   UserEvent,
+  ASRouterUserEvent,
   UndesiredEvent,
   PerfEvent,
   ImpressionStats,
   AlsoToOneContent,
   OnlyToOneContent,
   AlsoToMain,
   OnlyToMain,
   AlsoToPreloaded,
@@ -855,110 +870,282 @@ function Theme(prevState = INITIAL_STATE
 
 var reducers = { TopSites, App, Snippets, Prefs, Dialog, Sections, Theme };
 
 /***/ }),
 /* 7 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
-/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (immutable) */ __webpack_exports__["b"] = initMessageCenter;
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__templates_SimpleSnippet__ = __webpack_require__(20);
+/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (immutable) */ __webpack_exports__["b"] = initASRouter;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_content_src_lib_init_store__ = __webpack_require__(8);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_dom__ = __webpack_require__(9);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react_dom__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__templates_SimpleSnippet_SimpleSnippet__ = __webpack_require__(22);
 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
 
 
 
 
 
-const INCOMING_MESSAGE_NAME = "MessageCenter:parent-to-child";
-const OUTGOING_MESSAGE_NAME = "MessageCenter:child-to-parent";
-
-const MessageCenterUtils = {
+
+
+const INCOMING_MESSAGE_NAME = "ASRouter:parent-to-child";
+const OUTGOING_MESSAGE_NAME = "ASRouter:child-to-parent";
+
+// Note: Provider is hardcoded right now since we only have one message provider.
+// When we have more than one, it will need to come from the message data.
+const PROVIDER = "snippets";
+
+const ASRouterUtils = {
   addListener(listener) {
     global.addMessageListener(INCOMING_MESSAGE_NAME, listener);
   },
   removeListener(listener) {
     global.removeMessageListener(INCOMING_MESSAGE_NAME, listener);
   },
   sendMessage(action) {
     global.sendAsyncMessage(OUTGOING_MESSAGE_NAME, action);
   },
   blockById(id) {
-    MessageCenterUtils.sendMessage({ type: "BLOCK_MESSAGE_BY_ID", data: { id } });
+    ASRouterUtils.sendMessage({ type: "BLOCK_MESSAGE_BY_ID", data: { id } });
   },
   unblockById(id) {
-    MessageCenterUtils.sendMessage({ type: "UNBLOCK_MESSAGE_BY_ID", data: { id } });
+    ASRouterUtils.sendMessage({ type: "UNBLOCK_MESSAGE_BY_ID", data: { id } });
+  },
+  sendUserActionTelemetry(data) {
+    const eventType = `${PROVIDER}_user_event`;
+    const payload = __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].ASRouterUserEvent(Object.assign({}, data, { action: eventType }));
+    global.sendAsyncMessage(__WEBPACK_IMPORTED_MODULE_1_content_src_lib_init_store__["a" /* OUTGOING_MESSAGE_NAME */], payload);
   },
   getNextMessage() {
-    MessageCenterUtils.sendMessage({ type: "GET_NEXT_MESSAGE" });
+    ASRouterUtils.sendMessage({ type: "GET_NEXT_MESSAGE" });
   }
 };
-/* harmony export (immutable) */ __webpack_exports__["a"] = MessageCenterUtils;
-
-
-class MessageCenterUISurface extends __WEBPACK_IMPORTED_MODULE_0_react___default.a.PureComponent {
+/* harmony export (immutable) */ __webpack_exports__["a"] = ASRouterUtils;
+
+
+class ASRouterUISurface extends __WEBPACK_IMPORTED_MODULE_2_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this.onMessageFromParent = this.onMessageFromParent.bind(this);
     this.state = { message: {} };
   }
 
   onBlockById(id) {
-    return () => MessageCenterUtils.blockById(id);
+    return () => ASRouterUtils.blockById(id);
   }
 
   onMessageFromParent({ data: action }) {
     switch (action.type) {
       case "SET_MESSAGE":
         this.setState({ message: action.data });
         break;
       case "CLEAR_MESSAGE":
         this.setState({ message: {} });
         break;
     }
   }
 
   componentWillMount() {
-    MessageCenterUtils.addListener(this.onMessageFromParent);
-    MessageCenterUtils.sendMessage({ type: "CONNECT_UI_REQUEST" });
+    ASRouterUtils.addListener(this.onMessageFromParent);
+    ASRouterUtils.sendMessage({ type: "CONNECT_UI_REQUEST" });
   }
 
   componentWillUnmount() {
-    MessageCenterUtils.removeMessageListener(this.onMessageFromParent);
+    ASRouterUtils.removeMessageListener(this.onMessageFromParent);
   }
 
   render() {
     const { message } = this.state;
     if (!message.id) {
       return null;
     }
-
-    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__templates_SimpleSnippet__["a" /* SimpleSnippet */], _extends({}, message, {
-      getNextMessage: MessageCenterUtils.getNextMessage,
-      onBlock: this.onBlockById(message.id) }));
+    return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__templates_SimpleSnippet_SimpleSnippet__["a" /* SimpleSnippet */], _extends({}, message, {
+      UISurface: this.props.id,
+      getNextMessage: ASRouterUtils.getNextMessage,
+      onBlock: this.onBlockById(message.id),
+      sendUserActionTelemetry: ASRouterUtils.sendUserActionTelemetry }));
   }
 }
 
-function initMessageCenter() {
-  __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(MessageCenterUISurface, null), document.getElementById("snippets-container"));
+function initASRouter() {
+  __WEBPACK_IMPORTED_MODULE_3_react_dom___default.a.render(__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(ASRouterUISurface, { id: "NEWTAB_FOOTER_BAR" }), document.getElementById("snippets-container"));
 }
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
 /* 8 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (immutable) */ __webpack_exports__["b"] = initStore;
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_redux__ = __webpack_require__(21);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_redux__);
+/* eslint-env mozilla/frame-script */
+
+
+
+
+const MERGE_STORE_ACTION = "NEW_TAB_INITIAL_STATE";
+/* unused harmony export MERGE_STORE_ACTION */
+
+const OUTGOING_MESSAGE_NAME = "ActivityStream:ContentToMain";
+/* harmony export (immutable) */ __webpack_exports__["a"] = OUTGOING_MESSAGE_NAME;
+
+const INCOMING_MESSAGE_NAME = "ActivityStream:MainToContent";
+/* unused harmony export INCOMING_MESSAGE_NAME */
+
+const EARLY_QUEUED_ACTIONS = [__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SAVE_SESSION_PERF_DATA, __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].PAGE_PRERENDERED];
+/* unused harmony export EARLY_QUEUED_ACTIONS */
+
+
+/**
+ * A higher-order function which returns a reducer that, on MERGE_STORE action,
+ * will return the action.data object merged into the previous state.
+ *
+ * For all other actions, it merely calls mainReducer.
+ *
+ * Because we want this to merge the entire state object, it's written as a
+ * higher order function which takes the main reducer (itself often a call to
+ * combineReducers) as a parameter.
+ *
+ * @param  {function} mainReducer reducer to call if action != MERGE_STORE_ACTION
+ * @return {function}             a reducer that, on MERGE_STORE_ACTION action,
+ *                                will return the action.data object merged
+ *                                into the previous state, and the result
+ *                                of calling mainReducer otherwise.
+ */
+function mergeStateReducer(mainReducer) {
+  return (prevState, action) => {
+    if (action.type === MERGE_STORE_ACTION) {
+      return Object.assign({}, prevState, action.data);
+    }
+
+    return mainReducer(prevState, action);
+  };
+}
+
+/**
+ * messageMiddleware - Middleware that looks for SentToMain type actions, and sends them if necessary
+ */
+const messageMiddleware = store => next => action => {
+  const skipLocal = action.meta && action.meta.skipLocal;
+  if (__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isSendToMain(action)) {
+    sendAsyncMessage(OUTGOING_MESSAGE_NAME, action);
+  }
+  if (!skipLocal) {
+    next(action);
+  }
+};
+
+const rehydrationMiddleware = store => next => action => {
+  if (store._didRehydrate) {
+    return next(action);
+  }
+
+  const isMergeStoreAction = action.type === MERGE_STORE_ACTION;
+  const isRehydrationRequest = action.type === __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].NEW_TAB_STATE_REQUEST;
+
+  if (isRehydrationRequest) {
+    store._didRequestInitialState = true;
+    return next(action);
+  }
+
+  if (isMergeStoreAction) {
+    store._didRehydrate = true;
+    return next(action);
+  }
+
+  // If init happened after our request was made, we need to re-request
+  if (store._didRequestInitialState && action.type === __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].INIT) {
+    return next(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].NEW_TAB_STATE_REQUEST }));
+  }
+
+  if (__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isBroadcastToContent(action) || __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isSendToOneContent(action) || __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isSendToPreloaded(action)) {
+    // Note that actions received before didRehydrate will not be dispatched
+    // because this could negatively affect preloading and the the state
+    // will be replaced by rehydration anyway.
+    return null;
+  }
+
+  return next(action);
+};
+/* unused harmony export rehydrationMiddleware */
+
+
+/**
+ * This middleware queues up all the EARLY_QUEUED_ACTIONS until it receives
+ * the first action from main. This is useful for those actions for main which
+ * require higher reliability, i.e. the action will not be lost in the case
+ * that it gets sent before the main is ready to receive it. Conversely, any
+ * actions allowed early are accepted to be ignorable or re-sendable.
+ */
+const queueEarlyMessageMiddleware = store => next => action => {
+  if (store._receivedFromMain) {
+    next(action);
+  } else if (__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isFromMain(action)) {
+    next(action);
+    store._receivedFromMain = true;
+    // Sending out all the early actions as main is ready now
+    if (store._earlyActionQueue) {
+      store._earlyActionQueue.forEach(next);
+      store._earlyActionQueue = [];
+    }
+  } else if (EARLY_QUEUED_ACTIONS.includes(action.type)) {
+    store._earlyActionQueue = store._earlyActionQueue || [];
+    store._earlyActionQueue.push(action);
+  } else {
+    // Let any other type of action go through
+    next(action);
+  }
+};
+/* unused harmony export queueEarlyMessageMiddleware */
+
+
+/**
+ * initStore - Create a store and listen for incoming actions
+ *
+ * @param  {object} reducers An object containing Redux reducers
+ * @param  {object} intialState (optional) The initial state of the store, if desired
+ * @return {object}          A redux store
+ */
+function initStore(reducers, initialState) {
+  const store = Object(__WEBPACK_IMPORTED_MODULE_1_redux__["createStore"])(mergeStateReducer(Object(__WEBPACK_IMPORTED_MODULE_1_redux__["combineReducers"])(reducers)), initialState, global.addMessageListener && Object(__WEBPACK_IMPORTED_MODULE_1_redux__["applyMiddleware"])(rehydrationMiddleware, queueEarlyMessageMiddleware, messageMiddleware));
+
+  store._didRehydrate = false;
+  store._didRequestInitialState = false;
+
+  if (global.addMessageListener) {
+    global.addMessageListener(INCOMING_MESSAGE_NAME, msg => {
+      try {
+        store.dispatch(msg.data);
+      } catch (ex) {
+        console.error("Content msg:", msg, "Dispatch error: ", ex); // eslint-disable-line no-console
+        dump(`Content msg: ${JSON.stringify(msg)}\nDispatch error: ${ex}\n${ex.stack}`);
+      }
+    });
+  }
+
+  return store;
+}
+/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
+
+/***/ }),
+/* 9 */
 /***/ (function(module, exports) {
 
 module.exports = ReactDOM;
 
 /***/ }),
-/* 9 */
+/* 10 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);
 
@@ -1036,17 +1223,17 @@ class ErrorBoundary extends __WEBPACK_IM
   }
 }
 /* harmony export (immutable) */ __webpack_exports__["a"] = ErrorBoundary;
 
 
 ErrorBoundary.defaultProps = { FallbackComponent: ErrorBoundaryFallback };
 
 /***/ }),
-/* 10 */
+/* 11 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 
 
 const _OpenInPrivateWindow = site => ({
   id: "menu_action_open_private_window",
@@ -1099,17 +1286,21 @@ const LinkMenuOptions = {
     }),
     userEvent: "BOOKMARK_ADD"
   }),
   OpenInNewWindow: site => ({
     id: "menu_action_open_new_window",
     icon: "new-window",
     action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
       type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].OPEN_NEW_WINDOW,
-      data: { url: site.url, referrer: site.referrer }
+      data: {
+        referrer: site.referrer,
+        typedBonus: site.typedBonus,
+        url: site.url
+      }
     }),
     userEvent: "OPEN_NEW_WINDOW"
   }),
   BlockUrl: (site, index, eventSource) => ({
     id: "menu_action_dismiss",
     icon: "dismiss",
     action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
       type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].BLOCK_URL,
@@ -1174,18 +1365,18 @@ const LinkMenuOptions = {
       type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].COPY_DOWNLOAD_LINK,
       data: { url: site.url }
     })
   }),
   GoToDownloadPage: site => ({
     id: "menu_action_go_to_download_page",
     icon: "download",
     action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].GO_TO_DOWNLOAD_PAGE,
-      data: { url: site.url }
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].OPEN_LINK,
+      data: { url: site.referrer }
     }),
     disabled: !site.referrer
   }),
   RemoveDownload: site => ({
     id: "menu_action_remove_download",
     icon: "delete",
     action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
       type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].REMOVE_DOWNLOAD_FILE,
@@ -1255,27 +1446,27 @@ const LinkMenuOptions = {
   CheckSavedToPocket: (site, index) => site.pocket_id ? LinkMenuOptions.DeleteFromPocket(site) : LinkMenuOptions.SaveToPocket(site, index),
   CheckBookmarkOrArchive: site => site.pocket_id ? LinkMenuOptions.ArchiveFromPocket(site) : LinkMenuOptions.CheckBookmark(site),
   OpenInPrivateWindow: (site, index, eventSource, isEnabled) => isEnabled ? _OpenInPrivateWindow(site) : LinkMenuOptions.EmptyItem()
 };
 /* harmony export (immutable) */ __webpack_exports__["b"] = LinkMenuOptions;
 
 
 /***/ }),
-/* 11 */
+/* 12 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_redux__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_ContextMenu_ContextMenu__ = __webpack_require__(12);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_ContextMenu_ContextMenu__ = __webpack_require__(13);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react_intl__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_lib_link_menu_options__ = __webpack_require__(10);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_lib_link_menu_options__ = __webpack_require__(11);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);
 
 
 
 
 
 
@@ -1330,17 +1521,17 @@ class _LinkMenu extends __WEBPACK_IMPORT
 
 
 const getState = state => ({ isPrivateBrowsingEnabled: state.Prefs.values.isPrivateBrowsingEnabled, platform: state.Prefs.values.platform });
 const LinkMenu = Object(__WEBPACK_IMPORTED_MODULE_1_react_redux__["connect"])(getState)(Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__["injectIntl"])(_LinkMenu));
 /* harmony export (immutable) */ __webpack_exports__["a"] = LinkMenu;
 
 
 /***/ }),
-/* 12 */
+/* 13 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
 
 
 class ContextMenu extends __WEBPACK_IMPORTED_MODULE_0_react___default.a.PureComponent {
@@ -1430,28 +1621,28 @@ class ContextMenuItem extends __WEBPACK_
     );
   }
 }
 /* unused harmony export ContextMenuItem */
 
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 13 */
+/* 14 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__ = __webpack_require__(1);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_ErrorBoundary_ErrorBoundary__ = __webpack_require__(9);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_ErrorBoundary_ErrorBoundary__ = __webpack_require__(10);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_SectionMenu_SectionMenu__ = __webpack_require__(30);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_content_src_lib_section_menu_options__ = __webpack_require__(14);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_SectionMenu_SectionMenu__ = __webpack_require__(32);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_content_src_lib_section_menu_options__ = __webpack_require__(15);
 
 
 
 
 
 
 
 const VISIBLE = "visible";
@@ -1689,17 +1880,17 @@ class _CollapsibleSection extends __WEBP
 };
 
 const CollapsibleSection = Object(__WEBPACK_IMPORTED_MODULE_0_react_intl__["injectIntl"])(_CollapsibleSection);
 /* harmony export (immutable) */ __webpack_exports__["a"] = CollapsibleSection;
 
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 14 */
+/* 15 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 
 
 /**
  * List of functions that return items that can be included as menu options in a
@@ -1767,22 +1958,22 @@ const SectionMenuOptions = {
     userEvent: "MENU_PRIVACY_NOTICE"
   }),
   CheckCollapsed: section => section.collapsed ? SectionMenuOptions.ExpandSection(section) : SectionMenuOptions.CollapseSection(section)
 };
 /* harmony export (immutable) */ __webpack_exports__["a"] = SectionMenuOptions;
 
 
 /***/ }),
-/* 15 */
+/* 16 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_PerfService_jsm__ = __webpack_require__(16);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_PerfService_jsm__ = __webpack_require__(17);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__);
 
 
 
 
 // Currently record only a fixed set of sections. This will prevent data
 // from custom sections from showing up or from topstories.
@@ -1941,17 +2132,17 @@ class ComponentPerfTimer extends __WEBPA
     }
     return this.props.children;
   }
 }
 /* harmony export (immutable) */ __webpack_exports__["a"] = ComponentPerfTimer;
 
 
 /***/ }),
-/* 16 */
+/* 17 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* unused harmony export _PerfService */
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return perfService; });
 /* globals Services */
 
 
@@ -2075,25 +2266,25 @@ function _PerfService(options) {
     let mostRecentEntry = entries[entries.length - 1];
     return this._perf.timeOrigin + mostRecentEntry.startTime;
   }
 };
 
 var perfService = new _PerfService();
 
 /***/ }),
-/* 17 */
+/* 18 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__ = __webpack_require__(5);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_LinkMenu_LinkMenu__ = __webpack_require__(11);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_LinkMenu_LinkMenu__ = __webpack_require__(12);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_common_Reducers_jsm__ = __webpack_require__(6);
 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
 
 
 
 
@@ -2266,18 +2457,27 @@ class TopSite extends __WEBPACK_IMPORTED
   userEvent(event) {
     this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent(Object.assign({
       event,
       source: __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["d" /* TOP_SITES_SOURCE */],
       action_position: this.props.index
     }, this._getTelemetryInfo())));
   }
 
-  onLinkClick(ev) {
+  onLinkClick(event) {
     this.userEvent("CLICK");
+
+    // Specially handle a top site link click for "typed" frecency bonus as
+    // specified as a property on the link.
+    event.preventDefault();
+    const { altKey, button, ctrlKey, metaKey, shiftKey } = event;
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].OPEN_LINK,
+      data: Object.assign(this.props.link, { event: { altKey, button, ctrlKey, metaKey, shiftKey } })
+    }));
   }
 
   onMenuButtonClick(event) {
     event.preventDefault();
     this.props.onActivate(this.props.index);
     this.setState({ showContextMenu: true });
   }
 
@@ -2527,44 +2727,44 @@ class _TopSiteList extends __WEBPACK_IMP
 /* unused harmony export _TopSiteList */
 
 
 const TopSiteList = Object(__WEBPACK_IMPORTED_MODULE_1_react_intl__["injectIntl"])(_TopSiteList);
 /* harmony export (immutable) */ __webpack_exports__["b"] = TopSiteList;
 
 
 /***/ }),
-/* 18 */
+/* 19 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_content_src_lib_snippets__ = __webpack_require__(19);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_Base_Base__ = __webpack_require__(21);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_lib_detect_user_session_start__ = __webpack_require__(34);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_lib_init_store__ = __webpack_require__(35);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_content_src_lib_snippets__ = __webpack_require__(20);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_Base_Base__ = __webpack_require__(23);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_lib_detect_user_session_start__ = __webpack_require__(36);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_lib_init_store__ = __webpack_require__(8);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_redux__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_dom__ = __webpack_require__(8);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_dom__ = __webpack_require__(9);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_dom__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_common_Reducers_jsm__ = __webpack_require__(6);
 
 
 
 
 
 
 
 
 
 
-const store = Object(__WEBPACK_IMPORTED_MODULE_4_content_src_lib_init_store__["a" /* initStore */])(__WEBPACK_IMPORTED_MODULE_8_common_Reducers_jsm__["b" /* reducers */], global.gActivityStreamPrerenderedState);
+const store = Object(__WEBPACK_IMPORTED_MODULE_4_content_src_lib_init_store__["b" /* initStore */])(__WEBPACK_IMPORTED_MODULE_8_common_Reducers_jsm__["b" /* reducers */], global.gActivityStreamPrerenderedState);
 
 new __WEBPACK_IMPORTED_MODULE_3_content_src_lib_detect_user_session_start__["a" /* DetectUserSessionStart */](store).sendEventOrAddListener();
 
 // If we are starting in a prerendered state, we must wait until the first render
 // to request state rehydration (see Base.jsx). If we are NOT in a prerendered state,
 // we can request it immedately.
 if (!global.gActivityStreamPrerenderedState) {
   store.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].NEW_TAB_STATE_REQUEST }));
@@ -2578,23 +2778,23 @@ if (!global.gActivityStreamPrerenderedSt
     locale: global.document.documentElement.lang,
     strings: global.gActivityStreamStrings })
 ), document.getElementById("root"));
 
 Object(__WEBPACK_IMPORTED_MODULE_1_content_src_lib_snippets__["a" /* addSnippetsSubscriber */])(store);
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 19 */
+/* 20 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony export (immutable) */ __webpack_exports__["a"] = addSnippetsSubscriber;
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_content_src_message_center_message_center_content__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_content_src_asrouter_asrouter_content__ = __webpack_require__(7);
 const DATABASE_NAME = "snippets_db";
 const DATABASE_VERSION = 1;
 const SNIPPETS_OBJECTSTORE_NAME = "snippets";
 const SNIPPETS_UPDATE_INTERVAL_MS = 14400000;
 /* unused harmony export SNIPPETS_UPDATE_INTERVAL_MS */
  // 4 hours.
 
 const SNIPPETS_ENABLED_EVENT = "Snippets:Enabled";
@@ -2963,203 +3163,167 @@ function addSnippetsSubscriber(store) {
 
   store.subscribe(async () => {
     const state = store.getState();
     // state.Prefs.values["feeds.snippets"]:  Should snippets be shown?
     // state.Snippets.initialized             Is the snippets data initialized?
     // snippets.initialized:                  Is SnippetsProvider currently initialised?
     if (state.Prefs.values["feeds.snippets"] &&
     // If the message center experiment is enabled, don't show snippets
-    !state.Prefs.values.messageCenterExperimentEnabled && !state.Prefs.values.disableSnippets && state.Snippets.initialized && !snippets.initialized &&
+    !state.Prefs.values.asrouterExperimentEnabled && !state.Prefs.values.disableSnippets && state.Snippets.initialized && !snippets.initialized &&
     // Don't call init multiple times
     !initializing) {
       initializing = true;
       await snippets.init({ appData: state.Snippets });
       initializing = false;
     } else if ((state.Prefs.values["feeds.snippets"] === false || state.Prefs.values.disableSnippets === true) && snippets.initialized) {
       snippets.uninit();
     }
 
-    if (state.Prefs.values.messageCenterExperimentEnabled) {
-      Object(__WEBPACK_IMPORTED_MODULE_1_content_src_message_center_message_center_content__["b" /* initMessageCenter */])();
+    if (state.Prefs.values.asrouterExperimentEnabled) {
+      Object(__WEBPACK_IMPORTED_MODULE_1_content_src_asrouter_asrouter_content__["b" /* initASRouter */])();
     }
   });
 
   // These values are returned for testing purposes
   return snippets;
 }
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 20 */
+/* 21 */
+/***/ (function(module, exports) {
+
+module.exports = Redux;
+
+/***/ }),
+/* 22 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 
 // EXTERNAL MODULE: external "React"
 var external__React_ = __webpack_require__(0);
 var external__React__default = /*#__PURE__*/__webpack_require__.n(external__React_);
 
-// CONCATENATED MODULE: ./system-addon/content-src/message-center/components/Button.jsx
-var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
-
-
-
-const Button_styles = {
-  button: {
-    border: 0,
-    backgroundColor: "#e1e1e2",
-    fontFamily: "inherit",
-    padding: "8px 15px",
-    marginLeft: "15px"
-  }
-};
+// CONCATENATED MODULE: ./system-addon/content-src/asrouter/components/Button/Button.jsx
+
 
 const Button = props => external__React__default.a.createElement(
-  "button",
-  _extends({ style: Button_styles.button }, props),
+  "a",
+  { href: props.url,
+    onClick: props.onClick,
+    className: "ASRouterButton" },
   props.children
 );
-// CONCATENATED MODULE: ./system-addon/content-src/message-center/components/SnippetBase.jsx
-
-
-const defaultStyles = {
-  container: {
-    position: "fixed",
-    bottom: 0,
-    left: 0,
-    right: 0,
-    padding: "20px",
-    backgroundColor: "white",
-    fontSize: "12px",
-    lineHeight: "16px",
-    boxShadow: "0 -1px 4px 0 rgba(12, 12, 13, 0.1)"
-  },
-  innerWrapper: {
-    maxWidth: "992px",
-    margin: "0 auto",
-    display: "flex",
-    alignItems: "center"
-  },
-  blockButton: {
-    background: "none",
-    border: 0,
-    display: "block",
-    position: "absolute",
-    top: "50%",
-    right: "24px",
-    height: "16px",
-    width: "16px",
-    backgroundImage: "url(resource://activity-stream/data/content/assets/glyph-dismiss-16.svg)",
-    opacity: 0.5,
-    marginTop: "-8px",
-    padding: 0
-  }
-};
+// CONCATENATED MODULE: ./system-addon/content-src/asrouter/components/SnippetBase/SnippetBase.jsx
+
 
 class SnippetBase_SnippetBase extends external__React__default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    this.onBlockClicked = this.onBlockClicked.bind(this);
+  }
+
+  onBlockClicked() {
+    this.props.sendUserActionTelemetry({ event: "BLOCK", source: this.props.UISurface, message_id: this.props.id });
+    this.props.onBlock();
+  }
+
   render() {
     const { props } = this;
 
-    // Extend default styles
-    const styles = Object.assign({}, defaultStyles);
-    if (props.styles) {
-      Object.keys(props.styles).forEach(key => {
-        styles[key] = Object.assign({}, styles[key], props.styles[key]);
-      });
-    }
+    const containerClassName = `SnippetBaseContainer${props.className ? ` ${props.className}` : ""}`;
 
     return external__React__default.a.createElement(
       "div",
-      { style: styles.container },
+      { className: containerClassName },
       external__React__default.a.createElement(
         "div",
-        { style: styles.innerWrapper },
+        { className: "innerWrapper" },
         props.children
       ),
-      external__React__default.a.createElement("button", { style: styles.blockButton, onClick: props.onBlock })
+      external__React__default.a.createElement("button", { className: "blockButton", onClick: this.onBlockClicked })
     );
   }
 }
-// CONCATENATED MODULE: ./system-addon/content-src/message-center/templates/SimpleSnippet.jsx
-
-
-
-
-const SimpleSnippet_styles = {
-  title: {
-    display: "inline",
-    fontSize: "inherit",
-    margin: 0
-  },
-  body: {
-    display: "inline",
-    margin: 0
-  },
-  icon: {
-    height: "42px",
-    width: "42px",
-    marginRight: "15px",
-    borderRadius: "6px",
-    backgroundColor: "rgba(0,0,0,0.1)",
-    flexShrink: 0
-  }
-};
-
-const SimpleSnippet = props => external__React__default.a.createElement(
-  SnippetBase_SnippetBase,
-  props,
-  external__React__default.a.createElement("div", { style: SimpleSnippet_styles.icon }),
-  external__React__default.a.createElement(
-    "div",
-    null,
-    external__React__default.a.createElement(
-      "h3",
-      { style: SimpleSnippet_styles.title },
-      props.content.title
-    ),
-    " ",
-    external__React__default.a.createElement(
-      "p",
-      { style: SimpleSnippet_styles.body },
-      props.content.body
-    )
-  ),
-  props.content.button ? external__React__default.a.createElement(
-    "div",
-    null,
-    external__React__default.a.createElement(
-      Button,
-      null,
-      props.content.button.label
-    )
-  ) : null
-);
-/* harmony export (immutable) */ __webpack_exports__["a"] = SimpleSnippet;
+// CONCATENATED MODULE: ./system-addon/content-src/asrouter/templates/SimpleSnippet/SimpleSnippet.jsx
+var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+
+
+
+
+const DEFAULT_ICON_PATH = "chrome://branding/content/icon64.png";
+
+class SimpleSnippet_SimpleSnippet extends external__React__default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    this.onButtonClick = this.onButtonClick.bind(this);
+  }
+
+  onButtonClick() {
+    this.props.sendUserActionTelemetry({ event: "CLICK_BUTTON", source: this.props.UISurface, message_id: this.props.id });
+  }
+
+  render() {
+    const { props } = this;
+    return external__React__default.a.createElement(
+      SnippetBase_SnippetBase,
+      _extends({}, props, { className: "SimpleSnippet" }),
+      external__React__default.a.createElement("img", { src: props.content.icon || DEFAULT_ICON_PATH, className: "icon" }),
+      external__React__default.a.createElement(
+        "div",
+        null,
+        props.content.title ? external__React__default.a.createElement(
+          "h3",
+          { className: "title" },
+          props.content.title
+        ) : null,
+        " ",
+        external__React__default.a.createElement(
+          "p",
+          { className: "body" },
+          props.content.text
+        )
+      ),
+      props.content.button_url ? external__React__default.a.createElement(
+        "div",
+        null,
+        external__React__default.a.createElement(
+          Button,
+          { onClick: this.onButtonClick, url: props.content.button_url },
+          props.content.button_label
+        )
+      ) : null
+    );
+  }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = SimpleSnippet_SimpleSnippet;
 
 
 /***/ }),
-/* 21 */
+/* 23 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_intl__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_ConfirmDialog_ConfirmDialog__ = __webpack_require__(22);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_redux__ = __webpack_require__(4);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react_redux__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_ErrorBoundary_ErrorBoundary__ = __webpack_require__(9);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_content_src_components_ManualMigration_ManualMigration__ = __webpack_require__(23);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_content_src_components_MessageCenterAdmin_MessageCenterAdmin__ = __webpack_require__(24);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_common_PrerenderData_jsm__ = __webpack_require__(25);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_ASRouterAdmin_ASRouterAdmin__ = __webpack_require__(24);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_ConfirmDialog_ConfirmDialog__ = __webpack_require__(25);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_redux__ = __webpack_require__(4);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react_redux__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_content_src_components_ErrorBoundary_ErrorBoundary__ = __webpack_require__(10);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_content_src_components_ManualMigration_ManualMigration__ = __webpack_require__(26);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_common_PrerenderData_jsm__ = __webpack_require__(27);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_content_src_components_Search_Search__ = __webpack_require__(26);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_content_src_components_Sections_Sections__ = __webpack_require__(28);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_content_src_components_Search_Search__ = __webpack_require__(28);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_content_src_components_Sections_Sections__ = __webpack_require__(30);
 
 
 
 
 
 
 
 
@@ -3224,29 +3388,29 @@ class _Base extends __WEBPACK_IMPORTED_M
     }
   }
 
   render() {
     const { props } = this;
     const { App, locale, strings } = props;
     const { initialized } = App;
 
-    if (props.Prefs.values.messageCenterExperimentEnabled && window.location.hash === "#message-center-admin") {
-      return __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_content_src_components_MessageCenterAdmin_MessageCenterAdmin__["a" /* MessageCenterAdmin */], null);
+    if (props.Prefs.values.asrouterExperimentEnabled && window.location.hash === "#asrouter") {
+      return __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_content_src_components_ASRouterAdmin_ASRouterAdmin__["a" /* ASRouterAdmin */], null);
     }
 
     if (!props.isPrerendered && !initialized) {
       return null;
     }
 
     return __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
       __WEBPACK_IMPORTED_MODULE_1_react_intl__["IntlProvider"],
       { locale: locale, messages: strings },
       __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
-        __WEBPACK_IMPORTED_MODULE_4_content_src_components_ErrorBoundary_ErrorBoundary__["a" /* ErrorBoundary */],
+        __WEBPACK_IMPORTED_MODULE_5_content_src_components_ErrorBoundary_ErrorBoundary__["a" /* ErrorBoundary */],
         { className: "base-content-fallback" },
         __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(BaseContent, this.props)
       )
     );
   }
 }
 /* unused harmony export _Base */
 
@@ -3277,47 +3441,174 @@ class BaseContent extends __WEBPACK_IMPO
       { className: outerClassName },
       __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
         "main",
         null,
         prefs.showSearch && __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
           "div",
           { className: "non-collapsible-section" },
           __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
-            __WEBPACK_IMPORTED_MODULE_4_content_src_components_ErrorBoundary_ErrorBoundary__["a" /* ErrorBoundary */],
+            __WEBPACK_IMPORTED_MODULE_5_content_src_components_ErrorBoundary_ErrorBoundary__["a" /* ErrorBoundary */],
             null,
             __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_9_content_src_components_Search_Search__["a" /* Search */], null)
           )
         ),
         __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
           "div",
           { className: `body-wrapper${initialized ? " on" : ""}` },
           !prefs.migrationExpired && __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
             "div",
             { className: "non-collapsible-section" },
-            __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_content_src_components_ManualMigration_ManualMigration__["a" /* ManualMigration */], null)
+            __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_content_src_components_ManualMigration_ManualMigration__["a" /* ManualMigration */], null)
           ),
           __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_10_content_src_components_Sections_Sections__["a" /* Sections */], null),
           __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(PrefsButton, { onClick: this.openPreferences })
         ),
-        __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_content_src_components_ConfirmDialog_ConfirmDialog__["a" /* ConfirmDialog */], null)
+        __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_content_src_components_ConfirmDialog_ConfirmDialog__["a" /* ConfirmDialog */], null)
       )
     );
   }
 }
 /* unused harmony export BaseContent */
 
 
-const Base = Object(__WEBPACK_IMPORTED_MODULE_3_react_redux__["connect"])(state => ({ App: state.App, Prefs: state.Prefs, Theme: state.Theme }))(_Base);
+const Base = Object(__WEBPACK_IMPORTED_MODULE_4_react_redux__["connect"])(state => ({ App: state.App, Prefs: state.Prefs, Theme: state.Theme }))(_Base);
 /* harmony export (immutable) */ __webpack_exports__["a"] = Base;
 
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 22 */
+/* 24 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);
+
+
+
+class ASRouterAdmin extends __WEBPACK_IMPORTED_MODULE_1_react___default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    this.onMessage = this.onMessage.bind(this);
+    this.state = {};
+  }
+
+  onMessage({ data: action }) {
+    if (action.type === "ADMIN_SET_STATE") {
+      this.setState(action.data);
+    }
+  }
+
+  componentWillMount() {
+    __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].sendMessage({ type: "ADMIN_CONNECT_STATE" });
+    __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].addListener(this.onMessage);
+  }
+
+  componentWillUnmount() {
+    __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].removeListener(this.onMessage);
+  }
+
+  handleBlock(id) {
+    return () => __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].blockById(id);
+  }
+
+  handleUnblock(id) {
+    return () => __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].unblockById(id);
+  }
+
+  renderMessageItem(msg) {
+    const isCurrent = msg.id === this.state.currentId;
+    const isBlocked = this.state.blockList.includes(msg.id);
+
+    let itemClassName = "message-item";
+    if (isCurrent) {
+      itemClassName += " current";
+    }
+    if (isBlocked) {
+      itemClassName += " blocked";
+    }
+
+    return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+      "tr",
+      { className: itemClassName, key: msg.id },
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+        "td",
+        { className: "message-id" },
+        __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+          "span",
+          null,
+          msg.id
+        )
+      ),
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+        "td",
+        null,
+        __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+          "button",
+          { className: `button ${isBlocked ? "" : " primary"}`, onClick: isBlocked ? this.handleUnblock(msg.id) : this.handleBlock(msg.id) },
+          isBlocked ? "Unblock" : "Block"
+        )
+      ),
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+        "td",
+        { className: "message-summary" },
+        __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+          "pre",
+          null,
+          JSON.stringify(msg, null, 2)
+        )
+      )
+    );
+  }
+
+  renderMessages() {
+    if (!this.state.messages) {
+      return null;
+    }
+    return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+      "table",
+      null,
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+        "tbody",
+        null,
+        this.state.messages.map(msg => this.renderMessageItem(msg))
+      )
+    );
+  }
+
+  render() {
+    return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+      "div",
+      { className: "asrouter-admin outer-wrapper" },
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+        "h1",
+        null,
+        "AS Router Admin"
+      ),
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+        "button",
+        { className: "button primary", onClick: __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].getNextMessage },
+        "Refresh Current Message"
+      ),
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+        "h2",
+        null,
+        "Messages"
+      ),
+      this.renderMessages()
+    );
+  }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = ASRouterAdmin;
+
+
+/***/ }),
+/* 25 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_redux__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_intl__);
@@ -3420,17 +3711,17 @@ class _ConfirmDialog extends __WEBPACK_I
 /* unused harmony export _ConfirmDialog */
 
 
 const ConfirmDialog = Object(__WEBPACK_IMPORTED_MODULE_1_react_redux__["connect"])(state => state.Dialog)(_ConfirmDialog);
 /* harmony export (immutable) */ __webpack_exports__["a"] = ConfirmDialog;
 
 
 /***/ }),
-/* 23 */
+/* 26 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_redux__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_intl__);
@@ -3496,144 +3787,17 @@ class _ManualMigration extends __WEBPACK
 /* unused harmony export _ManualMigration */
 
 
 const ManualMigration = Object(__WEBPACK_IMPORTED_MODULE_1_react_redux__["connect"])()(_ManualMigration);
 /* harmony export (immutable) */ __webpack_exports__["a"] = ManualMigration;
 
 
 /***/ }),
-/* 24 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__message_center_message_center_content__ = __webpack_require__(7);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);
-
-
-
-class MessageCenterAdmin extends __WEBPACK_IMPORTED_MODULE_1_react___default.a.PureComponent {
-  constructor(props) {
-    super(props);
-    this.onMessage = this.onMessage.bind(this);
-    this.state = {};
-  }
-
-  onMessage({ data: action }) {
-    if (action.type === "ADMIN_SET_STATE") {
-      this.setState(action.data);
-    }
-  }
-
-  componentWillMount() {
-    __WEBPACK_IMPORTED_MODULE_0__message_center_message_center_content__["a" /* MessageCenterUtils */].sendMessage({ type: "ADMIN_CONNECT_STATE" });
-    __WEBPACK_IMPORTED_MODULE_0__message_center_message_center_content__["a" /* MessageCenterUtils */].addListener(this.onMessage);
-  }
-
-  componentWillUnmount() {
-    __WEBPACK_IMPORTED_MODULE_0__message_center_message_center_content__["a" /* MessageCenterUtils */].removeListener(this.onMessage);
-  }
-
-  handleBlock(id) {
-    return () => __WEBPACK_IMPORTED_MODULE_0__message_center_message_center_content__["a" /* MessageCenterUtils */].blockById(id);
-  }
-
-  handleUnblock(id) {
-    return () => __WEBPACK_IMPORTED_MODULE_0__message_center_message_center_content__["a" /* MessageCenterUtils */].unblockById(id);
-  }
-
-  renderMessageItem(msg) {
-    const isCurrent = msg.id === this.state.currentId;
-    const isBlocked = this.state.blockList[msg.id];
-
-    let itemClassName = "message-item";
-    if (isCurrent) {
-      itemClassName += " current";
-    }
-    if (isBlocked) {
-      itemClassName += " blocked";
-    }
-
-    return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
-      "tr",
-      { className: itemClassName, key: msg.id },
-      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
-        "td",
-        { className: "message-id" },
-        __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
-          "span",
-          null,
-          msg.id
-        )
-      ),
-      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
-        "td",
-        null,
-        __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
-          "button",
-          { className: `button ${isBlocked ? "" : " primary"}`, onClick: isBlocked ? this.handleUnblock(msg.id) : this.handleBlock(msg.id) },
-          isBlocked ? "Unblock" : "Block"
-        )
-      ),
-      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
-        "td",
-        { className: "message-summary" },
-        __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
-          "pre",
-          null,
-          JSON.stringify(msg, null, 2)
-        )
-      )
-    );
-  }
-
-  renderMessages() {
-    if (!this.state.messages) {
-      return null;
-    }
-    return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
-      "table",
-      null,
-      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
-        "tbody",
-        null,
-        this.state.messages.map(msg => this.renderMessageItem(msg))
-      )
-    );
-  }
-
-  render() {
-    return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
-      "div",
-      { className: "messages-admin outer-wrapper" },
-      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
-        "h1",
-        null,
-        "Messages Admin"
-      ),
-      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
-        "button",
-        { className: "button primary", onClick: __WEBPACK_IMPORTED_MODULE_0__message_center_message_center_content__["a" /* MessageCenterUtils */].getNextMessage },
-        "Refresh Current Message"
-      ),
-      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
-        "h2",
-        null,
-        "Messages"
-      ),
-      this.renderMessages()
-    );
-  }
-}
-/* harmony export (immutable) */ __webpack_exports__["a"] = MessageCenterAdmin;
-
-
-/***/ }),
-/* 25 */
+/* 27 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PrerenderData; });
 class _PrerenderData {
   constructor(options) {
     this.initialPrefs = options.initialPrefs;
     this.initialSections = options.initialSections;
@@ -3726,26 +3890,26 @@ var PrerenderData = new _PrerenderData({
     id: "highlights",
     icon: "highlights",
     order: 2,
     title: { id: "header_highlights" }
   }]
 });
 
 /***/ }),
-/* 26 */
+/* 28 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_redux__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_lib_constants__ = __webpack_require__(27);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_lib_constants__ = __webpack_require__(29);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);
 /* globals ContentSearchUIController */
 
 
 
 
 
@@ -3845,42 +4009,42 @@ class _Search extends __WEBPACK_IMPORTED
 /* unused harmony export _Search */
 
 
 const Search = Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__["connect"])()(Object(__WEBPACK_IMPORTED_MODULE_0_react_intl__["injectIntl"])(_Search));
 /* harmony export (immutable) */ __webpack_exports__["a"] = Search;
 
 
 /***/ }),
-/* 27 */
+/* 29 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {const IS_NEWTAB = global.document && global.document.documentURI === "about:newtab";
 /* harmony export (immutable) */ __webpack_exports__["a"] = IS_NEWTAB;
 
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 28 */
+/* 30 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
-/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_content_src_components_Card_Card__ = __webpack_require__(29);
+/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_content_src_components_Card_Card__ = __webpack_require__(31);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_common_Actions_jsm__ = __webpack_require__(1);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_CollapsibleSection_CollapsibleSection__ = __webpack_require__(13);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_ComponentPerfTimer_ComponentPerfTimer__ = __webpack_require__(15);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_CollapsibleSection_CollapsibleSection__ = __webpack_require__(14);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_ComponentPerfTimer_ComponentPerfTimer__ = __webpack_require__(16);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_redux__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_content_src_components_Topics_Topics__ = __webpack_require__(31);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_content_src_components_TopSites_TopSites__ = __webpack_require__(32);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_content_src_components_Topics_Topics__ = __webpack_require__(33);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_content_src_components_TopSites_TopSites__ = __webpack_require__(34);
 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
 
 
 
 
 
 
 
@@ -4118,17 +4282,17 @@ class _Sections extends __WEBPACK_IMPORT
 
 
 const Sections = Object(__WEBPACK_IMPORTED_MODULE_5_react_redux__["connect"])(state => ({ Sections: state.Sections, Prefs: state.Prefs }))(_Sections);
 /* harmony export (immutable) */ __webpack_exports__["a"] = Sections;
 
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 29 */
+/* 31 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 
 // EXTERNAL MODULE: ./system-addon/common/Actions.jsm
 var Actions = __webpack_require__(1);
 
 // CONCATENATED MODULE: ./system-addon/content-src/components/Card/types.js
@@ -4162,20 +4326,20 @@ const cardContextTypes = {
 var external__ReactRedux_ = __webpack_require__(4);
 var external__ReactRedux__default = /*#__PURE__*/__webpack_require__.n(external__ReactRedux_);
 
 // EXTERNAL MODULE: external "ReactIntl"
 var external__ReactIntl_ = __webpack_require__(2);
 var external__ReactIntl__default = /*#__PURE__*/__webpack_require__.n(external__ReactIntl_);
 
 // EXTERNAL MODULE: ./system-addon/content-src/lib/link-menu-options.js
-var link_menu_options = __webpack_require__(10);
+var link_menu_options = __webpack_require__(11);
 
 // EXTERNAL MODULE: ./system-addon/content-src/components/LinkMenu/LinkMenu.jsx
-var LinkMenu = __webpack_require__(11);
+var LinkMenu = __webpack_require__(12);
 
 // EXTERNAL MODULE: external "React"
 var external__React_ = __webpack_require__(0);
 var external__React__default = /*#__PURE__*/__webpack_require__.n(external__React_);
 
 // CONCATENATED MODULE: ./system-addon/content-src/components/Card/Card.jsx
 
 
@@ -4415,27 +4579,27 @@ Card__Card.defaultProps = { link: {} };
 const Card = Object(external__ReactRedux_["connect"])(state => ({ platform: state.Prefs.values.platform }))(Card__Card);
 /* harmony export (immutable) */ __webpack_exports__["a"] = Card;
 
 const PlaceholderCard = () => external__React__default.a.createElement(Card, { placeholder: true });
 /* harmony export (immutable) */ __webpack_exports__["b"] = PlaceholderCard;
 
 
 /***/ }),
-/* 30 */
+/* 32 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_content_src_components_ContextMenu_ContextMenu__ = __webpack_require__(12);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_content_src_components_ContextMenu_ContextMenu__ = __webpack_require__(13);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_lib_section_menu_options__ = __webpack_require__(14);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_lib_section_menu_options__ = __webpack_require__(15);
 
 
 
 
 
 
 const DEFAULT_SECTION_MENU_OPTIONS = ["MoveUp", "MoveDown", "Separator", "RemoveSection", "CheckCollapsed", "Separator", "ManageSection"];
 
@@ -4487,17 +4651,17 @@ class _SectionMenu extends __WEBPACK_IMP
 /* unused harmony export _SectionMenu */
 
 
 const SectionMenu = Object(__WEBPACK_IMPORTED_MODULE_2_react_intl__["injectIntl"])(_SectionMenu);
 /* harmony export (immutable) */ __webpack_exports__["a"] = SectionMenu;
 
 
 /***/ }),
-/* 31 */
+/* 33 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);
 
@@ -4543,33 +4707,33 @@ class Topics extends __WEBPACK_IMPORTED_
       )
     );
   }
 }
 /* harmony export (immutable) */ __webpack_exports__["a"] = Topics;
 
 
 /***/ }),
-/* 32 */
+/* 34 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__TopSitesConstants__ = __webpack_require__(5);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_CollapsibleSection_CollapsibleSection__ = __webpack_require__(13);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_ComponentPerfTimer_ComponentPerfTimer__ = __webpack_require__(15);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_CollapsibleSection_CollapsibleSection__ = __webpack_require__(14);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_ComponentPerfTimer_ComponentPerfTimer__ = __webpack_require__(16);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react_redux__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_common_Reducers_jsm__ = __webpack_require__(6);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__TopSiteForm__ = __webpack_require__(33);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__TopSite__ = __webpack_require__(17);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__TopSiteForm__ = __webpack_require__(35);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__TopSite__ = __webpack_require__(18);
 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
 
 
 
 
 
 
 
@@ -4720,17 +4884,17 @@ const TopSites = Object(__WEBPACK_IMPORT
   Prefs: state.Prefs,
   TopSitesRows: state.Prefs.values.topSitesRows
 }))(Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__["injectIntl"])(_TopSites));
 /* harmony export (immutable) */ __webpack_exports__["a"] = TopSites;
 
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 33 */
+/* 35 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 
 // EXTERNAL MODULE: ./system-addon/common/Actions.jsm
 var Actions = __webpack_require__(1);
 
 // EXTERNAL MODULE: external "ReactIntl"
@@ -4815,17 +4979,17 @@ class TopSiteFormInput_TopSiteFormInput 
 }
 
 TopSiteFormInput_TopSiteFormInput.defaultProps = {
   showClearButton: false,
   value: "",
   validationError: false
 };
 // EXTERNAL MODULE: ./system-addon/content-src/components/TopSites/TopSite.jsx
-var TopSite = __webpack_require__(17);
+var TopSite = __webpack_require__(18);
 
 // CONCATENATED MODULE: ./system-addon/content-src/components/TopSites/TopSiteForm.jsx
 
 
 
 
 
 
@@ -5090,22 +5254,22 @@ class TopSiteForm_TopSiteForm extends ex
 
 
 TopSiteForm_TopSiteForm.defaultProps = {
   site: null,
   index: -1
 };
 
 /***/ }),
-/* 34 */
+/* 36 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_PerfService_jsm__ = __webpack_require__(16);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_PerfService_jsm__ = __webpack_require__(17);
 
 
 
 const VISIBLE = "visible";
 const VISIBILITY_CHANGE_EVENT = "visibilitychange";
 
 class DetectUserSessionStart {
   constructor(store, options = {}) {
@@ -5164,175 +5328,11 @@ class DetectUserSessionStart {
       this.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);
     }
   }
 }
 /* harmony export (immutable) */ __webpack_exports__["a"] = DetectUserSessionStart;
 
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
-/***/ }),
-/* 35 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (immutable) */ __webpack_exports__["a"] = initStore;
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_redux__ = __webpack_require__(36);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_redux__);
-/* eslint-env mozilla/frame-script */
-
-
-
-
-const MERGE_STORE_ACTION = "NEW_TAB_INITIAL_STATE";
-/* unused harmony export MERGE_STORE_ACTION */
-
-const OUTGOING_MESSAGE_NAME = "ActivityStream:ContentToMain";
-/* unused harmony export OUTGOING_MESSAGE_NAME */
-
-const INCOMING_MESSAGE_NAME = "ActivityStream:MainToContent";
-/* unused harmony export INCOMING_MESSAGE_NAME */
-
-const EARLY_QUEUED_ACTIONS = [__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SAVE_SESSION_PERF_DATA, __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].PAGE_PRERENDERED];
-/* unused harmony export EARLY_QUEUED_ACTIONS */
-
-
-/**
- * A higher-order function which returns a reducer that, on MERGE_STORE action,
- * will return the action.data object merged into the previous state.
- *
- * For all other actions, it merely calls mainReducer.
- *
- * Because we want this to merge the entire state object, it's written as a
- * higher order function which takes the main reducer (itself often a call to
- * combineReducers) as a parameter.
- *
- * @param  {function} mainReducer reducer to call if action != MERGE_STORE_ACTION
- * @return {function}             a reducer that, on MERGE_STORE_ACTION action,
- *                                will return the action.data object merged
- *                                into the previous state, and the result
- *                                of calling mainReducer otherwise.
- */
-function mergeStateReducer(mainReducer) {
-  return (prevState, action) => {
-    if (action.type === MERGE_STORE_ACTION) {
-      return Object.assign({}, prevState, action.data);
-    }
-
-    return mainReducer(prevState, action);
-  };
-}
-
-/**
- * messageMiddleware - Middleware that looks for SentToMain type actions, and sends them if necessary
- */
-const messageMiddleware = store => next => action => {
-  const skipLocal = action.meta && action.meta.skipLocal;
-  if (__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isSendToMain(action)) {
-    sendAsyncMessage(OUTGOING_MESSAGE_NAME, action);
-  }
-  if (!skipLocal) {
-    next(action);
-  }
-};
-
-const rehydrationMiddleware = store => next => action => {
-  if (store._didRehydrate) {
-    return next(action);
-  }
-
-  const isMergeStoreAction = action.type === MERGE_STORE_ACTION;
-  const isRehydrationRequest = action.type === __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].NEW_TAB_STATE_REQUEST;
-
-  if (isRehydrationRequest) {
-    store._didRequestInitialState = true;
-    return next(action);
-  }
-
-  if (isMergeStoreAction) {
-    store._didRehydrate = true;
-    return next(action);
-  }
-
-  // If init happened after our request was made, we need to re-request
-  if (store._didRequestInitialState && action.type === __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].INIT) {
-    return next(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].NEW_TAB_STATE_REQUEST }));
-  }
-
-  if (__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isBroadcastToContent(action) || __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isSendToOneContent(action) || __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isSendToPreloaded(action)) {
-    // Note that actions received before didRehydrate will not be dispatched
-    // because this could negatively affect preloading and the the state
-    // will be replaced by rehydration anyway.
-    return null;
-  }
-
-  return next(action);
-};
-/* unused harmony export rehydrationMiddleware */
-
-
-/**
- * This middleware queues up all the EARLY_QUEUED_ACTIONS until it receives
- * the first action from main. This is useful for those actions for main which
- * require higher reliability, i.e. the action will not be lost in the case
- * that it gets sent before the main is ready to receive it. Conversely, any
- * actions allowed early are accepted to be ignorable or re-sendable.
- */
-const queueEarlyMessageMiddleware = store => next => action => {
-  if (store._receivedFromMain) {
-    next(action);
-  } else if (__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isFromMain(action)) {
-    next(action);
-    store._receivedFromMain = true;
-    // Sending out all the early actions as main is ready now
-    if (store._earlyActionQueue) {
-      store._earlyActionQueue.forEach(next);
-      store._earlyActionQueue = [];
-    }
-  } else if (EARLY_QUEUED_ACTIONS.includes(action.type)) {
-    store._earlyActionQueue = store._earlyActionQueue || [];
-    store._earlyActionQueue.push(action);
-  } else {
-    // Let any other type of action go through
-    next(action);
-  }
-};
-/* unused harmony export queueEarlyMessageMiddleware */
-
-
-/**
- * initStore - Create a store and listen for incoming actions
- *
- * @param  {object} reducers An object containing Redux reducers
- * @param  {object} intialState (optional) The initial state of the store, if desired
- * @return {object}          A redux store
- */
-function initStore(reducers, initialState) {
-  const store = Object(__WEBPACK_IMPORTED_MODULE_1_redux__["createStore"])(mergeStateReducer(Object(__WEBPACK_IMPORTED_MODULE_1_redux__["combineReducers"])(reducers)), initialState, global.addMessageListener && Object(__WEBPACK_IMPORTED_MODULE_1_redux__["applyMiddleware"])(rehydrationMiddleware, queueEarlyMessageMiddleware, messageMiddleware));
-
-  store._didRehydrate = false;
-  store._didRequestInitialState = false;
-
-  if (global.addMessageListener) {
-    global.addMessageListener(INCOMING_MESSAGE_NAME, msg => {
-      try {
-        store.dispatch(msg.data);
-      } catch (ex) {
-        console.error("Content msg:", msg, "Dispatch error: ", ex); // eslint-disable-line no-console
-        dump(`Content msg: ${JSON.stringify(msg)}\nDispatch error: ${ex}\n${ex.stack}`);
-      }
-    });
-  }
-
-  return store;
-}
-/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
-
-/***/ }),
-/* 36 */
-/***/ (function(module, exports) {
-
-module.exports = Redux;
-
 /***/ })
 /******/ ]);
 //# sourceMappingURL=activity-stream.bundle.js.map
\ No newline at end of file
--- a/browser/extensions/activity-stream/data/content/activity-stream.bundle.js.map
+++ b/browser/extensions/activity-stream/data/content/activity-stream.bundle.js.map
@@ -1,1 +1,1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap 9301b46083acc2a84349","webpack:///external \"React\"","webpack:///./system-addon/common/Actions.jsm","webpack:///external \"ReactIntl\"","webpack:///(webpack)/buildin/global.js","webpack:///external \"ReactRedux\"","webpack:///./system-addon/content-src/components/TopSites/TopSitesConstants.js","webpack:///./system-addon/common/Dedupe.jsm","webpack:///./system-addon/common/Reducers.jsm","webpack:///./system-addon/content-src/message-center/message-center-content.jsx","webpack:///external \"ReactDOM\"","webpack:///./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","webpack:///./system-addon/content-src/lib/link-menu-options.js","webpack:///./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","webpack:///./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","webpack:///./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","webpack:///./system-addon/content-src/lib/section-menu-options.js","webpack:///./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","webpack:///./system-addon/common/PerfService.jsm","webpack:///./system-addon/content-src/components/TopSites/TopSite.jsx","webpack:///./system-addon/content-src/activity-stream.jsx","webpack:///./system-addon/content-src/lib/snippets.js","webpack:///./system-addon/content-src/message-center/components/Button.jsx","webpack:///./system-addon/content-src/message-center/components/SnippetBase.jsx","webpack:///./system-addon/content-src/message-center/templates/SimpleSnippet.jsx","webpack:///./system-addon/content-src/components/Base/Base.jsx","webpack:///./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","webpack:///./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","webpack:///./system-addon/content-src/components/MessageCenterAdmin/MessageCenterAdmin.jsx","webpack:///./system-addon/common/PrerenderData.jsm","webpack:///./system-addon/content-src/components/Search/Search.jsx","webpack:///./system-addon/content-src/lib/constants.js","webpack:///./system-addon/content-src/components/Sections/Sections.jsx","webpack:///./system-addon/content-src/components/Card/types.js","webpack:///./system-addon/content-src/components/Card/Card.jsx","webpack:///./system-addon/content-src/components/SectionMenu/SectionMenu.jsx","webpack:///./system-addon/content-src/components/Topics/Topics.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSites.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteFormInput.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteForm.jsx","webpack:///./system-addon/content-src/lib/detect-user-session-start.js","webpack:///./system-addon/content-src/lib/init-store.js","webpack:///external \"Redux\""],"names":["globalImportContext","Window","BACKGROUND_PROCESS","UI_CODE","actionTypes","type","_RouteMessage","action","options","meta","Object","assign","from","to","Error","forEach","o","AlsoToMain","fromTarget","skipLocal","CONTENT_MESSAGE_TYPE","MAIN_MESSAGE_TYPE","OnlyToMain","BroadcastToContent","AlsoToOneContent","target","skipMain","toTarget","OnlyToOneContent","AlsoToPreloaded","PRELOAD_MESSAGE_TYPE","UserEvent","data","TELEMETRY_USER_EVENT","UndesiredEvent","importContext","TELEMETRY_UNDESIRED_EVENT","PerfEvent","TELEMETRY_PERFORMANCE_EVENT","ImpressionStats","TELEMETRY_IMPRESSION_STATS","SetPref","name","value","SET_PREF","WebExtEvent","source","isSendToMain","isBroadcastToContent","isSendToOneContent","isSendToPreloaded","isFromMain","getPortIdOfSender","TOP_SITES_SOURCE","TOP_SITES_CONTEXT_MENU_OPTIONS","MIN_RICH_FAVICON_SIZE","MIN_CORNER_FAVICON_SIZE","Dedupe","constructor","createKey","defaultCreateKey","item","group","groups","globalKeys","Set","result","values","valueMap","Map","key","has","set","push","add","map","m","Array","TOP_SITES_DEFAULT_ROWS","TOP_SITES_MAX_SITES_PER_ROW","dedupe","site","url","INITIAL_STATE","App","initialized","version","Snippets","TopSites","rows","editForm","Prefs","Theme","className","Dialog","visible","Sections","prevState","at","INIT","insertPinned","links","pinned","pinnedUrls","link","newLinks","filter","includes","isPinned","pinIndex","val","index","length","splice","hasMatch","newRows","TOP_SITES_UPDATED","pref","TOP_SITES_PREFS_UPDATED","TOP_SITES_EDIT","previewResponse","TOP_SITES_CANCEL_EDIT","PREVIEW_RESPONSE","previewUrl","preview","PREVIEW_REQUEST","PREVIEW_REQUEST_CANCEL","SCREENSHOT_UPDATED","row","screenshot","PLACES_BOOKMARK_ADDED","bookmarkGuid","bookmarkTitle","dateAdded","bookmarkDateCreated","PLACES_BOOKMARK_REMOVED","newSite","PLACES_LINK_DELETED","DIALOG_OPEN","DIALOG_CANCEL","DELETE_HISTORY_URL","newValues","PREFS_INITIAL_VALUES","PREF_CHANGED","newState","SECTION_DEREGISTER","section","id","SECTION_REGISTER","title","enabled","SECTION_UPDATE","find","card","dedupeConfigurations","dedupeConf","dedupedRows","dedupeFrom","reduce","dedupeSectionId","dedupeSection","s","SECTION_UPDATE_CARD","PLACES_SAVED_TO_POCKET","open_url","pocket_id","PLACES_LINK_BLOCKED","DELETE_FROM_POCKET","ARCHIVE_FROM_POCKET","SNIPPETS_DATA","SNIPPET_BLOCKED","blockList","concat","SNIPPETS_BLOCKLIST_CLEARED","SNIPPETS_RESET","THEME_UPDATE","INCOMING_MESSAGE_NAME","OUTGOING_MESSAGE_NAME","MessageCenterUtils","addListener","listener","global","addMessageListener","removeListener","removeMessageListener","sendMessage","sendAsyncMessage","blockById","unblockById","getNextMessage","MessageCenterUISurface","React","PureComponent","props","onMessageFromParent","bind","state","message","onBlockById","setState","componentWillMount","componentWillUnmount","render","initMessageCenter","ReactDOM","document","getElementById","ErrorBoundaryFallback","windowObj","window","onClick","location","reload","defaultClass","defaultProps","ErrorBoundary","hasError","componentDidCatch","error","info","children","FallbackComponent","_OpenInPrivateWindow","icon","ac","OPEN_PRIVATE_WINDOW","referrer","userEvent","GetPlatformString","platform","LinkMenuOptions","Separator","EmptyItem","RemoveBookmark","DELETE_BOOKMARK_BY_ID","AddBookmark","BOOKMARK_URL","OpenInNewWindow","OPEN_NEW_WINDOW","BlockUrl","eventSource","BLOCK_URL","impression","block","tiles","guid","pos","WebExtDismiss","string_id","WEBEXT_DISMISS","action_position","DeleteUrl","isEnabled","siteInfo","onConfirm","forceBlock","event","body_string_id","confirm_button_string_id","cancel_button_string_id","ShowFile","SHOW_DOWNLOAD_FILE","OpenFile","OPEN_DOWNLOAD_FILE","CopyDownloadLink","COPY_DOWNLOAD_LINK","GoToDownloadPage","GO_TO_DOWNLOAD_PAGE","disabled","RemoveDownload","REMOVE_DOWNLOAD_FILE","PinTopSite","TOP_SITES_PIN","UnpinTopSite","TOP_SITES_UNPIN","SaveToPocket","SAVE_TO_POCKET","pocket","DeleteFromPocket","ArchiveFromPocket","EditTopSite","CheckBookmark","CheckPinTopSite","CheckSavedToPocket","CheckBookmarkOrArchive","OpenInPrivateWindow","DEFAULT_SITE_MENU_OPTIONS","_LinkMenu","getOptions","isPrivateBrowsingEnabled","propOptions","isDefault","option","label","intl","formatMessage","dispatch","userEventData","shouldSendImpressionStats","first","last","onUpdate","getState","LinkMenu","connect","injectIntl","ContextMenu","hideContext","componentDidMount","setTimeout","addEventListener","removeEventListener","stopPropagation","i","ContextMenuItem","onKeyDown","shiftKey","VISIBLE","VISIBILITY_CHANGE_EVENT","getFormattedMessage","Disclaimer","onAcknowledge","disclaimerPref","disclaimer","text","href","button","DisclaimerIntl","_CollapsibleSection","onBodyMount","onHeaderClick","onTransitionEnd","enableOrDisableAnimation","onMenuButtonClick","onMenuButtonMouseEnter","onMenuButtonMouseLeave","onMenuUpdate","enableAnimation","isAnimating","menuButtonHover","showContextMenu","componentWillUpdate","nextProps","collapsed","sectionBody","scrollHeight","visibilityState","node","undefined","maxHeight","SectionMenuOptions","CheckCollapsed","currentTarget","renderIcon","startsWith","backgroundImage","preventDefault","isCollapsible","extraMenuOptions","showPrefName","privacyNoticeURL","isFirst","isLast","needsDisclaimer","active","CollapsibleSection","MoveUp","SECTION_MOVE","direction","MoveDown","RemoveSection","CollapseSection","UPDATE_SECTION_PREFS","ExpandSection","ManageSection","SETTINGS_OPEN","AddTopSite","PrivacyNotice","OPEN_LINK","RECORDED_SECTIONS","ComponentPerfTimer","Component","perfSvc","_sendBadStateEvent","_sendPaintedEvent","_reportMissingData","_timestampHandled","_recordedFirstRender","_maybeSendPaintedEvent","componentDidUpdate","_afterFramePaint","callback","requestAnimationFrame","_maybeSendBadStateEvent","_ensureFirstRenderTsRecorded","mark","dataReadyKey","firstRenderKey","parseInt","getMostRecentAbsMarkStartByName","SAVE_SESSION_PERF_DATA","ex","ChromeUtils","import","usablePerfObj","Services","appShell","hiddenDOMWindow","performance","now","_PerfService","performanceObj","_perf","prototype","str","getEntriesByName","timeOrigin","absNow","entries","mostRecentEntry","startTime","TopSiteLink","onDragEvent","_allowDrop","e","dataTransfer","types","dragged","effectAllowed","setData","blur","defaultStyle","isDraggable","topSiteOuterClassName","isDragged","tippyTopIcon","faviconSize","letterFallback","imageClassName","imageStyle","showSmallFavicon","smallFaviconStyle","smallFaviconFallback","customScreenshotURL","backgroundColor","favicon","draggableProps","onDragEnd","onDragStart","onMouseDown","TopSite","onLinkClick","_getTelemetryInfo","icon_type","iconType","card_type","ev","onActivate","isContextMenuOpen","activeIndex","hostname","TopSitePlaceholder","onEditButtonClick","_TopSiteList","DEFAULT_STATE","draggedIndex","draggedSite","draggedTitle","topSitesPreview","componentWillReceiveProps","prevTopSites","newTopSites","dropped","_makeTopSitesPreview","TOP_SITES_INSERT","draggedFromIndex","_getTopSites","topSites","slice","TopSitesRows","pinnedOnly","unpinned","siteToInsert","holeIndex","indexStep","shiftingStep","nextIndex","shift","topSitesUI","commonProps","maxNarrowVisibleIndex","l","topSiteIconType","slotProps","TopSiteList","store","initStore","gActivityStreamPrerenderedState","sendEventOrAddListener","NEW_TAB_STATE_REQUEST","hydrate","documentElement","lang","gActivityStreamStrings","addSnippetsSubscriber","DATABASE_NAME","DATABASE_VERSION","SNIPPETS_OBJECTSTORE_NAME","SNIPPETS_UPDATE_INTERVAL_MS","SNIPPETS_ENABLED_EVENT","SNIPPETS_DISABLED_EVENT","SnippetsMap","_db","_dispatch","_dbTransaction","db","put","delete","clear","get","blockSnippetById","SNIPPETS_BLOCKLIST_UPDATED","disableOnboarding","DISABLE_ONBOARDING","showFirefoxAccounts","SHOW_FIREFOX_ACCOUNTS","getTotalBookmarksCount","Promise","resolve","TOTAL_BOOKMARKS_REQUEST","onMessage","TOTAL_BOOKMARKS_RESPONSE","_openDB","_restoreFromDb","modifier","reject","transaction","objectStore","onsuccess","onerror","openRequest","indexedDB","open","deleteDatabase","onupgradeneeded","objectStoreNames","contains","createObjectStore","err","console","onversionchange","versionChangeEvent","close","cursorRequest","openCursor","cursor","continue","SnippetsProvider","gSnippetsMap","_onAction","snippetsMap","_refreshSnippets","cachedVersion","appData","lastUpdate","needsUpdate","Date","snippetsURL","response","fetch","status","payload","_noSnippetFallback","_forceOnboardingVisibility","shouldBeVisible","onboardingEl","style","display","_showRemoteSnippets","snippetsEl","elementId","innerHTML","scriptEl","getElementsByTagName","relocatedScript","createElement","parentNode","replaceChild","msg","init","keys","dispatchEvent","Event","uninit","snippets","initializing","subscribe","messageCenterExperimentEnabled","disableSnippets","styles","border","fontFamily","padding","marginLeft","Button","defaultStyles","container","position","bottom","left","right","fontSize","lineHeight","boxShadow","innerWrapper","maxWidth","margin","alignItems","blockButton","background","top","height","width","opacity","marginTop","onBlock","body","marginRight","borderRadius","flexShrink","SimpleSnippet","content","PrefsButton","addLocaleDataForReactIntl","locale","addLocaleData","parentLocale","_Base","updateTheme","sendNewTabRehydrated","isPrerendered","PAGE_PRERENDERED","bodyClassName","v","join","renderNotified","NEW_TAB_REHYDRATED","strings","hash","BaseContent","openPreferences","prefs","shouldBeFixedToTop","PrerenderData","arePrefsValid","outerClassName","enableWideLayout","showSearch","migrationExpired","Base","_ConfirmDialog","_handleCancelBtn","_handleConfirmBtn","_renderModalMessage","message_body","ConfirmDialog","_ManualMigration","onLaunchTour","onCancelTour","MIGRATION_START","MIGRATION_CANCEL","ManualMigration","MessageCenterAdmin","handleBlock","handleUnblock","renderMessageItem","isCurrent","currentId","isBlocked","itemClassName","JSON","stringify","renderMessages","messages","_PrerenderData","initialPrefs","initialSections","_setValidation","validation","_validation","invalidatingPrefs","_invalidatingPrefs","next","oneOf","getPref","indexedDBPrefs","some","anyModifiedPrefs","prefName","order","provider","_Search","onInputMount","handleEvent","detail","gContentSearchController","search","input","healthReportKey","IS_NEWTAB","searchSource","ContentSearchUIController","Search","documentURI","CARDS_PER_ROW","Section","_dispatchImpressionStats","maxCards","maxRows","cards","needsImpressionStats","impressionCardGuids","sendImpressionStatsOrAddListener","_onVisibilityChange","prevProps","isCollapsed","wasCollapsed","numberOfPlaceholders","items","remainder","emptyState","contextMenuOptions","shouldShowTopics","topics","realRows","placeholders","shouldShowEmptyState","feed","isWebExtension","_","read_more_endpoint","SectionIntl","_Sections","renderSections","sections","enabledSections","sectionOrder","showTopSites","expectedCount","sectionId","split","cardContextTypes","history","intlID","bookmark","trending","download","gImageLoading","activeCard","imageLoaded","maybeLoadImage","image","loaderPromise","loader","Image","src","catch","then","altKey","ctrlKey","metaKey","WEBEXT_CLICK","click","hasImage","placeholder","description","context","_Card","Card","PlaceholderCard","DEFAULT_SECTION_MENU_OPTIONS","_SectionMenu","extraOptions","SectionMenu","Topic","Topics","t","faviconRef","countTopSitesIconsTypes","countTopSitesTypes","acc","_TopSites","onFormClose","_dispatchTopSitesStats","_getVisibleTopSites","topSitesIconsStats","topSitesPinned","topsites_icon_stats","topsites_pinned","sitesPerRow","matchMedia","matches","topSitesRows","validationError","onChange","onMount","shouldFocus","focus","showClearButton","onClear","typeUrl","titleId","loading","placeholderId","errorMessageId","TopSiteFormInput","customScreenshotUrl","showCustomScreenshotForm","onClearScreenshotInput","onLabelChange","onUrlChange","onCancelButtonClick","onClearUrlClick","onDoneButtonClick","onCustomScreenshotUrlChange","onPreviewButtonClick","onEnableScreenshotUrlForm","validateUrl","_updateCustomScreenshotInput","onClose","validateForm","cleanUrl","_tryParseUrl","URL","validProtocols","urlObj","protocol","validateCustomScreenshotUrl","validate","_renderCustomScreenshotInput","requestFailed","isLoading","showAsAdd","previous","changed","previewMode","previewLink","TopSiteForm","DetectUserSessionStart","_store","_perfService","perfService","_sendEvent","visibility_event_rcvd_ts","MERGE_STORE_ACTION","EARLY_QUEUED_ACTIONS","mergeStateReducer","mainReducer","messageMiddleware","au","rehydrationMiddleware","_didRehydrate","isMergeStoreAction","isRehydrationRequest","_didRequestInitialState","queueEarlyMessageMiddleware","_receivedFromMain","_earlyActionQueue","reducers","initialState","createStore","combineReducers","applyMiddleware","dump","stack"],"mappings":"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