Bug 1454074 - Add chronological highlights, dark updates and bug fixes to Activity Stream. r=ursula
authorEd Lee <edilee@mozilla.com>
Fri, 13 Apr 2018 13:56:32 -0700
changeset 466837 9896401414cb3c7cb5f1118b307b0267212c8aad
parent 466836 1344ca26ef0aec57cb0177f7089287b263c7a52b
child 466838 840e168e50abfb1593e918f2a939524854631564
push id9165
push userasasaki@mozilla.com
push dateThu, 26 Apr 2018 21:04:54 +0000
treeherdermozilla-beta@064c3804de2e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersursula
bugs1454074
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 1454074 - Add chronological highlights, dark updates and bug fixes to Activity Stream. r=ursula MozReview-Commit-ID: 1A7ufzREuYI
browser/extensions/activity-stream/bootstrap.js
browser/extensions/activity-stream/common/PrerenderData.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/AboutPreferences.jsm
browser/extensions/activity-stream/lib/ActivityStream.jsm
browser/extensions/activity-stream/lib/HighlightsFeed.jsm
browser/extensions/activity-stream/lib/SectionsManager.jsm
browser/extensions/activity-stream/lib/TelemetryFeed.jsm
browser/extensions/activity-stream/lib/TopSitesFeed.jsm
browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/id/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/static/activity-stream-initial-state.js
browser/extensions/activity-stream/test/functional/mochitest/browser_as_render.js
browser/extensions/activity-stream/test/unit/lib/HighlightsFeed.test.js
browser/extensions/activity-stream/test/unit/lib/SectionsManager.test.js
--- a/browser/extensions/activity-stream/bootstrap.js
+++ b/browser/extensions/activity-stream/bootstrap.js
@@ -119,22 +119,28 @@ function migratePref(oldPrefName, cbIfNo
 function onBrowserReady() {
   waitingForBrowserReady = false;
   init(startupReason);
 
   // Do a one time migration of Tiles about:newtab prefs that have been modified
   migratePref("browser.newtabpage.rows", rows => {
     // Just disable top sites if rows are not desired
     if (rows <= 0) {
-      Services.prefs.setBoolPref("browser.newtabpage.activity-stream.showTopSites", false);
+      Services.prefs.setBoolPref("browser.newtabpage.activity-stream.feeds.topsites", false);
     } else {
       Services.prefs.setIntPref("browser.newtabpage.activity-stream.topSitesRows", rows);
     }
   });
 
+  migratePref("browser.newtabpage.activity-stream.showTopSites", value => {
+    if (value === false) {
+      Services.prefs.setBoolPref("browser.newtabpage.activity-stream.feeds.topsites", false);
+    }
+  });
+
   // Old activity stream topSitesCount pref showed 6 per row
   migratePref("browser.newtabpage.activity-stream.topSitesCount", count => {
     Services.prefs.setIntPref("browser.newtabpage.activity-stream.topSitesRows", Math.ceil(count / 6));
   });
 }
 
 /**
  * observe - nsIObserver callback to handle various browser notifications.
--- a/browser/extensions/activity-stream/common/PrerenderData.jsm
+++ b/browser/extensions/activity-stream/common/PrerenderData.jsm
@@ -52,33 +52,33 @@ class _PrerenderData {
     }
     return true;
   }
 }
 
 this.PrerenderData = new _PrerenderData({
   initialPrefs: {
     "migrationExpired": true,
-    "showTopSites": true,
+    "feeds.topsites": true,
     "showSearch": true,
     "topSitesRows": 1,
     "feeds.section.topstories": true,
     "feeds.section.highlights": true,
     "enableWideLayout": true,
     "sectionOrder": "topsites,topstories,highlights",
     "collapsed": false
   },
   // Prefs listed as invalidating will prevent the prerendered version
   // of AS from being used if their value is something other than what is listed
   // here. This is required because some preferences cause the page layout to be
   // too different for the prerendered version to be used. Unfortunately, this
   // will result in users who have modified some of their preferences not being
   // able to get the benefits of prerendering.
   validation: [
-    "showTopSites",
+    "feeds.topsites",
     "showSearch",
     "topSitesRows",
     "enableWideLayout",
     "sectionOrder",
     // This means if either of these are set to their default values,
     // prerendering can be used.
     {oneOf: ["feeds.section.topstories", "feeds.section.highlights"]},
     // If any component has the following preference set to `true` it will
--- a/browser/extensions/activity-stream/css/activity-stream-linux.css
+++ b/browser/extensions/activity-stream/css/activity-stream-linux.css
@@ -19,79 +19,91 @@ input {
   background-color: inherit;
   color: inherit;
   font-family: inherit;
   font-size: inherit; }
 
 [hidden] {
   display: none !important; }
 
-.outer-wrapper {
+body {
   --newtab-background-color: #F9F9FA;
   --newtab-border-primary-color: #B1B1B3;
   --newtab-border-secondary-color: #D7D7DB;
   --newtab-button-primary-color: #0060DF;
   --newtab-button-secondary-color: inherit;
-  --newtab-element-active-color: #EDEDF0;
+  --newtab-element-active-color: rgba(215, 215, 219, 0.6);
+  --newtab-element-hover-color: #EDEDF0;
   --newtab-icon-primary-color: rgba(12, 12, 13, 0.8);
   --newtab-icon-secondary-color: rgba(12, 12, 13, 0.6);
   --newtab-icon-tertiary-color: #D7D7DB;
   --newtab-inner-box-shadow-color: rgba(0, 0, 0, 0.1);
   --newtab-link-primary-color: #0060DF;
   --newtab-link-secondary-color: #008EA4;
   --newtab-text-conditional-color: #4A4A4F;
   --newtab-text-primary-color: #0C0C0D;
   --newtab-text-secondary-color: #737373;
+  --newtab-textbox-background-color: #FFF;
   --newtab-textbox-border: rgba(12, 12, 13, 0.2);
-  --newtab-textbox-color: inherit;
+  --newtab-textbox-focus-color: #0060DF;
+  --newtab-textbox-focus-boxshadow: 0 0 0 1px #0060DF, 0 0 0 4px rgba(0, 96, 223, 0.3);
+  --newtab-contextmenu-background-color: #F9F9FA;
   --newtab-contextmenu-button-color: #FFF;
   --newtab-modal-color: #FFF;
   --newtab-overlay-color: #EDEDF0;
   --newtab-section-header-text-color: #737373;
   --newtab-section-navigation-text-color: #737373;
   --newtab-section-active-contextmenu-color: #0C0C0D;
-  --newtab-search-background-color: #FFF;
   --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-label-color: inherit;
+  --newtab-card-active-outline-color: #D7D7DB;
   --newtab-card-background-color: #FFF;
-  --newtab-card-active-outline-color: #D7D7DB;
-  --newtab-card-hairline-color: rgba(0, 0, 0, 0.1); }
+  --newtab-card-hairline-color: rgba(0, 0, 0, 0.1);
+  --newtab-card-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1); }
 
-.outer-wrapper.dark-theme {
+.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.2);
+  --newtab-border-secondary-color: rgba(249, 249, 250, 0.1);
   --newtab-button-primary-color: #0060DF;
   --newtab-button-secondary-color: #38383D;
-  --newtab-element-active-color: #4A4A4F;
+  --newtab-element-active-color: rgba(249, 249, 250, 0.2);
+  --newtab-element-hover-color: rgba(249, 249, 250, 0.1);
   --newtab-icon-primary-color: rgba(249, 249, 250, 0.8);
   --newtab-icon-secondary-color: rgba(249, 249, 250, 0.4);
   --newtab-icon-tertiary-color: rgba(249, 249, 250, 0.2);
   --newtab-inner-box-shadow-color: rgba(249, 249, 250, 0.2);
   --newtab-link-primary-color: #45A1FF;
   --newtab-link-secondary-color: #50BCB6;
   --newtab-text-conditional-color: #F9F9FA;
   --newtab-text-primary-color: #F9F9FA;
   --newtab-text-secondary-color: rgba(249, 249, 250, 0.4);
-  --newtab-textbox-border: rgba(249, 249, 250, 0.4);
-  --newtab-textbox-color: #2A2A2E;
+  --newtab-textbox-background-color: #38383D;
+  --newtab-textbox-border: rgba(249, 249, 250, 0.2);
+  --newtab-textbox-focus-color: #45A1FF;
+  --newtab-textbox-focus-boxshadow: 0 0 0 1px #45A1FF, 0 0 0 4px rgba(69, 161, 255, 0.3);
+  --newtab-contextmenu-background-color: #4A4A4F;
   --newtab-contextmenu-button-color: #2A2A2E;
-  --newtab-modal-color: #0C0C0D;
-  --newtab-overlay-color: #2A2A2E;
+  --newtab-modal-color: #2A2A2E;
+  --newtab-overlay-color: #0C0C0D;
   --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-background-color: #4A4A4F;
   --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-label-color: rgba(249, 249, 250, 0.8);
-  --newtab-card-background-color: #0C0C0D;
   --newtab-card-active-outline-color: #4A4A4F;
-  --newtab-card-hairline-color: rgba(249, 249, 250, 0.2); }
+  --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); }
 
 .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);
@@ -192,16 +204,17 @@ input {
 html {
   height: 100%; }
 
 body,
 #root {
   min-height: 100vh; }
 
 body {
+  background-color: var(--newtab-background-color);
   font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;
   font-size: 16px;
   overflow-y: scroll; }
 
 h1,
 h2 {
   font-weight: normal; }
 
@@ -274,21 +287,23 @@ a {
   .button.primary, .button.done,
   .actions button.primary,
   .actions button.done {
     background-color: var(--newtab-button-primary-color);
     border: solid 1px var(--newtab-button-primary-color);
     color: #FFF;
     margin-inline-start: auto; }
 
+input[type='text'], input[type='search'] {
+  border-radius: 3px; }
+
 #snippets-container {
   z-index: 1; }
 
 .outer-wrapper {
-  background-color: var(--newtab-background-color);
   color: var(--newtab-text-primary-color);
   display: flex;
   flex-grow: 1;
   min-height: 100vh;
   padding: 30px 32px 32px; }
   .outer-wrapper.fixed-to-top {
     display: block; }
   .outer-wrapper a {
@@ -339,16 +354,18 @@ main {
   cursor: pointer;
   fill: var(--newtab-icon-primary-color);
   offset-inline-end: 15px;
   padding: 15px;
   position: fixed;
   top: 15px;
   z-index: 12001; }
   .prefs-button button:hover, .prefs-button button:focus {
+    background-color: var(--newtab-element-hover-color); }
+  .prefs-button button:active {
     background-color: var(--newtab-element-active-color); }
 
 .as-error-fallback {
   align-items: center;
   border-radius: 3px;
   box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color);
   color: var(--newtab-text-conditional-color);
   display: flex;
@@ -450,17 +467,17 @@ main {
     transition-duration: 200ms;
     transition-property: transform, opacity;
     width: 27px; }
     .top-site-outer .context-menu-button:-moz-any(:active, :focus) {
       opacity: 1;
       transform: scale(1); }
   .top-site-outer .tile {
     border-radius: 6px;
-    box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color), 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+    box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color), var(--newtab-card-shadow);
     height: 96px;
     position: relative;
     width: 96px;
     align-items: center;
     color: var(--newtab-text-secondary-color);
     display: flex;
     font-size: 32px;
     font-weight: 200;
@@ -560,17 +577,17 @@ main {
     offset-inline-end: 0;
     offset-inline-start: auto; } }
 
 @media not all and (min-width: 1122px) {
   .wide-layout-enabled .top-sites-list .hide-for-narrow {
     display: none; } }
 
 .edit-topsites-wrapper .modal {
-  box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+  box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.2);
   left: 0;
   margin: 0 auto;
   position: fixed;
   right: 0;
   top: 40px;
   width: 274px; }
   @media (min-width: 482px) {
     .edit-topsites-wrapper .modal {
@@ -648,27 +665,26 @@ main {
     transform: translateX(-960px); } }
 
 @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-color);
+    background-color: var(--newtab-textbox-background-color);
     border: solid 1px var(--newtab-textbox-border);
-    border-radius: 2px;
     margin: 8px 0;
     padding: 0 8px;
     height: 32px;
     width: 100%;
     font-size: 15px; }
     .topsite-form .form-wrapper input[type='text']:focus {
-      border: solid 1px #0A84FF;
-      box-shadow: 0 0 0 1px #0A84FF, 0 0 0 4px rgba(10, 132, 255, 0.3); }
+      border: solid 1px 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);
       box-shadow: none;
       opacity: 0.4; }
   .topsite-form .form-wrapper .invalid input[type='text'] {
     border: solid 1px #D70022;
     box-shadow: 0 0 0 1px #D70022, 0 0 0 4px rgba(215, 0, 34, 0.3); }
   .topsite-form .form-wrapper .error-tooltip {
@@ -796,19 +812,21 @@ main {
   .topic ul li {
     display: inline-block; }
     .topic ul li::after {
       content: '•';
       padding: 8px; }
     .topic ul li:last-child::after {
       content: none; }
   .topic .topic-link {
-    color: var(--newtab-link-secondary-color); }
+    color: var(--newtab-link-secondary-color);
+    font-weight: bold; }
   .topic .topic-read-more {
-    color: var(--newtab-link-secondary-color); }
+    color: var(--newtab-link-secondary-color);
+    font-weight: bold; }
     @media (min-width: 866px) {
       .topic .topic-read-more {
         float: right; }
         .topic .topic-read-more:dir(rtl) {
           float: left; } }
     .topic .topic-read-more::after {
       background: url("../data/content/assets/topic-show-more-12.svg") no-repeat center center;
       content: '';
@@ -825,34 +843,34 @@ main {
     clear: both;
     content: '';
     display: table; }
 
 .search-wrapper {
   cursor: default;
   display: flex;
   height: 35px;
-  margin: 1px 1px 20px;
+  margin-bottom: 20px;
   position: relative;
   width: 100%; }
   .search-wrapper input {
-    background: var(--newtab-search-background-color);
+    background: var(--newtab-textbox-background-color);
     border: solid 1px var(--newtab-search-border-color);
-    border-radius: 3px;
-    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.15);
+    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.15);
     font-size: 15px;
     padding: 0;
     padding-inline-end: 36px;
     padding-inline-start: 35px;
     width: 100%; }
   .search-wrapper:hover input {
-    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.25); }
+    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 {
-    box-shadow: 0 0 0 3px #0060DF; }
+    border: solid 1px var(--newtab-textbox-focus-color);
+    box-shadow: var(--newtab-textbox-focus-boxshadow); }
   .search-wrapper .search-label {
     background: url("chrome://browser/skin/search-glass.svg") no-repeat 12px center/16px;
     -moz-context-properties: fill;
     fill: var(--newtab-search-icon-color);
     height: 100%;
     offset-inline-start: 0;
     position: absolute;
     width: 35px; }
@@ -871,33 +889,43 @@ main {
       background-color: rgba(12, 12, 13, 0.1);
       cursor: pointer; }
     .search-wrapper .search-button:active {
       background-color: rgba(12, 12, 13, 0.2); }
     .search-wrapper .search-button:dir(rtl) {
       transform: scaleX(-1); }
 
 .contentSearchSuggestionTable {
-  background-color: var(--newtab-modal-color);
   border: 0;
   box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.2);
   transform: translateY(3px); }
   .contentSearchSuggestionTable .contentSearchHeader {
-    background-color: var(--newtab-background-color);
+    background-color: var(--newtab-search-dropdown-header-color);
     color: var(--newtab-text-secondary-color); }
   .contentSearchSuggestionTable .contentSearchHeader, .contentSearchSuggestionTable .contentSearchSuggestionsList, .contentSearchSuggestionTable .contentSearchSettingsButton {
     border-color: var(--newtab-border-secondary-color); }
   .contentSearchSuggestionTable .contentSearchSearchWithHeaderSearchText {
     color: var(--newtab-text-primary-color); }
+  .contentSearchSuggestionTable .contentSearchSuggestionsContainer {
+    background-color: var(--newtab-search-dropdown-color); }
+  .contentSearchSuggestionTable .contentSearchSuggestionRow.selected {
+    background: var(--newtab-element-hover-color);
+    color: var(--newtab-text-primary-color); }
+    .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 .contentSearchSettingsButton:hover {
-    background: var(--newtab-element-active-color);
+    background: var(--newtab-element-hover-color);
     color: var(--newtab-text-primary-color); }
 
 .context-menu {
-  background: var(--newtab-background-color);
+  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);
   display: block;
   font-size: 14px;
   margin-inline-start: 5px;
   offset-inline-start: 100%;
   position: absolute;
   top: 6.75px;
@@ -917,16 +945,18 @@ main {
         color: inherit;
         cursor: pointer;
         display: flex;
         line-height: 16px;
         outline: none;
         padding: 3px 12px;
         white-space: nowrap; }
         .context-menu > ul > li > a:-moz-any(:focus, :hover) {
+          background: var(--newtab-element-hover-color); }
+        .context-menu > ul > li > a:active {
           background: var(--newtab-element-active-color); }
         .context-menu > ul > li > a.disabled {
           opacity: 0.4;
           pointer-events: none; }
 
 .confirmation-dialog .modal {
   box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1);
   left: 50%;
@@ -1012,17 +1042,17 @@ main {
       opacity: 1;
       transform: scale(1); }
   .card-outer.placeholder {
     background: transparent; }
     .card-outer.placeholder .card {
       box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color); }
   .card-outer .card {
     border-radius: 3px;
-    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+    box-shadow: var(--newtab-card-shadow);
     height: 100%; }
   .card-outer > a {
     color: inherit;
     display: block;
     height: 100%;
     outline: none;
     position: absolute;
     width: 100%; }
@@ -1085,16 +1115,17 @@ main {
     color: var(--newtab-text-secondary-color);
     font-size: 10px;
     overflow: hidden;
     padding-bottom: 4px;
     text-overflow: ellipsis;
     text-transform: uppercase; }
   .card-outer .card-title {
     font-size: 14px;
+    font-weight: 600;
     line-height: 19px;
     margin: 0 0 2px;
     word-wrap: break-word; }
   .card-outer .card-description {
     font-size: 12px;
     line-height: 19px;
     margin: 0;
     overflow: hidden;
@@ -1235,34 +1266,34 @@ main {
       .collapsible-section .section-top-bar .context-menu {
         margin-inline-end: 5px;
         margin-inline-start: auto;
         offset-inline-end: 0;
         offset-inline-start: auto; } }
   .collapsible-section:hover .section-top-bar .context-menu-button, .collapsible-section.active .section-top-bar .context-menu-button {
     opacity: 1; }
   .collapsible-section.active {
-    background: var(--newtab-element-active-color);
+    background: var(--newtab-element-hover-color);
     border-radius: 4px; }
     .collapsible-section.active .section-top-bar .context-menu-button {
       fill: var(--newtab-section-active-contextmenu-color); }
   .collapsible-section .section-disclaimer {
     color: var(--newtab-text-conditional-color);
     font-size: 13px;
     margin-bottom: 16px;
     position: relative; }
     .collapsible-section .section-disclaimer .section-disclaimer-text {
       display: inline-block;
       min-height: 26px;
       width: calc(100% - 130px); }
       @media (max-width: 610px) {
         .collapsible-section .section-disclaimer .section-disclaimer-text {
           width: 224px; } }
     .collapsible-section .section-disclaimer a {
-      color: var(--newtab-link-secondary-color);
+      color: var(--newtab-link-primary-color);
       font-weight: bold;
       padding-left: 3px; }
     .collapsible-section .section-disclaimer button {
       background: var(--newtab-button-secondary-color);
       border: 1px solid #B1B1B3;
       border-radius: 4px;
       cursor: pointer;
       margin-top: 2px;
--- a/browser/extensions/activity-stream/css/activity-stream-linux.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-linux.css.map
@@ -17,30 +17,30 @@
 		"../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"
 	],
 	"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$os-search-focus-shadow-radius: 3px;\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  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\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",
+		"/* 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",
 		"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-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-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$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@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",
-		"// Default theme\n.outer-wrapper {\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-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-textbox-border: $grey-90-20;\n  --newtab-textbox-color: inherit;\n\n  // Context menu\n  --newtab-contextmenu-button-color: $white;\n\n  // Modal + overlay\n  --newtab-modal-color: $white;\n  --newtab-overlay-color: $grey-20;\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-background-color: $white;\n  --newtab-search-border-color: transparent;\n  --newtab-search-icon-color: $grey-90-40;\n\n  // Top Sites\n  --newtab-topsites-label-color: inherit;\n\n  // Cards\n  --newtab-card-background-color: $white;\n  --newtab-card-active-outline-color: $grey-30;\n  --newtab-card-hairline-color: $black-10;\n}\n\n// Dark theme\n.outer-wrapper.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-20;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: $grey-70;\n  --newtab-element-active-color: $grey-60;\n  --newtab-icon-primary-color: $grey-10-80;\n  --newtab-icon-secondary-color: $grey-10-40;\n  --newtab-icon-tertiary-color: $grey-10-20;\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-40;\n  --newtab-textbox-border: $grey-10-40;\n  --newtab-textbox-color: $grey-80;\n\n  // Context menu\n  --newtab-contextmenu-button-color: $grey-80;\n\n  // Modal + overlay\n  --newtab-modal-color: $grey-90;\n  --newtab-overlay-color: $grey-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-background-color: $grey-60;\n  --newtab-search-border-color: $grey-10-20;\n  --newtab-search-icon-color: $grey-10-60;\n\n  // Top Sites\n  --newtab-topsites-label-color: $grey-10-80;\n\n  // Cards\n  --newtab-card-background-color: $grey-90;\n  --newtab-card-active-outline-color: $grey-60;\n  --newtab-card-hairline-color: $grey-10-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-10;\n$input-border: solid 1px var(--newtab-textbox-border);\n$input-border-active: solid 1px $blue-50;\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: 0 0 0 1px $red-60, 0 0 0 4px rgba($red-60, 0.3);\n$input-focus-boxshadow: 0 0 0 1px $blue-50, 0 0 0 4px rgba($blue-50, 0.3);\n$inner-box-shadow: 0 0 0 1px var(--newtab-inner-box-shadow-color);\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-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$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@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 4px 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-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;\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-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-20;\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-40;\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;\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-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-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-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  background-color: var(--newtab-background-color);\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-active-color);\n    }\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, $shadow-secondary;\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: $white;\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-color);\n        border: $input-border;\n        border-radius: 2px;\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: $input-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: $white;\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",
 		".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  }\n\n  .topic-read-more {\n    color: var(--newtab-link-secondary-color);\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-border-radius: 3px;\n  $search-focus-color: $blue-60;\n  $search-height: 35px;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $search-glyph-image: url('chrome://browser/skin/search-glass.svg');\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n  $search-glyph-size: 16px;\n  // This is positioned so it is visually (not metrically) centered. r=abenson\n  $search-glyph-left-position: 12px;\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  // The extra 1px is to account for the box-shadow being outside of the element\n  // instead of inside. It needs to be like that to not overlap the inner background\n  // color of the hover state of the submit button.\n  margin: 1px 1px $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    background: var(--newtab-search-background-color);\n    border: solid 1px var(--newtab-search-border-color);\n    border-radius: $search-border-radius;\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-input-left-label-width;\n    width: 100%;\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    box-shadow: 0 0 0 $os-search-focus-shadow-radius $search-focus-color;\n  }\n\n  .search-label {\n    background: $search-glyph-image no-repeat $search-glyph-left-position center / $search-glyph-size;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-start: 0;\n    position: absolute;\n    width: $search-input-left-label-width;\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-modal-color);\n    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY(3px);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-background-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSuggestionsList,\n    .contentSearchSettingsButton {\n      border-color: var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSearchWithHeaderSearchText {\n      color: var(--newtab-text-primary-color);\n    }\n\n    .contentSearchSettingsButton {\n      &:hover {\n        background: var(--newtab-element-active-color);\n        color: var(--newtab-text-primary-color);\n      }\n    }\n  }\n}\n",
-		".context-menu {\n  background: var(--newtab-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-active-color);\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\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-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $search-glyph-image: url('chrome://browser/skin/search-glass.svg');\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n  $search-glyph-size: 16px;\n  // This is positioned so it is visually (not metrically) centered. r=abenson\n  $search-glyph-left-position: 12px;\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);\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    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-input-left-label-width;\n    width: 100%;\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-label {\n    background: $search-glyph-image no-repeat $search-glyph-left-position center / $search-glyph-size;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-start: 0;\n    position: absolute;\n    width: $search-input-left-label-width;\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    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY(3px);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-search-dropdown-header-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSuggestionsList,\n    .contentSearchSettingsButton {\n      border-color: 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    .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  opacity: 0.8;\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: $shadow-secondary;\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\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-title {\n    font-size: 14px;\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-secondary-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-secondary-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-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",
+		".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\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-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-secondary-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-secondary-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-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-active-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-secondary-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",
+		".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"
 	],
 	"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
@@ -1,10 +1,13 @@
 @charset "UTF-8";
 /* This is the mac variant */
+.dark-theme {
+  -moz-osx-font-smoothing: grayscale; }
+
 html {
   box-sizing: border-box; }
 
 *,
 *::before,
 *::after {
   box-sizing: inherit; }
 
@@ -19,79 +22,91 @@ input {
   background-color: inherit;
   color: inherit;
   font-family: inherit;
   font-size: inherit; }
 
 [hidden] {
   display: none !important; }
 
-.outer-wrapper {
+body {
   --newtab-background-color: #F9F9FA;
   --newtab-border-primary-color: #B1B1B3;
   --newtab-border-secondary-color: #D7D7DB;
   --newtab-button-primary-color: #0060DF;
   --newtab-button-secondary-color: inherit;
-  --newtab-element-active-color: #EDEDF0;
+  --newtab-element-active-color: rgba(215, 215, 219, 0.6);
+  --newtab-element-hover-color: #EDEDF0;
   --newtab-icon-primary-color: rgba(12, 12, 13, 0.8);
   --newtab-icon-secondary-color: rgba(12, 12, 13, 0.6);
   --newtab-icon-tertiary-color: #D7D7DB;
   --newtab-inner-box-shadow-color: rgba(0, 0, 0, 0.1);
   --newtab-link-primary-color: #0060DF;
   --newtab-link-secondary-color: #008EA4;
   --newtab-text-conditional-color: #4A4A4F;
   --newtab-text-primary-color: #0C0C0D;
   --newtab-text-secondary-color: #737373;
+  --newtab-textbox-background-color: #FFF;
   --newtab-textbox-border: rgba(12, 12, 13, 0.2);
-  --newtab-textbox-color: inherit;
+  --newtab-textbox-focus-color: #0060DF;
+  --newtab-textbox-focus-boxshadow: 0 0 0 1px #0060DF, 0 0 0 4px rgba(0, 96, 223, 0.3);
+  --newtab-contextmenu-background-color: #F9F9FA;
   --newtab-contextmenu-button-color: #FFF;
   --newtab-modal-color: #FFF;
   --newtab-overlay-color: #EDEDF0;
   --newtab-section-header-text-color: #737373;
   --newtab-section-navigation-text-color: #737373;
   --newtab-section-active-contextmenu-color: #0C0C0D;
-  --newtab-search-background-color: #FFF;
   --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-label-color: inherit;
+  --newtab-card-active-outline-color: #D7D7DB;
   --newtab-card-background-color: #FFF;
-  --newtab-card-active-outline-color: #D7D7DB;
-  --newtab-card-hairline-color: rgba(0, 0, 0, 0.1); }
+  --newtab-card-hairline-color: rgba(0, 0, 0, 0.1);
+  --newtab-card-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1); }
 
-.outer-wrapper.dark-theme {
+.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.2);
+  --newtab-border-secondary-color: rgba(249, 249, 250, 0.1);
   --newtab-button-primary-color: #0060DF;
   --newtab-button-secondary-color: #38383D;
-  --newtab-element-active-color: #4A4A4F;
+  --newtab-element-active-color: rgba(249, 249, 250, 0.2);
+  --newtab-element-hover-color: rgba(249, 249, 250, 0.1);
   --newtab-icon-primary-color: rgba(249, 249, 250, 0.8);
   --newtab-icon-secondary-color: rgba(249, 249, 250, 0.4);
   --newtab-icon-tertiary-color: rgba(249, 249, 250, 0.2);
   --newtab-inner-box-shadow-color: rgba(249, 249, 250, 0.2);
   --newtab-link-primary-color: #45A1FF;
   --newtab-link-secondary-color: #50BCB6;
   --newtab-text-conditional-color: #F9F9FA;
   --newtab-text-primary-color: #F9F9FA;
   --newtab-text-secondary-color: rgba(249, 249, 250, 0.4);
-  --newtab-textbox-border: rgba(249, 249, 250, 0.4);
-  --newtab-textbox-color: #2A2A2E;
+  --newtab-textbox-background-color: #38383D;
+  --newtab-textbox-border: rgba(249, 249, 250, 0.2);
+  --newtab-textbox-focus-color: #45A1FF;
+  --newtab-textbox-focus-boxshadow: 0 0 0 1px #45A1FF, 0 0 0 4px rgba(69, 161, 255, 0.3);
+  --newtab-contextmenu-background-color: #4A4A4F;
   --newtab-contextmenu-button-color: #2A2A2E;
-  --newtab-modal-color: #0C0C0D;
-  --newtab-overlay-color: #2A2A2E;
+  --newtab-modal-color: #2A2A2E;
+  --newtab-overlay-color: #0C0C0D;
   --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-background-color: #4A4A4F;
   --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-label-color: rgba(249, 249, 250, 0.8);
-  --newtab-card-background-color: #0C0C0D;
   --newtab-card-active-outline-color: #4A4A4F;
-  --newtab-card-hairline-color: rgba(249, 249, 250, 0.2); }
+  --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); }
 
 .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);
@@ -192,16 +207,17 @@ input {
 html {
   height: 100%; }
 
 body,
 #root {
   min-height: 100vh; }
 
 body {
+  background-color: var(--newtab-background-color);
   font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;
   font-size: 16px;
   overflow-y: scroll; }
 
 h1,
 h2 {
   font-weight: normal; }
 
@@ -274,21 +290,23 @@ a {
   .button.primary, .button.done,
   .actions button.primary,
   .actions button.done {
     background-color: var(--newtab-button-primary-color);
     border: solid 1px var(--newtab-button-primary-color);
     color: #FFF;
     margin-inline-start: auto; }
 
+input[type='text'], input[type='search'] {
+  border-radius: 3px; }
+
 #snippets-container {
   z-index: 1; }
 
 .outer-wrapper {
-  background-color: var(--newtab-background-color);
   color: var(--newtab-text-primary-color);
   display: flex;
   flex-grow: 1;
   min-height: 100vh;
   padding: 30px 32px 32px; }
   .outer-wrapper.fixed-to-top {
     display: block; }
   .outer-wrapper a {
@@ -339,16 +357,18 @@ main {
   cursor: pointer;
   fill: var(--newtab-icon-primary-color);
   offset-inline-end: 15px;
   padding: 15px;
   position: fixed;
   top: 15px;
   z-index: 12001; }
   .prefs-button button:hover, .prefs-button button:focus {
+    background-color: var(--newtab-element-hover-color); }
+  .prefs-button button:active {
     background-color: var(--newtab-element-active-color); }
 
 .as-error-fallback {
   align-items: center;
   border-radius: 3px;
   box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color);
   color: var(--newtab-text-conditional-color);
   display: flex;
@@ -450,17 +470,17 @@ main {
     transition-duration: 200ms;
     transition-property: transform, opacity;
     width: 27px; }
     .top-site-outer .context-menu-button:-moz-any(:active, :focus) {
       opacity: 1;
       transform: scale(1); }
   .top-site-outer .tile {
     border-radius: 6px;
-    box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color), 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+    box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color), var(--newtab-card-shadow);
     height: 96px;
     position: relative;
     width: 96px;
     align-items: center;
     color: var(--newtab-text-secondary-color);
     display: flex;
     font-size: 32px;
     font-weight: 200;
@@ -560,17 +580,17 @@ main {
     offset-inline-end: 0;
     offset-inline-start: auto; } }
 
 @media not all and (min-width: 1122px) {
   .wide-layout-enabled .top-sites-list .hide-for-narrow {
     display: none; } }
 
 .edit-topsites-wrapper .modal {
-  box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+  box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.2);
   left: 0;
   margin: 0 auto;
   position: fixed;
   right: 0;
   top: 40px;
   width: 274px; }
   @media (min-width: 482px) {
     .edit-topsites-wrapper .modal {
@@ -648,27 +668,26 @@ main {
     transform: translateX(-960px); } }
 
 @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-color);
+    background-color: var(--newtab-textbox-background-color);
     border: solid 1px var(--newtab-textbox-border);
-    border-radius: 2px;
     margin: 8px 0;
     padding: 0 8px;
     height: 32px;
     width: 100%;
     font-size: 15px; }
     .topsite-form .form-wrapper input[type='text']:focus {
-      border: solid 1px #0A84FF;
-      box-shadow: 0 0 0 1px #0A84FF, 0 0 0 4px rgba(10, 132, 255, 0.3); }
+      border: solid 1px 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);
       box-shadow: none;
       opacity: 0.4; }
   .topsite-form .form-wrapper .invalid input[type='text'] {
     border: solid 1px #D70022;
     box-shadow: 0 0 0 1px #D70022, 0 0 0 4px rgba(215, 0, 34, 0.3); }
   .topsite-form .form-wrapper .error-tooltip {
@@ -796,19 +815,21 @@ main {
   .topic ul li {
     display: inline-block; }
     .topic ul li::after {
       content: '•';
       padding: 8px; }
     .topic ul li:last-child::after {
       content: none; }
   .topic .topic-link {
-    color: var(--newtab-link-secondary-color); }
+    color: var(--newtab-link-secondary-color);
+    font-weight: bold; }
   .topic .topic-read-more {
-    color: var(--newtab-link-secondary-color); }
+    color: var(--newtab-link-secondary-color);
+    font-weight: bold; }
     @media (min-width: 866px) {
       .topic .topic-read-more {
         float: right; }
         .topic .topic-read-more:dir(rtl) {
           float: left; } }
     .topic .topic-read-more::after {
       background: url("../data/content/assets/topic-show-more-12.svg") no-repeat center center;
       content: '';
@@ -825,34 +846,34 @@ main {
     clear: both;
     content: '';
     display: table; }
 
 .search-wrapper {
   cursor: default;
   display: flex;
   height: 35px;
-  margin: 1px 1px 20px;
+  margin-bottom: 20px;
   position: relative;
   width: 100%; }
   .search-wrapper input {
-    background: var(--newtab-search-background-color);
+    background: var(--newtab-textbox-background-color);
     border: solid 1px var(--newtab-search-border-color);
-    border-radius: 3px;
-    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.15);
+    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.15);
     font-size: 15px;
     padding: 0;
     padding-inline-end: 36px;
     padding-inline-start: 35px;
     width: 100%; }
   .search-wrapper:hover input {
-    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.25); }
+    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 {
-    box-shadow: 0 0 0 3px #0060DF; }
+    border: solid 1px var(--newtab-textbox-focus-color);
+    box-shadow: var(--newtab-textbox-focus-boxshadow); }
   .search-wrapper .search-label {
     background: url("chrome://browser/skin/search-glass.svg") no-repeat 12px center/16px;
     -moz-context-properties: fill;
     fill: var(--newtab-search-icon-color);
     height: 100%;
     offset-inline-start: 0;
     position: absolute;
     width: 35px; }
@@ -871,33 +892,43 @@ main {
       background-color: rgba(12, 12, 13, 0.1);
       cursor: pointer; }
     .search-wrapper .search-button:active {
       background-color: rgba(12, 12, 13, 0.2); }
     .search-wrapper .search-button:dir(rtl) {
       transform: scaleX(-1); }
 
 .contentSearchSuggestionTable {
-  background-color: var(--newtab-modal-color);
   border: 0;
   box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.2);
   transform: translateY(3px); }
   .contentSearchSuggestionTable .contentSearchHeader {
-    background-color: var(--newtab-background-color);
+    background-color: var(--newtab-search-dropdown-header-color);
     color: var(--newtab-text-secondary-color); }
   .contentSearchSuggestionTable .contentSearchHeader, .contentSearchSuggestionTable .contentSearchSuggestionsList, .contentSearchSuggestionTable .contentSearchSettingsButton {
     border-color: var(--newtab-border-secondary-color); }
   .contentSearchSuggestionTable .contentSearchSearchWithHeaderSearchText {
     color: var(--newtab-text-primary-color); }
+  .contentSearchSuggestionTable .contentSearchSuggestionsContainer {
+    background-color: var(--newtab-search-dropdown-color); }
+  .contentSearchSuggestionTable .contentSearchSuggestionRow.selected {
+    background: var(--newtab-element-hover-color);
+    color: var(--newtab-text-primary-color); }
+    .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 .contentSearchSettingsButton:hover {
-    background: var(--newtab-element-active-color);
+    background: var(--newtab-element-hover-color);
     color: var(--newtab-text-primary-color); }
 
 .context-menu {
-  background: var(--newtab-background-color);
+  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);
   display: block;
   font-size: 14px;
   margin-inline-start: 5px;
   offset-inline-start: 100%;
   position: absolute;
   top: 6.75px;
@@ -917,16 +948,18 @@ main {
         color: inherit;
         cursor: pointer;
         display: flex;
         line-height: 16px;
         outline: none;
         padding: 3px 12px;
         white-space: nowrap; }
         .context-menu > ul > li > a:-moz-any(:focus, :hover) {
+          background: var(--newtab-element-hover-color); }
+        .context-menu > ul > li > a:active {
           background: var(--newtab-element-active-color); }
         .context-menu > ul > li > a.disabled {
           opacity: 0.4;
           pointer-events: none; }
 
 .confirmation-dialog .modal {
   box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1);
   left: 50%;
@@ -1012,17 +1045,17 @@ main {
       opacity: 1;
       transform: scale(1); }
   .card-outer.placeholder {
     background: transparent; }
     .card-outer.placeholder .card {
       box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color); }
   .card-outer .card {
     border-radius: 3px;
-    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+    box-shadow: var(--newtab-card-shadow);
     height: 100%; }
   .card-outer > a {
     color: inherit;
     display: block;
     height: 100%;
     outline: none;
     position: absolute;
     width: 100%; }
@@ -1085,16 +1118,17 @@ main {
     color: var(--newtab-text-secondary-color);
     font-size: 10px;
     overflow: hidden;
     padding-bottom: 4px;
     text-overflow: ellipsis;
     text-transform: uppercase; }
   .card-outer .card-title {
     font-size: 14px;
+    font-weight: 600;
     line-height: 19px;
     margin: 0 0 2px;
     word-wrap: break-word; }
   .card-outer .card-description {
     font-size: 12px;
     line-height: 19px;
     margin: 0;
     overflow: hidden;
@@ -1235,34 +1269,34 @@ main {
       .collapsible-section .section-top-bar .context-menu {
         margin-inline-end: 5px;
         margin-inline-start: auto;
         offset-inline-end: 0;
         offset-inline-start: auto; } }
   .collapsible-section:hover .section-top-bar .context-menu-button, .collapsible-section.active .section-top-bar .context-menu-button {
     opacity: 1; }
   .collapsible-section.active {
-    background: var(--newtab-element-active-color);
+    background: var(--newtab-element-hover-color);
     border-radius: 4px; }
     .collapsible-section.active .section-top-bar .context-menu-button {
       fill: var(--newtab-section-active-contextmenu-color); }
   .collapsible-section .section-disclaimer {
     color: var(--newtab-text-conditional-color);
     font-size: 13px;
     margin-bottom: 16px;
     position: relative; }
     .collapsible-section .section-disclaimer .section-disclaimer-text {
       display: inline-block;
       min-height: 26px;
       width: calc(100% - 130px); }
       @media (max-width: 610px) {
         .collapsible-section .section-disclaimer .section-disclaimer-text {
           width: 224px; } }
     .collapsible-section .section-disclaimer a {
-      color: var(--newtab-link-secondary-color);
+      color: var(--newtab-link-primary-color);
       font-weight: bold;
       padding-left: 3px; }
     .collapsible-section .section-disclaimer button {
       background: var(--newtab-button-secondary-color);
       border: 1px solid #B1B1B3;
       border-radius: 4px;
       cursor: pointer;
       margin-top: 2px;
--- a/browser/extensions/activity-stream/css/activity-stream-mac.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-mac.css.map
@@ -17,30 +17,30 @@
 		"../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"
 	],
 	"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$os-search-focus-shadow-radius: 3px;\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  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\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",
+		"/* 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",
 		"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-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-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$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@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",
-		"// Default theme\n.outer-wrapper {\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-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-textbox-border: $grey-90-20;\n  --newtab-textbox-color: inherit;\n\n  // Context menu\n  --newtab-contextmenu-button-color: $white;\n\n  // Modal + overlay\n  --newtab-modal-color: $white;\n  --newtab-overlay-color: $grey-20;\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-background-color: $white;\n  --newtab-search-border-color: transparent;\n  --newtab-search-icon-color: $grey-90-40;\n\n  // Top Sites\n  --newtab-topsites-label-color: inherit;\n\n  // Cards\n  --newtab-card-background-color: $white;\n  --newtab-card-active-outline-color: $grey-30;\n  --newtab-card-hairline-color: $black-10;\n}\n\n// Dark theme\n.outer-wrapper.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-20;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: $grey-70;\n  --newtab-element-active-color: $grey-60;\n  --newtab-icon-primary-color: $grey-10-80;\n  --newtab-icon-secondary-color: $grey-10-40;\n  --newtab-icon-tertiary-color: $grey-10-20;\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-40;\n  --newtab-textbox-border: $grey-10-40;\n  --newtab-textbox-color: $grey-80;\n\n  // Context menu\n  --newtab-contextmenu-button-color: $grey-80;\n\n  // Modal + overlay\n  --newtab-modal-color: $grey-90;\n  --newtab-overlay-color: $grey-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-background-color: $grey-60;\n  --newtab-search-border-color: $grey-10-20;\n  --newtab-search-icon-color: $grey-10-60;\n\n  // Top Sites\n  --newtab-topsites-label-color: $grey-10-80;\n\n  // Cards\n  --newtab-card-background-color: $grey-90;\n  --newtab-card-active-outline-color: $grey-60;\n  --newtab-card-hairline-color: $grey-10-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-10;\n$input-border: solid 1px var(--newtab-textbox-border);\n$input-border-active: solid 1px $blue-50;\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: 0 0 0 1px $red-60, 0 0 0 4px rgba($red-60, 0.3);\n$input-focus-boxshadow: 0 0 0 1px $blue-50, 0 0 0 4px rgba($blue-50, 0.3);\n$inner-box-shadow: 0 0 0 1px var(--newtab-inner-box-shadow-color);\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-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$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@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 4px 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-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;\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-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-20;\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-40;\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;\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-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-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-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  background-color: var(--newtab-background-color);\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-active-color);\n    }\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, $shadow-secondary;\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: $white;\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-color);\n        border: $input-border;\n        border-radius: 2px;\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: $input-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: $white;\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",
 		".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  }\n\n  .topic-read-more {\n    color: var(--newtab-link-secondary-color);\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-border-radius: 3px;\n  $search-focus-color: $blue-60;\n  $search-height: 35px;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $search-glyph-image: url('chrome://browser/skin/search-glass.svg');\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n  $search-glyph-size: 16px;\n  // This is positioned so it is visually (not metrically) centered. r=abenson\n  $search-glyph-left-position: 12px;\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  // The extra 1px is to account for the box-shadow being outside of the element\n  // instead of inside. It needs to be like that to not overlap the inner background\n  // color of the hover state of the submit button.\n  margin: 1px 1px $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    background: var(--newtab-search-background-color);\n    border: solid 1px var(--newtab-search-border-color);\n    border-radius: $search-border-radius;\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-input-left-label-width;\n    width: 100%;\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    box-shadow: 0 0 0 $os-search-focus-shadow-radius $search-focus-color;\n  }\n\n  .search-label {\n    background: $search-glyph-image no-repeat $search-glyph-left-position center / $search-glyph-size;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-start: 0;\n    position: absolute;\n    width: $search-input-left-label-width;\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-modal-color);\n    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY(3px);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-background-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSuggestionsList,\n    .contentSearchSettingsButton {\n      border-color: var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSearchWithHeaderSearchText {\n      color: var(--newtab-text-primary-color);\n    }\n\n    .contentSearchSettingsButton {\n      &:hover {\n        background: var(--newtab-element-active-color);\n        color: var(--newtab-text-primary-color);\n      }\n    }\n  }\n}\n",
-		".context-menu {\n  background: var(--newtab-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-active-color);\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\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-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $search-glyph-image: url('chrome://browser/skin/search-glass.svg');\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n  $search-glyph-size: 16px;\n  // This is positioned so it is visually (not metrically) centered. r=abenson\n  $search-glyph-left-position: 12px;\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);\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    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-input-left-label-width;\n    width: 100%;\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-label {\n    background: $search-glyph-image no-repeat $search-glyph-left-position center / $search-glyph-size;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-start: 0;\n    position: absolute;\n    width: $search-input-left-label-width;\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    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY(3px);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-search-dropdown-header-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSuggestionsList,\n    .contentSearchSettingsButton {\n      border-color: 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    .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  opacity: 0.8;\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: $shadow-secondary;\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\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-title {\n    font-size: 14px;\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-secondary-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-secondary-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-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",
+		".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\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-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-secondary-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-secondary-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-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-active-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-secondary-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",
+		".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"
 	],
 	"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
@@ -19,79 +19,91 @@ input {
   background-color: inherit;
   color: inherit;
   font-family: inherit;
   font-size: inherit; }
 
 [hidden] {
   display: none !important; }
 
-.outer-wrapper {
+body {
   --newtab-background-color: #F9F9FA;
   --newtab-border-primary-color: #B1B1B3;
   --newtab-border-secondary-color: #D7D7DB;
   --newtab-button-primary-color: #0060DF;
   --newtab-button-secondary-color: inherit;
-  --newtab-element-active-color: #EDEDF0;
+  --newtab-element-active-color: rgba(215, 215, 219, 0.6);
+  --newtab-element-hover-color: #EDEDF0;
   --newtab-icon-primary-color: rgba(12, 12, 13, 0.8);
   --newtab-icon-secondary-color: rgba(12, 12, 13, 0.6);
   --newtab-icon-tertiary-color: #D7D7DB;
   --newtab-inner-box-shadow-color: rgba(0, 0, 0, 0.1);
   --newtab-link-primary-color: #0060DF;
   --newtab-link-secondary-color: #008EA4;
   --newtab-text-conditional-color: #4A4A4F;
   --newtab-text-primary-color: #0C0C0D;
   --newtab-text-secondary-color: #737373;
+  --newtab-textbox-background-color: #FFF;
   --newtab-textbox-border: rgba(12, 12, 13, 0.2);
-  --newtab-textbox-color: inherit;
+  --newtab-textbox-focus-color: #0060DF;
+  --newtab-textbox-focus-boxshadow: 0 0 0 1px #0060DF, 0 0 0 4px rgba(0, 96, 223, 0.3);
+  --newtab-contextmenu-background-color: #F9F9FA;
   --newtab-contextmenu-button-color: #FFF;
   --newtab-modal-color: #FFF;
   --newtab-overlay-color: #EDEDF0;
   --newtab-section-header-text-color: #737373;
   --newtab-section-navigation-text-color: #737373;
   --newtab-section-active-contextmenu-color: #0C0C0D;
-  --newtab-search-background-color: #FFF;
   --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-label-color: inherit;
+  --newtab-card-active-outline-color: #D7D7DB;
   --newtab-card-background-color: #FFF;
-  --newtab-card-active-outline-color: #D7D7DB;
-  --newtab-card-hairline-color: rgba(0, 0, 0, 0.1); }
+  --newtab-card-hairline-color: rgba(0, 0, 0, 0.1);
+  --newtab-card-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1); }
 
-.outer-wrapper.dark-theme {
+.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.2);
+  --newtab-border-secondary-color: rgba(249, 249, 250, 0.1);
   --newtab-button-primary-color: #0060DF;
   --newtab-button-secondary-color: #38383D;
-  --newtab-element-active-color: #4A4A4F;
+  --newtab-element-active-color: rgba(249, 249, 250, 0.2);
+  --newtab-element-hover-color: rgba(249, 249, 250, 0.1);
   --newtab-icon-primary-color: rgba(249, 249, 250, 0.8);
   --newtab-icon-secondary-color: rgba(249, 249, 250, 0.4);
   --newtab-icon-tertiary-color: rgba(249, 249, 250, 0.2);
   --newtab-inner-box-shadow-color: rgba(249, 249, 250, 0.2);
   --newtab-link-primary-color: #45A1FF;
   --newtab-link-secondary-color: #50BCB6;
   --newtab-text-conditional-color: #F9F9FA;
   --newtab-text-primary-color: #F9F9FA;
   --newtab-text-secondary-color: rgba(249, 249, 250, 0.4);
-  --newtab-textbox-border: rgba(249, 249, 250, 0.4);
-  --newtab-textbox-color: #2A2A2E;
+  --newtab-textbox-background-color: #38383D;
+  --newtab-textbox-border: rgba(249, 249, 250, 0.2);
+  --newtab-textbox-focus-color: #45A1FF;
+  --newtab-textbox-focus-boxshadow: 0 0 0 1px #45A1FF, 0 0 0 4px rgba(69, 161, 255, 0.3);
+  --newtab-contextmenu-background-color: #4A4A4F;
   --newtab-contextmenu-button-color: #2A2A2E;
-  --newtab-modal-color: #0C0C0D;
-  --newtab-overlay-color: #2A2A2E;
+  --newtab-modal-color: #2A2A2E;
+  --newtab-overlay-color: #0C0C0D;
   --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-background-color: #4A4A4F;
   --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-label-color: rgba(249, 249, 250, 0.8);
-  --newtab-card-background-color: #0C0C0D;
   --newtab-card-active-outline-color: #4A4A4F;
-  --newtab-card-hairline-color: rgba(249, 249, 250, 0.2); }
+  --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); }
 
 .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);
@@ -192,16 +204,17 @@ input {
 html {
   height: 100%; }
 
 body,
 #root {
   min-height: 100vh; }
 
 body {
+  background-color: var(--newtab-background-color);
   font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;
   font-size: 16px;
   overflow-y: scroll; }
 
 h1,
 h2 {
   font-weight: normal; }
 
@@ -274,21 +287,23 @@ a {
   .button.primary, .button.done,
   .actions button.primary,
   .actions button.done {
     background-color: var(--newtab-button-primary-color);
     border: solid 1px var(--newtab-button-primary-color);
     color: #FFF;
     margin-inline-start: auto; }
 
+input[type='text'], input[type='search'] {
+  border-radius: 3px; }
+
 #snippets-container {
   z-index: 1; }
 
 .outer-wrapper {
-  background-color: var(--newtab-background-color);
   color: var(--newtab-text-primary-color);
   display: flex;
   flex-grow: 1;
   min-height: 100vh;
   padding: 30px 32px 32px; }
   .outer-wrapper.fixed-to-top {
     display: block; }
   .outer-wrapper a {
@@ -339,16 +354,18 @@ main {
   cursor: pointer;
   fill: var(--newtab-icon-primary-color);
   offset-inline-end: 15px;
   padding: 15px;
   position: fixed;
   top: 15px;
   z-index: 12001; }
   .prefs-button button:hover, .prefs-button button:focus {
+    background-color: var(--newtab-element-hover-color); }
+  .prefs-button button:active {
     background-color: var(--newtab-element-active-color); }
 
 .as-error-fallback {
   align-items: center;
   border-radius: 3px;
   box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color);
   color: var(--newtab-text-conditional-color);
   display: flex;
@@ -450,17 +467,17 @@ main {
     transition-duration: 200ms;
     transition-property: transform, opacity;
     width: 27px; }
     .top-site-outer .context-menu-button:-moz-any(:active, :focus) {
       opacity: 1;
       transform: scale(1); }
   .top-site-outer .tile {
     border-radius: 6px;
-    box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color), 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+    box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color), var(--newtab-card-shadow);
     height: 96px;
     position: relative;
     width: 96px;
     align-items: center;
     color: var(--newtab-text-secondary-color);
     display: flex;
     font-size: 32px;
     font-weight: 200;
@@ -560,17 +577,17 @@ main {
     offset-inline-end: 0;
     offset-inline-start: auto; } }
 
 @media not all and (min-width: 1122px) {
   .wide-layout-enabled .top-sites-list .hide-for-narrow {
     display: none; } }
 
 .edit-topsites-wrapper .modal {
-  box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+  box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.2);
   left: 0;
   margin: 0 auto;
   position: fixed;
   right: 0;
   top: 40px;
   width: 274px; }
   @media (min-width: 482px) {
     .edit-topsites-wrapper .modal {
@@ -648,27 +665,26 @@ main {
     transform: translateX(-960px); } }
 
 @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-color);
+    background-color: var(--newtab-textbox-background-color);
     border: solid 1px var(--newtab-textbox-border);
-    border-radius: 2px;
     margin: 8px 0;
     padding: 0 8px;
     height: 32px;
     width: 100%;
     font-size: 15px; }
     .topsite-form .form-wrapper input[type='text']:focus {
-      border: solid 1px #0A84FF;
-      box-shadow: 0 0 0 1px #0A84FF, 0 0 0 4px rgba(10, 132, 255, 0.3); }
+      border: solid 1px 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);
       box-shadow: none;
       opacity: 0.4; }
   .topsite-form .form-wrapper .invalid input[type='text'] {
     border: solid 1px #D70022;
     box-shadow: 0 0 0 1px #D70022, 0 0 0 4px rgba(215, 0, 34, 0.3); }
   .topsite-form .form-wrapper .error-tooltip {
@@ -796,19 +812,21 @@ main {
   .topic ul li {
     display: inline-block; }
     .topic ul li::after {
       content: '•';
       padding: 8px; }
     .topic ul li:last-child::after {
       content: none; }
   .topic .topic-link {
-    color: var(--newtab-link-secondary-color); }
+    color: var(--newtab-link-secondary-color);
+    font-weight: bold; }
   .topic .topic-read-more {
-    color: var(--newtab-link-secondary-color); }
+    color: var(--newtab-link-secondary-color);
+    font-weight: bold; }
     @media (min-width: 866px) {
       .topic .topic-read-more {
         float: right; }
         .topic .topic-read-more:dir(rtl) {
           float: left; } }
     .topic .topic-read-more::after {
       background: url("../data/content/assets/topic-show-more-12.svg") no-repeat center center;
       content: '';
@@ -825,34 +843,34 @@ main {
     clear: both;
     content: '';
     display: table; }
 
 .search-wrapper {
   cursor: default;
   display: flex;
   height: 35px;
-  margin: 1px 1px 20px;
+  margin-bottom: 20px;
   position: relative;
   width: 100%; }
   .search-wrapper input {
-    background: var(--newtab-search-background-color);
+    background: var(--newtab-textbox-background-color);
     border: solid 1px var(--newtab-search-border-color);
-    border-radius: 3px;
-    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.15);
+    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.15);
     font-size: 15px;
     padding: 0;
     padding-inline-end: 36px;
     padding-inline-start: 35px;
     width: 100%; }
   .search-wrapper:hover input {
-    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.25); }
+    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 {
-    box-shadow: 0 0 0 1px #0060DF; }
+    border: solid 1px var(--newtab-textbox-focus-color);
+    box-shadow: var(--newtab-textbox-focus-boxshadow); }
   .search-wrapper .search-label {
     background: url("chrome://browser/skin/search-glass.svg") no-repeat 12px center/16px;
     -moz-context-properties: fill;
     fill: var(--newtab-search-icon-color);
     height: 100%;
     offset-inline-start: 0;
     position: absolute;
     width: 35px; }
@@ -871,33 +889,43 @@ main {
       background-color: rgba(12, 12, 13, 0.1);
       cursor: pointer; }
     .search-wrapper .search-button:active {
       background-color: rgba(12, 12, 13, 0.2); }
     .search-wrapper .search-button:dir(rtl) {
       transform: scaleX(-1); }
 
 .contentSearchSuggestionTable {
-  background-color: var(--newtab-modal-color);
   border: 0;
   box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.2);
   transform: translateY(3px); }
   .contentSearchSuggestionTable .contentSearchHeader {
-    background-color: var(--newtab-background-color);
+    background-color: var(--newtab-search-dropdown-header-color);
     color: var(--newtab-text-secondary-color); }
   .contentSearchSuggestionTable .contentSearchHeader, .contentSearchSuggestionTable .contentSearchSuggestionsList, .contentSearchSuggestionTable .contentSearchSettingsButton {
     border-color: var(--newtab-border-secondary-color); }
   .contentSearchSuggestionTable .contentSearchSearchWithHeaderSearchText {
     color: var(--newtab-text-primary-color); }
+  .contentSearchSuggestionTable .contentSearchSuggestionsContainer {
+    background-color: var(--newtab-search-dropdown-color); }
+  .contentSearchSuggestionTable .contentSearchSuggestionRow.selected {
+    background: var(--newtab-element-hover-color);
+    color: var(--newtab-text-primary-color); }
+    .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 .contentSearchSettingsButton:hover {
-    background: var(--newtab-element-active-color);
+    background: var(--newtab-element-hover-color);
     color: var(--newtab-text-primary-color); }
 
 .context-menu {
-  background: var(--newtab-background-color);
+  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);
   display: block;
   font-size: 14px;
   margin-inline-start: 5px;
   offset-inline-start: 100%;
   position: absolute;
   top: 6.75px;
@@ -917,16 +945,18 @@ main {
         color: inherit;
         cursor: pointer;
         display: flex;
         line-height: 16px;
         outline: none;
         padding: 3px 12px;
         white-space: nowrap; }
         .context-menu > ul > li > a:-moz-any(:focus, :hover) {
+          background: var(--newtab-element-hover-color); }
+        .context-menu > ul > li > a:active {
           background: var(--newtab-element-active-color); }
         .context-menu > ul > li > a.disabled {
           opacity: 0.4;
           pointer-events: none; }
 
 .confirmation-dialog .modal {
   box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1);
   left: 50%;
@@ -1012,17 +1042,17 @@ main {
       opacity: 1;
       transform: scale(1); }
   .card-outer.placeholder {
     background: transparent; }
     .card-outer.placeholder .card {
       box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color); }
   .card-outer .card {
     border-radius: 3px;
-    box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
+    box-shadow: var(--newtab-card-shadow);
     height: 100%; }
   .card-outer > a {
     color: inherit;
     display: block;
     height: 100%;
     outline: none;
     position: absolute;
     width: 100%; }
@@ -1085,16 +1115,17 @@ main {
     color: var(--newtab-text-secondary-color);
     font-size: 10px;
     overflow: hidden;
     padding-bottom: 4px;
     text-overflow: ellipsis;
     text-transform: uppercase; }
   .card-outer .card-title {
     font-size: 14px;
+    font-weight: 600;
     line-height: 19px;
     margin: 0 0 2px;
     word-wrap: break-word; }
   .card-outer .card-description {
     font-size: 12px;
     line-height: 19px;
     margin: 0;
     overflow: hidden;
@@ -1235,34 +1266,34 @@ main {
       .collapsible-section .section-top-bar .context-menu {
         margin-inline-end: 5px;
         margin-inline-start: auto;
         offset-inline-end: 0;
         offset-inline-start: auto; } }
   .collapsible-section:hover .section-top-bar .context-menu-button, .collapsible-section.active .section-top-bar .context-menu-button {
     opacity: 1; }
   .collapsible-section.active {
-    background: var(--newtab-element-active-color);
+    background: var(--newtab-element-hover-color);
     border-radius: 4px; }
     .collapsible-section.active .section-top-bar .context-menu-button {
       fill: var(--newtab-section-active-contextmenu-color); }
   .collapsible-section .section-disclaimer {
     color: var(--newtab-text-conditional-color);
     font-size: 13px;
     margin-bottom: 16px;
     position: relative; }
     .collapsible-section .section-disclaimer .section-disclaimer-text {
       display: inline-block;
       min-height: 26px;
       width: calc(100% - 130px); }
       @media (max-width: 610px) {
         .collapsible-section .section-disclaimer .section-disclaimer-text {
           width: 224px; } }
     .collapsible-section .section-disclaimer a {
-      color: var(--newtab-link-secondary-color);
+      color: var(--newtab-link-primary-color);
       font-weight: bold;
       padding-left: 3px; }
     .collapsible-section .section-disclaimer button {
       background: var(--newtab-button-secondary-color);
       border: 1px solid #B1B1B3;
       border-radius: 4px;
       cursor: pointer;
       margin-top: 2px;
--- a/browser/extensions/activity-stream/css/activity-stream-windows.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-windows.css.map
@@ -17,30 +17,30 @@
 		"../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"
 	],
 	"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$os-search-focus-shadow-radius: 1px;\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  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\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",
+		"/* 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",
 		"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-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-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$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@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",
-		"// Default theme\n.outer-wrapper {\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-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-textbox-border: $grey-90-20;\n  --newtab-textbox-color: inherit;\n\n  // Context menu\n  --newtab-contextmenu-button-color: $white;\n\n  // Modal + overlay\n  --newtab-modal-color: $white;\n  --newtab-overlay-color: $grey-20;\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-background-color: $white;\n  --newtab-search-border-color: transparent;\n  --newtab-search-icon-color: $grey-90-40;\n\n  // Top Sites\n  --newtab-topsites-label-color: inherit;\n\n  // Cards\n  --newtab-card-background-color: $white;\n  --newtab-card-active-outline-color: $grey-30;\n  --newtab-card-hairline-color: $black-10;\n}\n\n// Dark theme\n.outer-wrapper.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-20;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: $grey-70;\n  --newtab-element-active-color: $grey-60;\n  --newtab-icon-primary-color: $grey-10-80;\n  --newtab-icon-secondary-color: $grey-10-40;\n  --newtab-icon-tertiary-color: $grey-10-20;\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-40;\n  --newtab-textbox-border: $grey-10-40;\n  --newtab-textbox-color: $grey-80;\n\n  // Context menu\n  --newtab-contextmenu-button-color: $grey-80;\n\n  // Modal + overlay\n  --newtab-modal-color: $grey-90;\n  --newtab-overlay-color: $grey-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-background-color: $grey-60;\n  --newtab-search-border-color: $grey-10-20;\n  --newtab-search-icon-color: $grey-10-60;\n\n  // Top Sites\n  --newtab-topsites-label-color: $grey-10-80;\n\n  // Cards\n  --newtab-card-background-color: $grey-90;\n  --newtab-card-active-outline-color: $grey-60;\n  --newtab-card-hairline-color: $grey-10-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-10;\n$input-border: solid 1px var(--newtab-textbox-border);\n$input-border-active: solid 1px $blue-50;\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: 0 0 0 1px $red-60, 0 0 0 4px rgba($red-60, 0.3);\n$input-focus-boxshadow: 0 0 0 1px $blue-50, 0 0 0 4px rgba($blue-50, 0.3);\n$inner-box-shadow: 0 0 0 1px var(--newtab-inner-box-shadow-color);\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-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$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@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 4px 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-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;\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-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-20;\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-40;\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;\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-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-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-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  background-color: var(--newtab-background-color);\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-active-color);\n    }\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, $shadow-secondary;\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: $white;\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-color);\n        border: $input-border;\n        border-radius: 2px;\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: $input-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: $white;\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",
 		".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  }\n\n  .topic-read-more {\n    color: var(--newtab-link-secondary-color);\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-border-radius: 3px;\n  $search-focus-color: $blue-60;\n  $search-height: 35px;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $search-glyph-image: url('chrome://browser/skin/search-glass.svg');\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n  $search-glyph-size: 16px;\n  // This is positioned so it is visually (not metrically) centered. r=abenson\n  $search-glyph-left-position: 12px;\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  // The extra 1px is to account for the box-shadow being outside of the element\n  // instead of inside. It needs to be like that to not overlap the inner background\n  // color of the hover state of the submit button.\n  margin: 1px 1px $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    background: var(--newtab-search-background-color);\n    border: solid 1px var(--newtab-search-border-color);\n    border-radius: $search-border-radius;\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-input-left-label-width;\n    width: 100%;\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    box-shadow: 0 0 0 $os-search-focus-shadow-radius $search-focus-color;\n  }\n\n  .search-label {\n    background: $search-glyph-image no-repeat $search-glyph-left-position center / $search-glyph-size;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-start: 0;\n    position: absolute;\n    width: $search-input-left-label-width;\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-modal-color);\n    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY(3px);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-background-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSuggestionsList,\n    .contentSearchSettingsButton {\n      border-color: var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSearchWithHeaderSearchText {\n      color: var(--newtab-text-primary-color);\n    }\n\n    .contentSearchSettingsButton {\n      &:hover {\n        background: var(--newtab-element-active-color);\n        color: var(--newtab-text-primary-color);\n      }\n    }\n  }\n}\n",
-		".context-menu {\n  background: var(--newtab-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-active-color);\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\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-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $search-glyph-image: url('chrome://browser/skin/search-glass.svg');\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n  $search-glyph-size: 16px;\n  // This is positioned so it is visually (not metrically) centered. r=abenson\n  $search-glyph-left-position: 12px;\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);\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    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-input-left-label-width;\n    width: 100%;\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-label {\n    background: $search-glyph-image no-repeat $search-glyph-left-position center / $search-glyph-size;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-start: 0;\n    position: absolute;\n    width: $search-input-left-label-width;\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    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY(3px);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-search-dropdown-header-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSuggestionsList,\n    .contentSearchSettingsButton {\n      border-color: 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    .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  opacity: 0.8;\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: $shadow-secondary;\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\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-title {\n    font-size: 14px;\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-secondary-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-secondary-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-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",
+		".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\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-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-secondary-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-secondary-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-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-active-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-secondary-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",
+		".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"
 	],
 	"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
@@ -1387,17 +1387,17 @@ class ContextMenuItem extends __WEBPACK_
 
 "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_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__(24);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_SectionMenu_SectionMenu__ = __webpack_require__(29);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_content_src_lib_section_menu_options__ = __webpack_require__(13);
 
 
 
 
 
 
 
@@ -2482,18 +2482,18 @@ const TopSiteList = Object(__WEBPACK_IMP
 /* 17 */
 /***/ (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__(18);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_Base_Base__ = __webpack_require__(20);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_lib_detect_user_session_start__ = __webpack_require__(28);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_lib_init_store__ = __webpack_require__(29);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_lib_detect_user_session_start__ = __webpack_require__(33);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_lib_init_store__ = __webpack_require__(34);
 /* 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___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_dom__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_common_Reducers_jsm__ = __webpack_require__(6);
 
@@ -3083,33 +3083,198 @@ const SimpleSnippet = props => external_
 /* harmony export (immutable) */ __webpack_exports__["a"] = SimpleSnippet;
 
 
 /***/ }),
 /* 20 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
-
-// EXTERNAL MODULE: ./system-addon/common/Actions.jsm
-var Actions = __webpack_require__(1);
-
-// EXTERNAL MODULE: external "ReactIntl"
-var external__ReactIntl_ = __webpack_require__(2);
-var external__ReactIntl__default = /*#__PURE__*/__webpack_require__.n(external__ReactIntl_);
-
-// EXTERNAL MODULE: external "ReactRedux"
-var external__ReactRedux_ = __webpack_require__(4);
-var external__ReactRedux__default = /*#__PURE__*/__webpack_require__.n(external__ReactRedux_);
-
-// 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/ConfirmDialog/ConfirmDialog.jsx
+/* 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__(21);
+/* 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__(22);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_content_src_components_MessageCenterAdmin_MessageCenterAdmin__ = __webpack_require__(23);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_common_PrerenderData_jsm__ = __webpack_require__(24);
+/* 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__(25);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_content_src_components_Sections_Sections__ = __webpack_require__(27);
+
+
+
+
+
+
+
+
+
+
+
+
+const PrefsButton = Object(__WEBPACK_IMPORTED_MODULE_1_react_intl__["injectIntl"])(props => __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
+  "div",
+  { className: "prefs-button" },
+  __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement("button", { className: "icon icon-settings", onClick: props.onClick, title: props.intl.formatMessage({ id: "settings_pane_button_label" }) })
+));
+
+// Add the locale data for pluralization and relative-time formatting for now,
+// this just uses english locale data. We can make this more sophisticated if
+// more features are needed.
+function addLocaleDataForReactIntl(locale) {
+  Object(__WEBPACK_IMPORTED_MODULE_1_react_intl__["addLocaleData"])([{ locale, parentLocale: "en" }]);
+}
+
+class _Base extends __WEBPACK_IMPORTED_MODULE_8_react___default.a.PureComponent {
+  componentWillMount() {
+    const { App, locale, Theme } = this.props;
+    if (Theme.className) {
+      this.updateTheme(Theme);
+    }
+    this.sendNewTabRehydrated(App);
+    addLocaleDataForReactIntl(locale);
+  }
+
+  componentDidMount() {
+    // Request state AFTER the first render to ensure we don't cause the
+    // prerendered DOM to be unmounted. Otherwise, NEW_TAB_STATE_REQUEST is
+    // dispatched right after the store is ready.
+    if (this.props.isPrerendered) {
+      this.props.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 }));
+      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].PAGE_PRERENDERED }));
+    }
+  }
+
+  componentWillUnmount() {
+    this.updateTheme({ className: "" });
+  }
+
+  componentWillUpdate({ App, Theme }) {
+    this.updateTheme(Theme);
+    this.sendNewTabRehydrated(App);
+  }
+
+  updateTheme(Theme) {
+    const bodyClassName = ["activity-stream", Theme.className].filter(v => v).join(" ");
+    global.document.body.className = bodyClassName;
+  }
+
+  // The NEW_TAB_REHYDRATED event is used to inform feeds that their
+  // data has been consumed e.g. for counting the number of tabs that
+  // have rendered that data.
+  sendNewTabRehydrated(App) {
+    if (App && App.initialized && !this.renderNotified) {
+      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].NEW_TAB_REHYDRATED, data: {} }));
+      this.renderNotified = true;
+    }
+  }
+
+  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.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 */],
+        { className: "base-content-fallback" },
+        __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(BaseContent, this.props)
+      )
+    );
+  }
+}
+/* unused harmony export _Base */
+
+
+class BaseContent extends __WEBPACK_IMPORTED_MODULE_8_react___default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    this.openPreferences = this.openPreferences.bind(this);
+  }
+
+  openPreferences() {
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SETTINGS_OPEN }));
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({ event: "OPEN_NEWTAB_PREFS" }));
+  }
+
+  render() {
+    const { props } = this;
+    const { App } = props;
+    const { initialized } = App;
+    const prefs = props.Prefs.values;
+
+    const shouldBeFixedToTop = __WEBPACK_IMPORTED_MODULE_7_common_PrerenderData_jsm__["a" /* PrerenderData */].arePrefsValid(name => prefs[name]);
+
+    const outerClassName = ["outer-wrapper", shouldBeFixedToTop && "fixed-to-top", prefs.enableWideLayout ? "wide-layout-enabled" : "wide-layout-disabled"].filter(v => v).join(" ");
+
+    return __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
+      "div",
+      { 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 */],
+            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_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)
+      )
+    );
+  }
+}
+/* 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);
+/* harmony export (immutable) */ __webpack_exports__["a"] = Base;
+
+/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
+
+/***/ }),
+/* 21 */
+/***/ (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__);
+/* 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__);
 
 
 
 
 
 /**
  * ConfirmDialog component.
  * One primary action button, one cancel button.
@@ -3124,272 +3289,302 @@ var external__React__default = /*#__PURE
  *   // Primary button USerEvent action.
  *   userEvent: "DELETE",
  *   // Array of locale ids to display.
  *   message_body: ["confirm_history_delete_p1", "confirm_history_delete_notice_p2"],
  *   // Text for primary button.
  *   confirm_button_string_id: "menu_action_delete"
  * },
  */
-class ConfirmDialog__ConfirmDialog extends external__React__default.a.PureComponent {
+class _ConfirmDialog extends __WEBPACK_IMPORTED_MODULE_3_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this._handleCancelBtn = this._handleCancelBtn.bind(this);
     this._handleConfirmBtn = this._handleConfirmBtn.bind(this);
   }
 
   _handleCancelBtn() {
-    this.props.dispatch({ type: Actions["b" /* actionTypes */].DIALOG_CANCEL });
-    this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({ event: Actions["b" /* actionTypes */].DIALOG_CANCEL, source: this.props.data.eventSource }));
+    this.props.dispatch({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].DIALOG_CANCEL });
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({ event: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].DIALOG_CANCEL, source: this.props.data.eventSource }));
   }
 
   _handleConfirmBtn() {
     this.props.data.onConfirm.forEach(this.props.dispatch);
   }
 
   _renderModalMessage() {
     const message_body = this.props.data.body_string_id;
 
     if (!message_body) {
       return null;
     }
 
-    return external__React__default.a.createElement(
+    return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
       "span",
       null,
-      message_body.map(msg => external__React__default.a.createElement(
+      message_body.map(msg => __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
         "p",
         { key: msg },
-        external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: msg })
+        __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_react_intl__["FormattedMessage"], { id: msg })
       ))
     );
   }
 
   render() {
     if (!this.props.visible) {
       return null;
     }
 
-    return external__React__default.a.createElement(
+    return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
       "div",
       { className: "confirmation-dialog" },
-      external__React__default.a.createElement("div", { className: "modal-overlay", onClick: this._handleCancelBtn }),
-      external__React__default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement("div", { className: "modal-overlay", onClick: this._handleCancelBtn }),
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
         "div",
         { className: "modal" },
-        external__React__default.a.createElement(
+        __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
           "section",
           { className: "modal-message" },
-          this.props.data.icon && external__React__default.a.createElement("span", { className: `icon icon-spacer icon-${this.props.data.icon}` }),
+          this.props.data.icon && __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement("span", { className: `icon icon-spacer icon-${this.props.data.icon}` }),
           this._renderModalMessage()
         ),
-        external__React__default.a.createElement(
+        __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
           "section",
           { className: "actions" },
-          external__React__default.a.createElement(
+          __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
             "button",
             { onClick: this._handleCancelBtn },
-            external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: this.props.data.cancel_button_string_id })
+            __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_react_intl__["FormattedMessage"], { id: this.props.data.cancel_button_string_id })
           ),
-          external__React__default.a.createElement(
+          __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
             "button",
             { className: "done", onClick: this._handleConfirmBtn },
-            external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: this.props.data.confirm_button_string_id })
+            __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_react_intl__["FormattedMessage"], { id: this.props.data.confirm_button_string_id })
           )
         )
       )
     );
   }
 }
-
-const ConfirmDialog = Object(external__ReactRedux_["connect"])(state => state.Dialog)(ConfirmDialog__ConfirmDialog);
-// EXTERNAL MODULE: ./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx
-var ErrorBoundary = __webpack_require__(9);
-
-// CONCATENATED MODULE: ./system-addon/content-src/components/ManualMigration/ManualMigration.jsx
+/* 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;
+
+
+/***/ }),
+/* 22 */
+/***/ (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__);
+/* 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__);
 
 
 
 
 
 /**
  * Manual migration component used to start the profile import wizard.
  * Message is presented temporarily and will go away if:
  * 1.  User clicks "No Thanks"
  * 2.  User completed the data import
  * 3.  After 3 active days
  * 4.  User clicks "Cancel" on the import wizard (currently not implemented).
  */
-class ManualMigration__ManualMigration extends external__React__default.a.PureComponent {
+class _ManualMigration extends __WEBPACK_IMPORTED_MODULE_3_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this.onLaunchTour = this.onLaunchTour.bind(this);
     this.onCancelTour = this.onCancelTour.bind(this);
   }
 
   onLaunchTour() {
-    this.props.dispatch(Actions["a" /* actionCreators */].AlsoToMain({ type: Actions["b" /* actionTypes */].MIGRATION_START }));
-    this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({ event: Actions["b" /* actionTypes */].MIGRATION_START }));
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].MIGRATION_START }));
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({ event: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].MIGRATION_START }));
   }
 
   onCancelTour() {
-    this.props.dispatch(Actions["a" /* actionCreators */].AlsoToMain({ type: Actions["b" /* actionTypes */].MIGRATION_CANCEL }));
-    this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({ event: Actions["b" /* actionTypes */].MIGRATION_CANCEL }));
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].MIGRATION_CANCEL }));
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({ event: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].MIGRATION_CANCEL }));
   }
 
   render() {
-    return external__React__default.a.createElement(
+    return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
       "div",
       { className: "manual-migration-container" },
-      external__React__default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
         "p",
         null,
-        external__React__default.a.createElement("span", { className: "icon icon-import" }),
-        external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "manual_migration_explanation2" })
+        __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement("span", { className: "icon icon-import" }),
+        __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_react_intl__["FormattedMessage"], { id: "manual_migration_explanation2" })
       ),
-      external__React__default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
         "div",
         { className: "manual-migration-actions actions" },
-        external__React__default.a.createElement(
+        __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
           "button",
           { className: "dismiss", onClick: this.onCancelTour },
-          external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "manual_migration_cancel_button" })
+          __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_react_intl__["FormattedMessage"], { id: "manual_migration_cancel_button" })
         ),
-        external__React__default.a.createElement(
+        __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
           "button",
           { onClick: this.onLaunchTour },
-          external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "manual_migration_import_button" })
+          __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_react_intl__["FormattedMessage"], { id: "manual_migration_import_button" })
         )
       )
     );
   }
 }
-
-const ManualMigration = Object(external__ReactRedux_["connect"])()(ManualMigration__ManualMigration);
-// EXTERNAL MODULE: ./system-addon/content-src/message-center/message-center-content.jsx
-var message_center_content = __webpack_require__(7);
-
-// CONCATENATED MODULE: ./system-addon/content-src/components/MessageCenterAdmin/MessageCenterAdmin.jsx
-
-
-
-class MessageCenterAdmin_MessageCenterAdmin extends external__React__default.a.PureComponent {
+/* unused harmony export _ManualMigration */
+
+
+const ManualMigration = Object(__WEBPACK_IMPORTED_MODULE_1_react_redux__["connect"])()(_ManualMigration);
+/* harmony export (immutable) */ __webpack_exports__["a"] = ManualMigration;
+
+
+/***/ }),
+/* 23 */
+/***/ (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() {
-    message_center_content["a" /* MessageCenterUtils */].sendMessage({ type: "ADMIN_CONNECT_STATE" });
-    message_center_content["a" /* MessageCenterUtils */].addListener(this.onMessage);
+    __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() {
-    message_center_content["a" /* MessageCenterUtils */].removeListener(this.onMessage);
+    __WEBPACK_IMPORTED_MODULE_0__message_center_message_center_content__["a" /* MessageCenterUtils */].removeListener(this.onMessage);
   }
 
   handleBlock(id) {
-    return () => message_center_content["a" /* MessageCenterUtils */].blockById(id);
+    return () => __WEBPACK_IMPORTED_MODULE_0__message_center_message_center_content__["a" /* MessageCenterUtils */].blockById(id);
   }
 
   handleUnblock(id) {
-    return () => message_center_content["a" /* MessageCenterUtils */].unblockById(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 external__React__default.a.createElement(
+    return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
       "tr",
       { className: itemClassName, key: msg.id },
-      external__React__default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
         "td",
         { className: "message-id" },
-        external__React__default.a.createElement(
+        __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
           "span",
           null,
           msg.id
         )
       ),
-      external__React__default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
         "td",
         null,
-        external__React__default.a.createElement(
+        __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"
         )
       ),
-      external__React__default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
         "td",
         { className: "message-summary" },
-        external__React__default.a.createElement(
+        __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
           "pre",
           null,
           JSON.stringify(msg, null, 2)
         )
       )
     );
   }
 
   renderMessages() {
     if (!this.state.messages) {
       return null;
     }
-    return external__React__default.a.createElement(
+    return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
       "table",
       null,
-      external__React__default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
         "tbody",
         null,
         this.state.messages.map(msg => this.renderMessageItem(msg))
       )
     );
   }
 
   render() {
-    return external__React__default.a.createElement(
+    return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
       "div",
       { className: "messages-admin outer-wrapper" },
-      external__React__default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
         "h1",
         null,
         "Messages Admin"
       ),
-      external__React__default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
         "button",
-        { className: "button primary", onClick: message_center_content["a" /* MessageCenterUtils */].getNextMessage },
+        { className: "button primary", onClick: __WEBPACK_IMPORTED_MODULE_0__message_center_message_center_content__["a" /* MessageCenterUtils */].getNextMessage },
         "Refresh Current Message"
       ),
-      external__React__default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
         "h2",
         null,
         "Messages"
       ),
       this.renderMessages()
     );
   }
 }
-// CONCATENATED MODULE: ./system-addon/common/PrerenderData.jsm
+/* harmony export (immutable) */ __webpack_exports__["a"] = MessageCenterAdmin;
+
+
+/***/ }),
+/* 24 */
+/***/ (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;
     this._setValidation(options.validation);
   }
 
   get validation() {
@@ -3435,35 +3630,37 @@ class _PrerenderData {
         // "foo"
       } else if (getPref(prefs) !== this.initialPrefs[prefs]) {
         return false;
       }
     }
     return true;
   }
 }
+/* unused harmony export _PrerenderData */
+
 var PrerenderData = new _PrerenderData({
   initialPrefs: {
     "migrationExpired": true,
-    "showTopSites": true,
+    "feeds.topsites": true,
     "showSearch": true,
     "topSitesRows": 1,
     "feeds.section.topstories": true,
     "feeds.section.highlights": true,
     "enableWideLayout": true,
     "sectionOrder": "topsites,topstories,highlights",
     "collapsed": false
   },
   // Prefs listed as invalidating will prevent the prerendered version
   // of AS from being used if their value is something other than what is listed
   // here. This is required because some preferences cause the page layout to be
   // too different for the prerendered version to be used. Unfortunately, this
   // will result in users who have modified some of their preferences not being
   // able to get the benefits of prerendering.
-  validation: ["showTopSites", "showSearch", "topSitesRows", "enableWideLayout", "sectionOrder",
+  validation: ["feeds.topsites", "showSearch", "topSitesRows", "enableWideLayout", "sectionOrder",
   // This means if either of these are set to their default values,
   // prerendering can be used.
   { oneOf: ["feeds.section.topstories", "feeds.section.highlights"] },
   // If any component has the following preference set to `true` it will
   // invalidate the prerendered version.
   { indexedDB: ["collapsed"] }],
   initialSections: [{
     enabled: true,
@@ -3474,40 +3671,50 @@ var PrerenderData = new _PrerenderData({
   }, {
     enabled: true,
     id: "highlights",
     icon: "highlights",
     order: 2,
     title: { id: "header_highlights" }
   }]
 });
-// EXTERNAL MODULE: ./system-addon/content-src/lib/constants.js
-var constants = __webpack_require__(21);
-
-// CONCATENATED MODULE: ./system-addon/content-src/components/Search/Search.jsx
+
+/***/ }),
+/* 25 */
+/***/ (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__(26);
+/* 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 */
 
 
 
 
 
 
 
 
-class Search__Search extends external__React__default.a.PureComponent {
+class _Search extends __WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this.onClick = this.onClick.bind(this);
     this.onInputMount = this.onInputMount.bind(this);
   }
 
   handleEvent(event) {
     // Also track search events with our own telemetry
     if (event.detail.type === "Search") {
-      this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({ event: "SEARCH" }));
+      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__["a" /* actionCreators */].UserEvent({ event: "SEARCH" }));
     }
   }
 
   onClick(event) {
     window.gContentSearchController.search(event);
   }
 
   componentWillUnmount() {
@@ -3516,24 +3723,24 @@ class Search__Search extends external__R
 
   onInputMount(input) {
     if (input) {
       // The "healthReportKey" and needs to be "newtab" or "abouthome" so that
       // BrowserUsageTelemetry.jsm knows to handle events with this name, and
       // can add the appropriate telemetry probes for search. Without the correct
       // name, certain tests like browser_UsageTelemetry_content.js will fail
       // (See github ticket #2348 for more details)
-      const healthReportKey = constants["a" /* IS_NEWTAB */] ? "newtab" : "abouthome";
+      const healthReportKey = __WEBPACK_IMPORTED_MODULE_3_content_src_lib_constants__["a" /* IS_NEWTAB */] ? "newtab" : "abouthome";
 
       // The "searchSource" needs to be "newtab" or "homepage" and is sent with
       // the search data and acts as context for the search request (See
       // nsISearchEngine.getSubmission). It is necessary so that search engine
       // plugins can correctly atribute referrals. (See github ticket #3321 for
       // more details)
-      const searchSource = constants["a" /* IS_NEWTAB */] ? "newtab" : "homepage";
+      const searchSource = __WEBPACK_IMPORTED_MODULE_3_content_src_lib_constants__["a" /* IS_NEWTAB */] ? "newtab" : "homepage";
 
       // gContentSearchController needs to exist as a global so that tests for
       // the existing about:home can find it; and so it allows these tests to pass.
       // In the future, when activity stream is default about:home, this can be renamed
       window.gContentSearchController = new ContentSearchUIController(input, input.parentNode, healthReportKey, searchSource);
       addEventListener("ContentSearchClient", this);
     } else {
       window.gContentSearchController = null;
@@ -3542,226 +3749,85 @@ class Search__Search extends external__R
   }
 
   /*
    * Do not change the ID on the input field, as legacy newtab code
    * specifically looks for the id 'newtab-search-text' on input fields
    * in order to execute searches in various tests
    */
   render() {
-    return external__React__default.a.createElement(
+    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
       "div",
       { className: "search-wrapper" },
-      external__React__default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
         "label",
         { htmlFor: "newtab-search-text", className: "search-label" },
-        external__React__default.a.createElement(
+        __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
           "span",
           { className: "sr-only" },
-          external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "search_web_placeholder" })
+          __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], { id: "search_web_placeholder" })
         )
       ),
-      external__React__default.a.createElement("input", {
+      __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement("input", {
         id: "newtab-search-text",
         maxLength: "256",
         placeholder: this.props.intl.formatMessage({ id: "search_web_placeholder" }),
         ref: this.onInputMount,
         title: this.props.intl.formatMessage({ id: "search_web_placeholder" }),
         type: "search" }),
-      external__React__default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
         "button",
         {
           id: "searchSubmit",
           className: "search-button",
           onClick: this.onClick,
           title: this.props.intl.formatMessage({ id: "search_button" }) },
-        external__React__default.a.createElement(
+        __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
           "span",
           { className: "sr-only" },
-          external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "search_button" })
+          __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], { id: "search_button" })
         )
       )
     );
   }
 }
-
-const Search = Object(external__ReactRedux_["connect"])()(Object(external__ReactIntl_["injectIntl"])(Search__Search));
-// EXTERNAL MODULE: ./system-addon/content-src/components/Sections/Sections.jsx
-var Sections = __webpack_require__(22);
-
-// CONCATENATED MODULE: ./system-addon/content-src/components/Base/Base.jsx
-
-
-
-
-
-
-
-
-
-
-
-
-const PrefsButton = Object(external__ReactIntl_["injectIntl"])(props => external__React__default.a.createElement(
-  "div",
-  { className: "prefs-button" },
-  external__React__default.a.createElement("button", { className: "icon icon-settings", onClick: props.onClick, title: props.intl.formatMessage({ id: "settings_pane_button_label" }) })
-));
-
-// Add the locale data for pluralization and relative-time formatting for now,
-// this just uses english locale data. We can make this more sophisticated if
-// more features are needed.
-function addLocaleDataForReactIntl(locale) {
-  Object(external__ReactIntl_["addLocaleData"])([{ locale, parentLocale: "en" }]);
-}
-
-class Base__Base extends external__React__default.a.PureComponent {
-  componentWillMount() {
-    const { App, locale } = this.props;
-    this.sendNewTabRehydrated(App);
-    addLocaleDataForReactIntl(locale);
-  }
-
-  componentDidMount() {
-    // Request state AFTER the first render to ensure we don't cause the
-    // prerendered DOM to be unmounted. Otherwise, NEW_TAB_STATE_REQUEST is
-    // dispatched right after the store is ready.
-    if (this.props.isPrerendered) {
-      this.props.dispatch(Actions["a" /* actionCreators */].AlsoToMain({ type: Actions["b" /* actionTypes */].NEW_TAB_STATE_REQUEST }));
-      this.props.dispatch(Actions["a" /* actionCreators */].AlsoToMain({ type: Actions["b" /* actionTypes */].PAGE_PRERENDERED }));
-    }
-  }
-
-  componentWillUpdate({ App }) {
-    this.sendNewTabRehydrated(App);
-  }
-
-  // The NEW_TAB_REHYDRATED event is used to inform feeds that their
-  // data has been consumed e.g. for counting the number of tabs that
-  // have rendered that data.
-  sendNewTabRehydrated(App) {
-    if (App && App.initialized && !this.renderNotified) {
-      this.props.dispatch(Actions["a" /* actionCreators */].AlsoToMain({ type: Actions["b" /* actionTypes */].NEW_TAB_REHYDRATED, data: {} }));
-      this.renderNotified = true;
-    }
-  }
-
-  render() {
-    const { props } = this;
-    const { App, locale, strings } = props;
-    const { initialized } = App;
-
-    if (props.Prefs.values.messageCenterExperimentEnabled && window.location.hash === "#message-center-admin") {
-      return external__React__default.a.createElement(MessageCenterAdmin_MessageCenterAdmin, null);
-    }
-
-    if (!props.isPrerendered && !initialized) {
-      return null;
-    }
-
-    return external__React__default.a.createElement(
-      external__ReactIntl_["IntlProvider"],
-      { locale: locale, messages: strings },
-      external__React__default.a.createElement(
-        ErrorBoundary["a" /* ErrorBoundary */],
-        { className: "base-content-fallback" },
-        external__React__default.a.createElement(Base_BaseContent, this.props)
-      )
-    );
-  }
-}
-/* unused harmony export _Base */
-
-
-class Base_BaseContent extends external__React__default.a.PureComponent {
-  constructor(props) {
-    super(props);
-    this.openPreferences = this.openPreferences.bind(this);
-  }
-
-  openPreferences() {
-    this.props.dispatch(Actions["a" /* actionCreators */].OnlyToMain({ type: Actions["b" /* actionTypes */].SETTINGS_OPEN }));
-    this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({ event: "OPEN_NEWTAB_PREFS" }));
-  }
-
-  render() {
-    const { props } = this;
-    const { App, Theme } = props;
-    const { initialized } = App;
-    const prefs = props.Prefs.values;
-
-    const shouldBeFixedToTop = PrerenderData.arePrefsValid(name => prefs[name]);
-
-    const outerClassName = ["outer-wrapper", Theme.className, shouldBeFixedToTop && "fixed-to-top", prefs.enableWideLayout ? "wide-layout-enabled" : "wide-layout-disabled"].filter(v => v).join(" ");
-
-    return external__React__default.a.createElement(
-      "div",
-      { className: outerClassName },
-      external__React__default.a.createElement(
-        "main",
-        null,
-        prefs.showSearch && external__React__default.a.createElement(
-          "div",
-          { className: "non-collapsible-section" },
-          external__React__default.a.createElement(
-            ErrorBoundary["a" /* ErrorBoundary */],
-            null,
-            external__React__default.a.createElement(Search, null)
-          )
-        ),
-        external__React__default.a.createElement(
-          "div",
-          { className: `body-wrapper${initialized ? " on" : ""}` },
-          !prefs.migrationExpired && external__React__default.a.createElement(
-            "div",
-            { className: "non-collapsible-section" },
-            external__React__default.a.createElement(ManualMigration, null)
-          ),
-          external__React__default.a.createElement(Sections["a" /* Sections */], null),
-          external__React__default.a.createElement(PrefsButton, { onClick: this.openPreferences })
-        ),
-        external__React__default.a.createElement(ConfirmDialog, null)
-      )
-    );
-  }
-}
-/* unused harmony export BaseContent */
-
-
-const Base = Object(external__ReactRedux_["connect"])(state => ({ App: state.App, Prefs: state.Prefs, Theme: state.Theme }))(Base__Base);
-/* harmony export (immutable) */ __webpack_exports__["a"] = Base;
+/* 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;
 
 
 /***/ }),
-/* 21 */
+/* 26 */
 /***/ (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)))
 
 /***/ }),
-/* 22 */
+/* 27 */
 /***/ (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__(23);
+/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_content_src_components_Card_Card__ = __webpack_require__(28);
 /* 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__(12);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_ComponentPerfTimer_ComponentPerfTimer__ = __webpack_require__(14);
 /* 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__(25);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_content_src_components_TopSites_TopSites__ = __webpack_require__(26);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_content_src_components_Topics_Topics__ = __webpack_require__(30);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_content_src_components_TopSites_TopSites__ = __webpack_require__(31);
 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; };
 
 
 
 
 
 
 
@@ -3960,17 +4026,17 @@ Section.defaultProps = {
 const SectionIntl = Object(__WEBPACK_IMPORTED_MODULE_5_react_redux__["connect"])(state => ({ Prefs: state.Prefs }))(Object(__WEBPACK_IMPORTED_MODULE_1_react_intl__["injectIntl"])(Section));
 /* unused harmony export SectionIntl */
 
 
 class _Sections extends __WEBPACK_IMPORTED_MODULE_6_react___default.a.PureComponent {
   renderSections() {
     const sections = [];
     const enabledSections = this.props.Sections.filter(section => section.enabled);
-    const { sectionOrder, showTopSites } = this.props.Prefs.values;
+    const { sectionOrder, "feeds.topsites": showTopSites } = this.props.Prefs.values;
     // Enabled sections doesn't include Top Sites, so we add it if enabled.
     const expectedCount = enabledSections.length + ~~showTopSites;
 
     for (const sectionId of sectionOrder.split(",")) {
       const commonProps = {
         key: sectionId,
         isFirst: sections.length === 0,
         isLast: sections.length === expectedCount - 1
@@ -3999,17 +4065,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)))
 
 /***/ }),
-/* 23 */
+/* 28 */
 /***/ (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
@@ -4269,17 +4335,17 @@ class Card_Card extends external__React_
 
 Card_Card.defaultProps = { link: {} };
 
 const PlaceholderCard = () => external__React__default.a.createElement(Card_Card, { placeholder: true });
 /* harmony export (immutable) */ __webpack_exports__["b"] = PlaceholderCard;
 
 
 /***/ }),
-/* 24 */
+/* 29 */
 /***/ (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__(11);
 /* 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);
@@ -4341,17 +4407,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;
 
 
 /***/ }),
-/* 25 */
+/* 30 */
 /***/ (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__);
 
@@ -4397,32 +4463,32 @@ class Topics extends __WEBPACK_IMPORTED_
       )
     );
   }
 }
 /* harmony export (immutable) */ __webpack_exports__["a"] = Topics;
 
 
 /***/ }),
-/* 26 */
+/* 31 */
 /***/ (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__(12);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_ComponentPerfTimer_ComponentPerfTimer__ = __webpack_require__(14);
 /* 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__(27);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__TopSiteForm__ = __webpack_require__(32);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__TopSite__ = __webpack_require__(16);
 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; };
 
 
 
 
 
 
@@ -4531,17 +4597,17 @@ class _TopSites extends __WEBPACK_IMPORT
       __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
         __WEBPACK_IMPORTED_MODULE_2_content_src_components_CollapsibleSection_CollapsibleSection__["a" /* CollapsibleSection */],
         {
           className: "top-sites",
           icon: "topsites",
           id: "topsites",
           title: { id: "header_top_sites" },
           extraMenuOptions: ["AddTopSite"],
-          showPrefName: "showTopSites",
+          showPrefName: "feeds.topsites",
           eventSource: __WEBPACK_IMPORTED_MODULE_1__TopSitesConstants__["d" /* TOP_SITES_SOURCE */],
           collapsed: props.TopSites.pref ? props.TopSites.pref.collapsed : undefined,
           isFirst: props.isFirst,
           isLast: props.isLast,
           dispatch: props.dispatch },
         __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_9__TopSite__["b" /* TopSiteList */], { TopSites: props.TopSites, TopSitesRows: props.TopSitesRows, dispatch: props.dispatch, intl: props.intl, topSiteIconType: topSiteIconType }),
         __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
           "div",
@@ -4574,17 +4640,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)))
 
 /***/ }),
-/* 27 */
+/* 32 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 
 // EXTERNAL MODULE: ./system-addon/common/Actions.jsm
 var Actions = __webpack_require__(1);
 
 // EXTERNAL MODULE: external "ReactIntl"
@@ -4944,17 +5010,17 @@ class TopSiteForm_TopSiteForm extends ex
 
 
 TopSiteForm_TopSiteForm.defaultProps = {
   site: null,
   index: -1
 };
 
 /***/ }),
-/* 28 */
+/* 33 */
 /***/ (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__(15);
 
 
 
@@ -5019,23 +5085,23 @@ class DetectUserSessionStart {
     }
   }
 }
 /* harmony export (immutable) */ __webpack_exports__["a"] = DetectUserSessionStart;
 
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 29 */
+/* 34 */
 /***/ (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__(30);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_redux__ = __webpack_require__(35);
 /* 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 */
@@ -5177,16 +5243,16 @@ function initStore(reducers, initialStat
     });
   }
 
   return store;
 }
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 30 */
+/* 35 */
 /***/ (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 bb57421a354bf8e210d5","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/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/components/Base/Base.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","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","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","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","disabled","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","_handleCancelBtn","_handleConfirmBtn","_renderModalMessage","message_body","ConfirmDialog","onLaunchTour","onCancelTour","MIGRATION_START","MIGRATION_CANCEL","ManualMigration","handleBlock","handleUnblock","renderMessageItem","isCurrent","currentId","isBlocked","itemClassName","JSON","stringify","renderMessages","messages","_PrerenderData","initialPrefs","initialSections","_setValidation","validation","_validation","invalidatingPrefs","_invalidatingPrefs","next","oneOf","arePrefsValid","getPref","indexedDBPrefs","prefs","some","anyModifiedPrefs","prefName","order","provider","onInputMount","handleEvent","detail","gContentSearchController","search","input","healthReportKey","IS_NEWTAB","searchSource","ContentSearchUIController","Search","PrefsButton","addLocaleDataForReactIntl","locale","addLocaleData","parentLocale","sendNewTabRehydrated","isPrerendered","PAGE_PRERENDERED","renderNotified","NEW_TAB_REHYDRATED","strings","hash","openPreferences","shouldBeFixedToTop","PrerenderData","outerClassName","enableWideLayout","v","join","showSearch","migrationExpired","Base","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","gImageLoading","activeCard","imageLoaded","maybeLoadImage","image","loaderPromise","loader","Image","src","catch","then","altKey","ctrlKey","metaKey","WEBEXT_CLICK","click","hasImage","placeholder","description","context","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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","file":"activity-stream.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 17);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap bb57421a354bf8e210d5","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 0\n// module chunks = 0","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nthis.MAIN_MESSAGE_TYPE = \"ActivityStream:Main\";\nthis.CONTENT_MESSAGE_TYPE = \"ActivityStream:Content\";\nthis.PRELOAD_MESSAGE_TYPE = \"ActivityStream:PreloadedBrowser\";\nthis.UI_CODE = 1;\nthis.BACKGROUND_PROCESS = 2;\n\n/**\n * globalImportContext - Are we in UI code (i.e. react, a dom) or some kind of background process?\n *                       Use this in action creators if you need different logic\n *                       for ui/background processes.\n */\nconst globalImportContext = typeof Window === \"undefined\" ? BACKGROUND_PROCESS : UI_CODE;\n// Export for tests\nthis.globalImportContext = globalImportContext;\n\n// Create an object that avoids accidental differing key/value pairs:\n// {\n//   INIT: \"INIT\",\n//   UNINIT: \"UNINIT\"\n// }\nconst actionTypes = {};\nfor (const type of [\n  \"ARCHIVE_FROM_POCKET\",\n  \"BLOCK_URL\",\n  \"BOOKMARK_URL\",\n  \"DELETE_BOOKMARK_BY_ID\",\n  \"DELETE_FROM_POCKET\",\n  \"DELETE_HISTORY_URL\",\n  \"DIALOG_CANCEL\",\n  \"DIALOG_OPEN\",\n  \"DISABLE_ONBOARDING\",\n  \"INIT\",\n  \"MIGRATION_CANCEL\",\n  \"MIGRATION_COMPLETED\",\n  \"MIGRATION_START\",\n  \"NEW_TAB_INIT\",\n  \"NEW_TAB_INITIAL_STATE\",\n  \"NEW_TAB_LOAD\",\n  \"NEW_TAB_REHYDRATED\",\n  \"NEW_TAB_STATE_REQUEST\",\n  \"NEW_TAB_UNLOAD\",\n  \"OPEN_LINK\",\n  \"OPEN_NEW_WINDOW\",\n  \"OPEN_PRIVATE_WINDOW\",\n  \"PAGE_PRERENDERED\",\n  \"PLACES_BOOKMARK_ADDED\",\n  \"PLACES_BOOKMARK_REMOVED\",\n  \"PLACES_HISTORY_CLEARED\",\n  \"PLACES_LINKS_CHANGED\",\n  \"PLACES_LINK_BLOCKED\",\n  \"PLACES_LINK_DELETED\",\n  \"PLACES_SAVED_TO_POCKET\",\n  \"PREFS_INITIAL_VALUES\",\n  \"PREF_CHANGED\",\n  \"PREVIEW_REQUEST\",\n  \"PREVIEW_REQUEST_CANCEL\",\n  \"PREVIEW_RESPONSE\",\n  \"RICH_ICON_MISSING\",\n  \"SAVE_SESSION_PERF_DATA\",\n  \"SAVE_TO_POCKET\",\n  \"SCREENSHOT_UPDATED\",\n  \"SECTION_DEREGISTER\",\n  \"SECTION_DISABLE\",\n  \"SECTION_ENABLE\",\n  \"SECTION_MOVE\",\n  \"SECTION_OPTIONS_CHANGED\",\n  \"SECTION_REGISTER\",\n  \"SECTION_UPDATE\",\n  \"SECTION_UPDATE_CARD\",\n  \"SETTINGS_CLOSE\",\n  \"SETTINGS_OPEN\",\n  \"SET_PREF\",\n  \"SHOW_FIREFOX_ACCOUNTS\",\n  \"SNIPPETS_BLOCKLIST_CLEARED\",\n  \"SNIPPETS_BLOCKLIST_UPDATED\",\n  \"SNIPPETS_DATA\",\n  \"SNIPPETS_RESET\",\n  \"SNIPPET_BLOCKED\",\n  \"SYSTEM_TICK\",\n  \"TELEMETRY_IMPRESSION_STATS\",\n  \"TELEMETRY_PERFORMANCE_EVENT\",\n  \"TELEMETRY_UNDESIRED_EVENT\",\n  \"TELEMETRY_USER_EVENT\",\n  \"THEME_UPDATE\",\n  \"TOP_SITES_CANCEL_EDIT\",\n  \"TOP_SITES_EDIT\",\n  \"TOP_SITES_INSERT\",\n  \"TOP_SITES_PIN\",\n  \"TOP_SITES_PREFS_UPDATED\",\n  \"TOP_SITES_UNPIN\",\n  \"TOP_SITES_UPDATED\",\n  \"TOTAL_BOOKMARKS_REQUEST\",\n  \"TOTAL_BOOKMARKS_RESPONSE\",\n  \"UNINIT\",\n  \"UPDATE_SECTION_PREFS\",\n  \"WEBEXT_CLICK\",\n  \"WEBEXT_DISMISS\"\n]) {\n  actionTypes[type] = type;\n}\n\n// Helper function for creating routed actions between content and main\n// Not intended to be used by consumers\nfunction _RouteMessage(action, options) {\n  const meta = action.meta ? Object.assign({}, action.meta) : {};\n  if (!options || !options.from || !options.to) {\n    throw new Error(\"Routed Messages must have options as the second parameter, and must at least include a .from and .to property.\");\n  }\n  // For each of these fields, if they are passed as an option,\n  // add them to the action. If they are not defined, remove them.\n  [\"from\", \"to\", \"toTarget\", \"fromTarget\", \"skipMain\", \"skipLocal\"].forEach(o => {\n    if (typeof options[o] !== \"undefined\") {\n      meta[o] = options[o];\n    } else if (meta[o]) {\n      delete meta[o];\n    }\n  });\n  return Object.assign({}, action, {meta});\n}\n\n/**\n * AlsoToMain - Creates a message that will be dispatched locally and also sent to the Main process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {bool}   skipLocal Used by OnlyToMain to skip the main reducer\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToMain(action, fromTarget, skipLocal) {\n  return _RouteMessage(action, {\n    from: CONTENT_MESSAGE_TYPE,\n    to: MAIN_MESSAGE_TYPE,\n    fromTarget,\n    skipLocal\n  });\n}\n\n/**\n * OnlyToMain - Creates a message that will be sent to the Main process and skip the local reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToMain(action, fromTarget) {\n  return AlsoToMain(action, fromTarget, true);\n}\n\n/**\n * BroadcastToContent - Creates a message that will be dispatched to main and sent to ALL content processes.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction BroadcastToContent(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE\n  });\n}\n\n/**\n * AlsoToOneContent - Creates a message that will be will be dispatched to the main store\n *                    and also sent to a particular Content process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @param  {bool} skipMain Used by OnlyToOneContent to skip the main process\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToOneContent(action, target, skipMain) {\n  if (!target) {\n    throw new Error(\"You must provide a target ID as the second parameter of AlsoToOneContent. If you want to send to all content processes, use BroadcastToContent\");\n  }\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE,\n    toTarget: target,\n    skipMain\n  });\n}\n\n/**\n * OnlyToOneContent - Creates a message that will be sent to a particular Content process\n *                    and skip the main reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToOneContent(action, target) {\n  return AlsoToOneContent(action, target, true);\n}\n\n/**\n * AlsoToPreloaded - Creates a message that dispatched to the main reducer and also sent to the preloaded tab.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToPreloaded(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: PRELOAD_MESSAGE_TYPE\n  });\n}\n\n/**\n * UserEvent - A telemetry ping indicating a user action. This should only\n *                   be sent from the UI during a user session.\n *\n * @param  {object} data Fields to include in the ping (source, etc.)\n * @return {object} An AlsoToMain action\n */\nfunction UserEvent(data) {\n  return AlsoToMain({\n    type: actionTypes.TELEMETRY_USER_EVENT,\n    data\n  });\n}\n\n/**\n * UndesiredEvent - A telemetry ping indicating an undesired state.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction UndesiredEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_UNDESIRED_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * PerfEvent - A telemetry ping indicating a performance-related event.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction PerfEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_PERFORMANCE_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * ImpressionStats - A telemetry ping indicating an impression stats.\n *\n * @param  {object} data Fields to include in the ping\n * @param  {int} importContext (For testing) Override the import context for testing.\n * #return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction ImpressionStats(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_IMPRESSION_STATS,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction SetPref(name, value, importContext = globalImportContext) {\n  const action = {type: actionTypes.SET_PREF, data: {name, value}};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction WebExtEvent(type, data, importContext = globalImportContext) {\n  if (!data || !data.source) {\n    throw new Error(\"WebExtEvent actions should include a property \\\"source\\\", the id of the webextension that should receive the event.\");\n  }\n  const action = {type, data};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nthis.actionTypes = actionTypes;\n\nthis.actionCreators = {\n  BroadcastToContent,\n  UserEvent,\n  UndesiredEvent,\n  PerfEvent,\n  ImpressionStats,\n  AlsoToOneContent,\n  OnlyToOneContent,\n  AlsoToMain,\n  OnlyToMain,\n  AlsoToPreloaded,\n  SetPref,\n  WebExtEvent\n};\n\n// These are helpers to test for certain kinds of actions\nthis.actionUtils = {\n  isSendToMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === MAIN_MESSAGE_TYPE && action.meta.from === CONTENT_MESSAGE_TYPE;\n  },\n  isBroadcastToContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && !action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToOneContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToPreloaded(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === PRELOAD_MESSAGE_TYPE &&\n      action.meta.from === MAIN_MESSAGE_TYPE;\n  },\n  isFromMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.from === MAIN_MESSAGE_TYPE &&\n      action.meta.to === CONTENT_MESSAGE_TYPE;\n  },\n  getPortIdOfSender(action) {\n    return (action.meta && action.meta.fromTarget) || null;\n  },\n  _RouteMessage\n};\n\nconst EXPORTED_SYMBOLS = [\n  \"actionTypes\",\n  \"actionCreators\",\n  \"actionUtils\",\n  \"globalImportContext\",\n  \"UI_CODE\",\n  \"BACKGROUND_PROCESS\",\n  \"MAIN_MESSAGE_TYPE\",\n  \"CONTENT_MESSAGE_TYPE\",\n  \"PRELOAD_MESSAGE_TYPE\"\n];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Actions.jsm","module.exports = ReactIntl;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactIntl\"\n// module id = 2\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","module.exports = ReactRedux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactRedux\"\n// module id = 4\n// module chunks = 0","export const TOP_SITES_SOURCE = \"TOP_SITES\";\nexport const TOP_SITES_CONTEXT_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\",\n  \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\", \"DeleteUrl\"];\n// minimum size necessary to show a rich icon instead of a screenshot\nexport const MIN_RICH_FAVICON_SIZE = 96;\n// minimum size necessary to show any icon in the top left corner with a screenshot\nexport const MIN_CORNER_FAVICON_SIZE = 16;\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSitesConstants.js","this.Dedupe = class Dedupe {\n  constructor(createKey) {\n    this.createKey = createKey || this.defaultCreateKey;\n  }\n\n  defaultCreateKey(item) {\n    return item;\n  }\n\n  /**\n   * Dedupe any number of grouped elements favoring those from earlier groups.\n   *\n   * @param {Array} groups Contains an arbitrary number of arrays of elements.\n   * @returns {Array} A matching array of each provided group deduped.\n   */\n  group(...groups) {\n    const globalKeys = new Set();\n    const result = [];\n    for (const values of groups) {\n      const valueMap = new Map();\n      for (const value of values) {\n        const key = this.createKey(value);\n        if (!globalKeys.has(key) && !valueMap.has(key)) {\n          valueMap.set(key, value);\n        }\n      }\n      result.push(valueMap);\n      valueMap.forEach((value, key) => globalKeys.add(key));\n    }\n    return result.map(m => Array.from(m.values()));\n  }\n};\n\nconst EXPORTED_SYMBOLS = [\"Dedupe\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Dedupe.jsm","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nconst {actionTypes: at} = ChromeUtils.import(\"resource://activity-stream/common/Actions.jsm\", {});\nconst {Dedupe} = ChromeUtils.import(\"resource://activity-stream/common/Dedupe.jsm\", {});\n\nconst TOP_SITES_DEFAULT_ROWS = 1;\nconst TOP_SITES_MAX_SITES_PER_ROW = 8;\n\nconst dedupe = new Dedupe(site => site && site.url);\n\nconst INITIAL_STATE = {\n  App: {\n    // Have we received real data from the app yet?\n    initialized: false,\n    // The version of the system-addon\n    version: null\n  },\n  Snippets: {initialized: false},\n  TopSites: {\n    // Have we received real data from history yet?\n    initialized: false,\n    // The history (and possibly default) links\n    rows: [],\n    // Used in content only to dispatch action to TopSiteForm.\n    editForm: null\n  },\n  Prefs: {\n    initialized: false,\n    values: {}\n  },\n  Theme: {className: \"\"},\n  Dialog: {\n    visible: false,\n    data: {}\n  },\n  Sections: []\n};\n\nfunction App(prevState = INITIAL_STATE.App, action) {\n  switch (action.type) {\n    case at.INIT:\n      return Object.assign({}, prevState, action.data || {}, {initialized: true});\n    default:\n      return prevState;\n  }\n}\n\n/**\n * insertPinned - Inserts pinned links in their specified slots\n *\n * @param {array} a list of links\n * @param {array} a list of pinned links\n * @return {array} resulting list of links with pinned links inserted\n */\nfunction insertPinned(links, pinned) {\n  // Remove any pinned links\n  const pinnedUrls = pinned.map(link => link && link.url);\n  let newLinks = links.filter(link => (link ? !pinnedUrls.includes(link.url) : false));\n  newLinks = newLinks.map(link => {\n    if (link && link.isPinned) {\n      delete link.isPinned;\n      delete link.pinIndex;\n    }\n    return link;\n  });\n\n  // Then insert them in their specified location\n  pinned.forEach((val, index) => {\n    if (!val) { return; }\n    let link = Object.assign({}, val, {isPinned: true, pinIndex: index});\n    if (index > newLinks.length) {\n      newLinks[index] = link;\n    } else {\n      newLinks.splice(index, 0, link);\n    }\n  });\n\n  return newLinks;\n}\n\nfunction TopSites(prevState = INITIAL_STATE.TopSites, action) {\n  let hasMatch;\n  let newRows;\n  switch (action.type) {\n    case at.TOP_SITES_UPDATED:\n      if (!action.data || !action.data.links) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {initialized: true, rows: action.data.links}, action.data.pref ? {pref: action.data.pref} : {});\n    case at.TOP_SITES_PREFS_UPDATED:\n      return Object.assign({}, prevState, {pref: action.data.pref});\n    case at.TOP_SITES_EDIT:\n      return Object.assign({}, prevState, {\n        editForm: {\n          index: action.data.index,\n          previewResponse: null\n        }\n      });\n    case at.TOP_SITES_CANCEL_EDIT:\n      return Object.assign({}, prevState, {editForm: null});\n    case at.PREVIEW_RESPONSE:\n      if (!prevState.editForm || action.data.url !== prevState.editForm.previewUrl) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {\n        editForm: {\n          index: prevState.editForm.index,\n          previewResponse: action.data.preview,\n          previewUrl: action.data.url\n        }\n      });\n    case at.PREVIEW_REQUEST:\n      if (!prevState.editForm) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {\n        editForm: {\n          index: prevState.editForm.index,\n          previewResponse: null,\n          previewUrl: action.data.url\n        }\n      });\n    case at.PREVIEW_REQUEST_CANCEL:\n      if (!prevState.editForm) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {\n        editForm: {\n          index: prevState.editForm.index,\n          previewResponse: null\n        }\n      });\n    case at.SCREENSHOT_UPDATED:\n      newRows = prevState.rows.map(row => {\n        if (row && row.url === action.data.url) {\n          hasMatch = true;\n          return Object.assign({}, row, {screenshot: action.data.screenshot});\n        }\n        return row;\n      });\n      return hasMatch ? Object.assign({}, prevState, {rows: newRows}) : prevState;\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n          return Object.assign({}, site, {bookmarkGuid, bookmarkTitle, bookmarkDateCreated: dateAdded});\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const newSite = Object.assign({}, site);\n          delete newSite.bookmarkGuid;\n          delete newSite.bookmarkTitle;\n          delete newSite.bookmarkDateCreated;\n          return newSite;\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    case at.PLACES_LINK_DELETED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.filter(site => action.data.url !== site.url);\n      return Object.assign({}, prevState, {rows: newRows});\n    default:\n      return prevState;\n  }\n}\n\nfunction Dialog(prevState = INITIAL_STATE.Dialog, action) {\n  switch (action.type) {\n    case at.DIALOG_OPEN:\n      return Object.assign({}, prevState, {visible: true, data: action.data});\n    case at.DIALOG_CANCEL:\n      return Object.assign({}, prevState, {visible: false});\n    case at.DELETE_HISTORY_URL:\n      return Object.assign({}, INITIAL_STATE.Dialog);\n    default:\n      return prevState;\n  }\n}\n\nfunction Prefs(prevState = INITIAL_STATE.Prefs, action) {\n  let newValues;\n  switch (action.type) {\n    case at.PREFS_INITIAL_VALUES:\n      return Object.assign({}, prevState, {initialized: true, values: action.data});\n    case at.PREF_CHANGED:\n      newValues = Object.assign({}, prevState.values);\n      newValues[action.data.name] = action.data.value;\n      return Object.assign({}, prevState, {values: newValues});\n    default:\n      return prevState;\n  }\n}\n\nfunction Sections(prevState = INITIAL_STATE.Sections, action) {\n  let hasMatch;\n  let newState;\n  switch (action.type) {\n    case at.SECTION_DEREGISTER:\n      return prevState.filter(section => section.id !== action.data);\n    case at.SECTION_REGISTER:\n      // If section exists in prevState, update it\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          hasMatch = true;\n          return Object.assign({}, section, action.data);\n        }\n        return section;\n      });\n      // Otherwise, append it\n      if (!hasMatch) {\n        const initialized = !!(action.data.rows && action.data.rows.length > 0);\n        const section = Object.assign({title: \"\", rows: [], enabled: false}, action.data, {initialized});\n        newState.push(section);\n      }\n      return newState;\n    case at.SECTION_UPDATE:\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          // If the action is updating rows, we should consider initialized to be true.\n          // This can be overridden if initialized is defined in the action.data\n          const initialized = action.data.rows ? {initialized: true} : {};\n\n          // Make sure pinned cards stay at their current position when rows are updated.\n          // Disabling a section (SECTION_UPDATE with empty rows) does not retain pinned cards.\n          if (action.data.rows && action.data.rows.length > 0 && section.rows.find(card => card.pinned)) {\n            const rows = Array.from(action.data.rows);\n            section.rows.forEach((card, index) => {\n              if (card.pinned) {\n                rows.splice(index, 0, card);\n              }\n            });\n            return Object.assign({}, section, initialized, Object.assign({}, action.data, {rows}));\n          }\n\n          return Object.assign({}, section, initialized, action.data);\n        }\n        return section;\n      });\n\n      if (!action.data.dedupeConfigurations) {\n        return newState;\n      }\n\n      action.data.dedupeConfigurations.forEach(dedupeConf => {\n        newState = newState.map(section => {\n          if (section.id === dedupeConf.id) {\n            const dedupedRows = dedupeConf.dedupeFrom.reduce((rows, dedupeSectionId) => {\n              const dedupeSection = newState.find(s => s.id === dedupeSectionId);\n              const [, newRows] = dedupe.group(dedupeSection.rows, rows);\n              return newRows;\n            }, section.rows);\n\n            return Object.assign({}, section, {rows: dedupedRows});\n          }\n\n          return section;\n        });\n      });\n\n      return newState;\n    case at.SECTION_UPDATE_CARD:\n      return prevState.map(section => {\n        if (section && section.id === action.data.id && section.rows) {\n          const newRows = section.rows.map(card => {\n            if (card.url === action.data.url) {\n              return Object.assign({}, card, action.data.options);\n            }\n            return card;\n          });\n          return Object.assign({}, section, {rows: newRows});\n        }\n        return section;\n      });\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the item within the rows that is attempted to be bookmarked\n          if (item.url === action.data.url) {\n            const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n            return Object.assign({}, item, {\n              bookmarkGuid,\n              bookmarkTitle,\n              bookmarkDateCreated: dateAdded,\n              type: \"bookmark\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_SAVED_TO_POCKET:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          if (item.url === action.data.url) {\n            return Object.assign({}, item, {\n              open_url: action.data.open_url,\n              pocket_id: action.data.pocket_id,\n              title: action.data.title,\n              type: \"pocket\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the bookmark within the rows that is attempted to be removed\n          if (item.url === action.data.url) {\n            const newSite = Object.assign({}, item);\n            delete newSite.bookmarkGuid;\n            delete newSite.bookmarkTitle;\n            delete newSite.bookmarkDateCreated;\n            if (!newSite.type || newSite.type === \"bookmark\") {\n              newSite.type = \"history\";\n            }\n            return newSite;\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_LINK_DELETED:\n    case at.PLACES_LINK_BLOCKED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.url !== action.data.url)}));\n    case at.DELETE_FROM_POCKET:\n    case at.ARCHIVE_FROM_POCKET:\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.pocket_id !== action.data.pocket_id)}));\n    default:\n      return prevState;\n  }\n}\n\nfunction Snippets(prevState = INITIAL_STATE.Snippets, action) {\n  switch (action.type) {\n    case at.SNIPPETS_DATA:\n      return Object.assign({}, prevState, {initialized: true}, action.data);\n    case at.SNIPPET_BLOCKED:\n      return Object.assign({}, prevState, {blockList: prevState.blockList.concat(action.data)});\n    case at.SNIPPETS_BLOCKLIST_CLEARED:\n      return Object.assign({}, prevState, {blockList: []});\n    case at.SNIPPETS_RESET:\n      return INITIAL_STATE.Snippets;\n    default:\n      return prevState;\n  }\n}\n\nfunction Theme(prevState = INITIAL_STATE.Theme, action) {\n  switch (action.type) {\n    case at.THEME_UPDATE:\n      return Object.assign({}, prevState, action.data);\n    default:\n      return prevState;\n  }\n}\n\nthis.INITIAL_STATE = INITIAL_STATE;\nthis.TOP_SITES_DEFAULT_ROWS = TOP_SITES_DEFAULT_ROWS;\nthis.TOP_SITES_MAX_SITES_PER_ROW = TOP_SITES_MAX_SITES_PER_ROW;\n\nthis.reducers = {TopSites, App, Snippets, Prefs, Dialog, Sections, Theme};\n\nconst EXPORTED_SYMBOLS = [\"reducers\", \"INITIAL_STATE\", \"insertPinned\", \"TOP_SITES_DEFAULT_ROWS\", \"TOP_SITES_MAX_SITES_PER_ROW\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Reducers.jsm","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {SimpleSnippet} from \"./templates/SimpleSnippet\";\n\nconst INCOMING_MESSAGE_NAME = \"MessageCenter:parent-to-child\";\nconst OUTGOING_MESSAGE_NAME = \"MessageCenter:child-to-parent\";\n\nexport const MessageCenterUtils = {\n  addListener(listener) {\n    global.addMessageListener(INCOMING_MESSAGE_NAME, listener);\n  },\n  removeListener(listener) {\n    global.removeMessageListener(INCOMING_MESSAGE_NAME, listener);\n  },\n  sendMessage(action) {\n    global.sendAsyncMessage(OUTGOING_MESSAGE_NAME, action);\n  },\n  blockById(id) {\n    MessageCenterUtils.sendMessage({type: \"BLOCK_MESSAGE_BY_ID\", data: {id}});\n  },\n  unblockById(id) {\n    MessageCenterUtils.sendMessage({type: \"UNBLOCK_MESSAGE_BY_ID\", data: {id}});\n  },\n  getNextMessage() {\n    MessageCenterUtils.sendMessage({type: \"GET_NEXT_MESSAGE\"});\n  }\n};\n\nclass MessageCenterUISurface extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onMessageFromParent = this.onMessageFromParent.bind(this);\n    this.state = {message: {}};\n  }\n\n  onBlockById(id) {\n    return () => MessageCenterUtils.blockById(id);\n  }\n\n  onMessageFromParent({data: action}) {\n    switch (action.type) {\n      case \"SET_MESSAGE\":\n        this.setState({message: action.data});\n        break;\n      case \"CLEAR_MESSAGE\":\n        this.setState({message: {}});\n        break;\n    }\n  }\n\n  componentWillMount() {\n    MessageCenterUtils.addListener(this.onMessageFromParent);\n    MessageCenterUtils.sendMessage({type: \"CONNECT_UI_REQUEST\"});\n  }\n\n  componentWillUnmount() {\n    MessageCenterUtils.removeMessageListener(this.onMessageFromParent);\n  }\n\n  render() {\n    const {message} = this.state;\n    if (!message.id) { return null; }\n\n    return (<SimpleSnippet\n      {...message}\n      getNextMessage={MessageCenterUtils.getNextMessage}\n      onBlock={this.onBlockById(message.id)} />);\n  }\n}\n\nexport function initMessageCenter() {\n  ReactDOM.render(<MessageCenterUISurface />, document.getElementById(\"snippets-container\"));\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/message-center/message-center-content.jsx","module.exports = ReactDOM;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactDOM\"\n// module id = 8\n// module chunks = 0","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class ErrorBoundaryFallback extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.windowObj = this.props.windowObj || window;\n    this.onClick = this.onClick.bind(this);\n  }\n\n  /**\n   * Since we only get here if part of the page has crashed, do a\n   * forced reload to give us the best chance at recovering.\n   */\n  onClick() {\n    this.windowObj.location.reload(true);\n  }\n\n  render() {\n    const defaultClass = \"as-error-fallback\";\n    let className;\n    if (\"className\" in this.props) {\n      className = `${this.props.className} ${defaultClass}`;\n    } else {\n      className = defaultClass;\n    }\n\n    // href=\"#\" to force normal link styling stuff (eg cursor on hover)\n    return (\n      <div className={className}>\n        <div>\n          <FormattedMessage\n            defaultMessage=\"Oops, something went wrong loading this content.\"\n            id=\"error_fallback_default_info\" />\n        </div>\n        <span>\n          <a href=\"#\" className=\"reload-button\" onClick={this.onClick}>\n            <FormattedMessage\n              defaultMessage=\"Refresh page to try again.\"\n              id=\"error_fallback_default_refresh_suggestion\" />\n          </a>\n        </span>\n      </div>\n    );\n  }\n}\nErrorBoundaryFallback.defaultProps = {className: \"as-error-fallback\"};\n\nexport class ErrorBoundary extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {hasError: false};\n  }\n\n  componentDidCatch(error, info) {\n    this.setState({hasError: true});\n  }\n\n  render() {\n    if (!this.state.hasError) {\n      return (this.props.children);\n    }\n\n    return <this.props.FallbackComponent className={this.props.className} />;\n  }\n}\n\nErrorBoundary.defaultProps = {FallbackComponent: ErrorBoundaryFallback};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\nconst _OpenInPrivateWindow = site => ({\n  id: \"menu_action_open_private_window\",\n  icon: \"new-window-private\",\n  action: ac.OnlyToMain({\n    type: at.OPEN_PRIVATE_WINDOW,\n    data: {url: site.url, referrer: site.referrer}\n  }),\n  userEvent: \"OPEN_PRIVATE_WINDOW\"\n});\n\n/**\n * List of functions that return items that can be included as menu options in a\n * LinkMenu. All functions take the site as the first parameter, and optionally\n * the index of the site.\n */\nexport const LinkMenuOptions = {\n  Separator: () => ({type: \"separator\"}),\n  EmptyItem: () => ({type: \"empty\"}),\n  RemoveBookmark: site => ({\n    id: \"menu_action_remove_bookmark\",\n    icon: \"bookmark-added\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_BOOKMARK_BY_ID,\n      data: site.bookmarkGuid\n    }),\n    userEvent: \"BOOKMARK_DELETE\"\n  }),\n  AddBookmark: site => ({\n    id: \"menu_action_bookmark\",\n    icon: \"bookmark-hollow\",\n    action: ac.AlsoToMain({\n      type: at.BOOKMARK_URL,\n      data: {url: site.url, title: site.title, type: site.type}\n    }),\n    userEvent: \"BOOKMARK_ADD\"\n  }),\n  OpenInNewWindow: site => ({\n    id: \"menu_action_open_new_window\",\n    icon: \"new-window\",\n    action: ac.AlsoToMain({\n      type: at.OPEN_NEW_WINDOW,\n      data: {url: site.url, referrer: site.referrer}\n    }),\n    userEvent: \"OPEN_NEW_WINDOW\"\n  }),\n  BlockUrl: (site, index, eventSource) => ({\n    id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.AlsoToMain({\n      type: at.BLOCK_URL,\n      data: {url: site.url, pocket_id: site.pocket_id}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      block: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"BLOCK\"\n  }),\n\n  // This is an option for web extentions which will result in remove items from\n  // memory and notify the web extenion, rather than using the built-in block list.\n  WebExtDismiss: (site, index, eventSource) => ({\n    id: \"menu_action_webext_dismiss\",\n    string_id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.WebExtEvent(at.WEBEXT_DISMISS, {\n      source: eventSource,\n      url: site.url,\n      action_position: index\n    })\n  }),\n  DeleteUrl: (site, index, eventSource, isEnabled, siteInfo) => ({\n    id: \"menu_action_delete\",\n    icon: \"delete\",\n    action: {\n      type: at.DIALOG_OPEN,\n      data: {\n        onConfirm: [\n          ac.AlsoToMain({type: at.DELETE_HISTORY_URL, data: {url: site.url, pocket_id: site.pocket_id, forceBlock: site.bookmarkGuid}}),\n          ac.UserEvent(Object.assign({event: \"DELETE\", source: eventSource, action_position: index}, siteInfo))\n        ],\n        eventSource,\n        body_string_id: [\"confirm_history_delete_p1\", \"confirm_history_delete_notice_p2\"],\n        confirm_button_string_id: \"menu_action_delete\",\n        cancel_button_string_id: \"topsites_form_cancel_button\",\n        icon: \"modal-delete\"\n      }\n    },\n    userEvent: \"DIALOG_OPEN\"\n  }),\n  PinTopSite: (site, index) => ({\n    id: \"menu_action_pin\",\n    icon: \"pin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_PIN,\n      data: {site: {url: site.url}, index}\n    }),\n    userEvent: \"PIN\"\n  }),\n  UnpinTopSite: site => ({\n    id: \"menu_action_unpin\",\n    icon: \"unpin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_UNPIN,\n      data: {site: {url: site.url}}\n    }),\n    userEvent: \"UNPIN\"\n  }),\n  SaveToPocket: (site, index, eventSource) => ({\n    id: \"menu_action_save_to_pocket\",\n    icon: \"pocket\",\n    action: ac.AlsoToMain({\n      type: at.SAVE_TO_POCKET,\n      data: {site: {url: site.url, title: site.title}}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      pocket: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"SAVE_TO_POCKET\"\n  }),\n  DeleteFromPocket: site => ({\n    id: \"menu_action_delete_pocket\",\n    icon: \"delete\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"DELETE_FROM_POCKET\"\n  }),\n  ArchiveFromPocket: site => ({\n    id: \"menu_action_archive_pocket\",\n    icon: \"check\",\n    action: ac.AlsoToMain({\n      type: at.ARCHIVE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"ARCHIVE_FROM_POCKET\"\n  }),\n  EditTopSite: (site, index) => ({\n    id: \"edit_topsites_button_text\",\n    icon: \"edit\",\n    action: {\n      type: at.TOP_SITES_EDIT,\n      data: {index}\n    }\n  }),\n  CheckBookmark: site => (site.bookmarkGuid ? LinkMenuOptions.RemoveBookmark(site) : LinkMenuOptions.AddBookmark(site)),\n  CheckPinTopSite: (site, index) => (site.isPinned ? LinkMenuOptions.UnpinTopSite(site) : LinkMenuOptions.PinTopSite(site, index)),\n  CheckSavedToPocket: (site, index) => (site.pocket_id ? LinkMenuOptions.DeleteFromPocket(site) : LinkMenuOptions.SaveToPocket(site, index)),\n  CheckBookmarkOrArchive: site => (site.pocket_id ? LinkMenuOptions.ArchiveFromPocket(site) : LinkMenuOptions.CheckBookmark(site)),\n  OpenInPrivateWindow: (site, index, eventSource, isEnabled) => (isEnabled ? _OpenInPrivateWindow(site) : LinkMenuOptions.EmptyItem())\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/link-menu-options.js","import {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {ContextMenu} from \"content-src/components/ContextMenu/ContextMenu\";\nimport {injectIntl} from \"react-intl\";\nimport {LinkMenuOptions} from \"content-src/lib/link-menu-options\";\nimport React from \"react\";\n\nconst DEFAULT_SITE_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\", \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\"];\n\nexport class _LinkMenu extends React.PureComponent {\n  getOptions() {\n    const {props} = this;\n    const {site, index, source, isPrivateBrowsingEnabled, siteInfo} = props;\n\n    // Handle special case of default site\n    const propOptions = !site.isDefault ? props.options : DEFAULT_SITE_MENU_OPTIONS;\n\n    const options = propOptions.map(o => LinkMenuOptions[o](site, index, source, isPrivateBrowsingEnabled, siteInfo)).map(option => {\n      const {action, impression, id, string_id, type, userEvent} = option;\n      if (!type && id) {\n        option.label = props.intl.formatMessage({id: string_id || id});\n        option.onClick = () => {\n          props.dispatch(action);\n          if (userEvent) {\n            const userEventData = Object.assign({\n              event: userEvent,\n              source,\n              action_position: index\n            }, siteInfo);\n            props.dispatch(ac.UserEvent(userEventData));\n          }\n          if (impression && props.shouldSendImpressionStats) {\n            props.dispatch(impression);\n          }\n        };\n      }\n      return option;\n    });\n\n    // This is for accessibility to support making each item tabbable.\n    // We want to know which item is the first and which item\n    // is the last, so we can close the context menu accordingly.\n    options[0].first = true;\n    options[options.length - 1].last = true;\n    return options;\n  }\n\n  render() {\n    return (<ContextMenu\n      onUpdate={this.props.onUpdate}\n      options={this.getOptions()} />);\n  }\n}\n\nconst getState = state => ({isPrivateBrowsingEnabled: state.Prefs.values.isPrivateBrowsingEnabled});\nexport const LinkMenu = connect(getState)(injectIntl(_LinkMenu));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","import React from \"react\";\n\nexport class ContextMenu extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.hideContext = this.hideContext.bind(this);\n    this.onClick = this.onClick.bind(this);\n  }\n\n  hideContext() {\n    this.props.onUpdate(false);\n  }\n\n  componentDidMount() {\n    setTimeout(() => {\n      global.addEventListener(\"click\", this.hideContext);\n    }, 0);\n  }\n\n  componentWillUnmount() {\n    global.removeEventListener(\"click\", this.hideContext);\n  }\n\n  onClick(event) {\n    // Eat all clicks on the context menu so they don't bubble up to window.\n    // This prevents the context menu from closing when clicking disabled items\n    // or the separators.\n    event.stopPropagation();\n  }\n\n  render() {\n    return (<span className=\"context-menu\" onClick={this.onClick}>\n      <ul role=\"menu\" className=\"context-menu-list\">\n        {this.props.options.map((option, i) => (option.type === \"separator\" ?\n          (<li key={i} className=\"separator\" />) :\n          (option.type !== \"empty\" && <ContextMenuItem key={i} option={option} hideContext={this.hideContext} />)\n        ))}\n      </ul>\n    </span>);\n  }\n}\n\nexport class ContextMenuItem extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n    this.onKeyDown = this.onKeyDown.bind(this);\n  }\n\n  onClick() {\n    this.props.hideContext();\n    this.props.option.onClick();\n  }\n\n  onKeyDown(event) {\n    const {option} = this.props;\n    switch (event.key) {\n      case \"Tab\":\n        // tab goes down in context menu, shift + tab goes up in context menu\n        // if we're on the last item, one more tab will close the context menu\n        // similarly, if we're on the first item, one more shift + tab will close it\n        if ((event.shiftKey && option.first) || (!event.shiftKey && option.last)) {\n          this.props.hideContext();\n        }\n        break;\n      case \"Enter\":\n        this.props.hideContext();\n        option.onClick();\n        break;\n    }\n  }\n\n  render() {\n    const {option} = this.props;\n    return (\n      <li role=\"menuitem\" className=\"context-menu-item\">\n        <a onClick={this.onClick} onKeyDown={this.onKeyDown} tabIndex=\"0\" className={option.disabled ? \"disabled\" : \"\"}>\n          {option.icon && <span className={`icon icon-spacer icon-${option.icon}`} />}\n          {option.label}\n        </a>\n      </li>);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","import {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {ErrorBoundary} from \"content-src/components/ErrorBoundary/ErrorBoundary\";\nimport React from \"react\";\nimport {SectionMenu} from \"content-src/components/SectionMenu/SectionMenu\";\nimport {SectionMenuOptions} from \"content-src/lib/section-menu-options\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\nfunction getFormattedMessage(message) {\n  return typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />;\n}\n\nexport class Disclaimer extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onAcknowledge = this.onAcknowledge.bind(this);\n  }\n\n  onAcknowledge() {\n    this.props.dispatch(ac.SetPref(this.props.disclaimerPref, false));\n    this.props.dispatch(ac.UserEvent({event: \"DISCLAIMER_ACKED\", source: this.props.eventSource}));\n  }\n\n  render() {\n    const {disclaimer} = this.props;\n    return (\n      <div className=\"section-disclaimer\">\n          <div className=\"section-disclaimer-text\">\n            {getFormattedMessage(disclaimer.text)}\n            {disclaimer.link &&\n              <a href={disclaimer.link.href} target=\"_blank\" rel=\"noopener noreferrer\">\n                {getFormattedMessage(disclaimer.link.title || disclaimer.link)}\n              </a>\n            }\n          </div>\n\n          <button onClick={this.onAcknowledge}>\n            {getFormattedMessage(disclaimer.button)}\n          </button>\n      </div>\n    );\n  }\n}\n\nexport const DisclaimerIntl = injectIntl(Disclaimer);\n\nexport class _CollapsibleSection extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onBodyMount = this.onBodyMount.bind(this);\n    this.onHeaderClick = this.onHeaderClick.bind(this);\n    this.onTransitionEnd = this.onTransitionEnd.bind(this);\n    this.enableOrDisableAnimation = this.enableOrDisableAnimation.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuButtonMouseEnter = this.onMenuButtonMouseEnter.bind(this);\n    this.onMenuButtonMouseLeave = this.onMenuButtonMouseLeave.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n    this.state = {enableAnimation: true, isAnimating: false, menuButtonHover: false, showContextMenu: false};\n  }\n\n  componentWillMount() {\n    this.props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  componentWillUpdate(nextProps) {\n    // Check if we're about to go from expanded to collapsed\n    if (!this.props.collapsed && nextProps.collapsed) {\n      // This next line forces a layout flush of the section body, which has a\n      // max-height style set, so that the upcoming collapse animation can\n      // animate from that height to the collapsed height. Without this, the\n      // update is coalesced and there's no animation from no-max-height to 0.\n      this.sectionBody.scrollHeight; // eslint-disable-line no-unused-expressions\n    }\n  }\n\n  componentWillUnmount() {\n    this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  enableOrDisableAnimation() {\n    // Only animate the collapse/expand for visible tabs.\n    const visible = this.props.document.visibilityState === VISIBLE;\n    if (this.state.enableAnimation !== visible) {\n      this.setState({enableAnimation: visible});\n    }\n  }\n\n  onBodyMount(node) {\n    this.sectionBody = node;\n  }\n\n  onHeaderClick() {\n    // If this.sectionBody is unset, it means that we're in some sort of error\n    // state, probably displaying the error fallback, so we won't be able to\n    // compute the height, and we don't want to persist the preference.\n    // If props.collapsed is undefined handler shouldn't do anything.\n    if (!this.sectionBody || this.props.collapsed === undefined) {\n      return;\n    }\n\n    // Get the current height of the body so max-height transitions can work\n    this.setState({\n      isAnimating: true,\n      maxHeight: `${this.sectionBody.scrollHeight}px`\n    });\n    const {action, userEvent} = SectionMenuOptions.CheckCollapsed(this.props);\n    this.props.dispatch(action);\n    this.props.dispatch(ac.UserEvent({\n      event: userEvent,\n      source: this.props.source\n    }));\n  }\n\n  onTransitionEnd(event) {\n    // Only update the animating state for our own transition (not a child's)\n    if (event.target === event.currentTarget) {\n      this.setState({isAnimating: false});\n    }\n  }\n\n  renderIcon() {\n    const {icon} = this.props;\n    if (icon && icon.startsWith(\"moz-extension://\")) {\n      return <span className=\"icon icon-small-spacer\" style={{backgroundImage: `url('${icon}')`}} />;\n    }\n    return <span className={`icon icon-small-spacer icon-${icon || \"webextension\"}`} />;\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuButtonMouseEnter() {\n    this.setState({menuButtonHover: true});\n  }\n\n  onMenuButtonMouseLeave() {\n    this.setState({menuButtonHover: false});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const isCollapsible = this.props.collapsed !== undefined;\n    const {enableAnimation, isAnimating, maxHeight, menuButtonHover, showContextMenu} = this.state;\n    const {id, eventSource, collapsed, disclaimer, title, extraMenuOptions, showPrefName, privacyNoticeURL, dispatch, isFirst, isLast} = this.props;\n    const disclaimerPref = `section.${id}.showDisclaimer`;\n    const needsDisclaimer = disclaimer && this.props.Prefs.values[disclaimerPref];\n    const active = menuButtonHover || showContextMenu;\n\n    return (\n      <section className={`collapsible-section ${this.props.className}${enableAnimation ? \" animation-enabled\" : \"\"}${collapsed ? \" collapsed\" : \"\"}${active ? \" active\" : \"\"}`}>\n        <div className=\"section-top-bar\">\n          <h3 className=\"section-title\">\n            <span className=\"click-target\" onClick={this.onHeaderClick}>\n              {this.renderIcon()}\n              {getFormattedMessage(title)}\n              {isCollapsible && <span className={`collapsible-arrow icon ${collapsed ? \"icon-arrowhead-forward-small\" : \"icon-arrowhead-down-small\"}`} />}\n            </span>\n          </h3>\n          <div>\n            <button\n              className=\"context-menu-button icon\"\n              onClick={this.onMenuButtonClick}\n              onMouseEnter={this.onMenuButtonMouseEnter}\n              onMouseLeave={this.onMenuButtonMouseLeave}>\n              <span className=\"sr-only\">\n                <FormattedMessage id=\"section_context_menu_button_sr\" />\n              </span>\n            </button>\n            {showContextMenu &&\n              <SectionMenu\n                id={id}\n                extraOptions={extraMenuOptions}\n                eventSource={eventSource}\n                showPrefName={showPrefName}\n                privacyNoticeURL={privacyNoticeURL}\n                collapsed={collapsed}\n                onUpdate={this.onMenuUpdate}\n                isFirst={isFirst}\n                isLast={isLast}\n                dispatch={dispatch} />\n            }\n          </div>\n        </div>\n        <ErrorBoundary className=\"section-body-fallback\">\n          <div\n            className={`section-body${isAnimating ? \" animating\" : \"\"}`}\n            onTransitionEnd={this.onTransitionEnd}\n            ref={this.onBodyMount}\n            style={isAnimating && !collapsed ? {maxHeight} : null}>\n            {needsDisclaimer && <DisclaimerIntl disclaimerPref={disclaimerPref} disclaimer={disclaimer} eventSource={eventSource} dispatch={this.props.dispatch} />}\n            {this.props.children}\n          </div>\n        </ErrorBoundary>\n      </section>\n    );\n  }\n}\n\n_CollapsibleSection.defaultProps = {\n  document: global.document || {\n    addEventListener: () => {},\n    removeEventListener: () => {},\n    visibilityState: \"hidden\"\n  },\n  Prefs: {values: {}}\n};\n\nexport const CollapsibleSection = injectIntl(_CollapsibleSection);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\n/**\n * List of functions that return items that can be included as menu options in a\n * SectionMenu. All functions take the section as the only parameter.\n */\nexport const SectionMenuOptions = {\n  Separator: () => ({type: \"separator\"}),\n  MoveUp: section => ({\n    id: \"section_menu_action_move_up\",\n    icon: \"arrowhead-up\",\n    action: ac.OnlyToMain({\n      type: at.SECTION_MOVE,\n      data: {id: section.id, direction: -1}\n    }),\n    userEvent: \"MENU_MOVE_UP\",\n    disabled: !!section.isFirst\n  }),\n  MoveDown: section => ({\n    id: \"section_menu_action_move_down\",\n    icon: \"arrowhead-down\",\n    action: ac.OnlyToMain({\n      type: at.SECTION_MOVE,\n      data: {id: section.id, direction: +1}\n    }),\n    userEvent: \"MENU_MOVE_DOWN\",\n    disabled: !!section.isLast\n  }),\n  RemoveSection: section => ({\n    id: \"section_menu_action_remove_section\",\n    icon: \"dismiss\",\n    action: ac.SetPref(section.showPrefName, false),\n    userEvent: \"MENU_REMOVE\"\n  }),\n  CollapseSection: section => ({\n    id: \"section_menu_action_collapse_section\",\n    icon: \"minimize\",\n    action: ac.OnlyToMain({type: at.UPDATE_SECTION_PREFS, data: {id: section.id, value: {collapsed: true}}}),\n    userEvent: \"MENU_COLLAPSE\"\n  }),\n  ExpandSection: section => ({\n    id: \"section_menu_action_expand_section\",\n    icon: \"maximize\",\n    action: ac.OnlyToMain({type: at.UPDATE_SECTION_PREFS, data: {id: section.id, value: {collapsed: false}}}),\n    userEvent: \"MENU_EXPAND\"\n  }),\n  ManageSection: section => ({\n    id: \"section_menu_action_manage_section\",\n    icon: \"settings\",\n    action: ac.OnlyToMain({type: at.SETTINGS_OPEN}),\n    userEvent: \"MENU_MANAGE\"\n  }),\n  AddTopSite: section => ({\n    id: \"section_menu_action_add_topsite\",\n    icon: \"add\",\n    action: {type: at.TOP_SITES_EDIT, data: {index: -1}},\n    userEvent: \"MENU_ADD_TOPSITE\"\n  }),\n  PrivacyNotice: section => ({\n    id: \"section_menu_action_privacy_notice\",\n    icon: \"info\",\n    action: ac.OnlyToMain({\n      type: at.OPEN_LINK,\n      data: {url: section.privacyNoticeURL}\n    }),\n    userEvent: \"MENU_PRIVACY_NOTICE\"\n  }),\n  CheckCollapsed: section => (section.collapsed ? SectionMenuOptions.ExpandSection(section) : SectionMenuOptions.CollapseSection(section))\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/section-menu-options.js","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {perfService as perfSvc} from \"common/PerfService.jsm\";\nimport React from \"react\";\n\n// Currently record only a fixed set of sections. This will prevent data\n// from custom sections from showing up or from topstories.\nconst RECORDED_SECTIONS = [\"highlights\", \"topsites\"];\n\nexport class ComponentPerfTimer extends React.Component {\n  constructor(props) {\n    super(props);\n    // Just for test dependency injection:\n    this.perfSvc = this.props.perfSvc || perfSvc;\n\n    this._sendBadStateEvent = this._sendBadStateEvent.bind(this);\n    this._sendPaintedEvent = this._sendPaintedEvent.bind(this);\n    this._reportMissingData = false;\n    this._timestampHandled = false;\n    this._recordedFirstRender = false;\n  }\n\n  componentDidMount() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  componentDidUpdate() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  /**\n   * Call the given callback after the upcoming frame paints.\n   *\n   * @note Both setTimeout and requestAnimationFrame are throttled when the page\n   * is hidden, so this callback may get called up to a second or so after the\n   * requestAnimationFrame \"paint\" for hidden tabs.\n   *\n   * Newtabs hidden while loading will presumably be fairly rare (other than\n   * preloaded tabs, which we will be filtering out on the server side), so such\n   * cases should get lost in the noise.\n   *\n   * If we decide that it's important to find out when something that's hidden\n   * has \"painted\", however, another option is to post a message to this window.\n   * That should happen even faster than setTimeout, and, at least as of this\n   * writing, it's not throttled in hidden windows in Firefox.\n   *\n   * @param {Function} callback\n   *\n   * @returns void\n   */\n  _afterFramePaint(callback) {\n    requestAnimationFrame(() => setTimeout(callback, 0));\n  }\n\n  _maybeSendBadStateEvent() {\n    // Follow up bugs:\n    // https://github.com/mozilla/activity-stream/issues/3691\n    if (!this.props.initialized) {\n      // Remember to report back when data is available.\n      this._reportMissingData = true;\n    } else if (this._reportMissingData) {\n      this._reportMissingData = false;\n      // Report how long it took for component to become initialized.\n      this._sendBadStateEvent();\n    }\n  }\n\n  _maybeSendPaintedEvent() {\n    // If we've already handled a timestamp, don't do it again.\n    if (this._timestampHandled || !this.props.initialized) {\n      return;\n    }\n\n    // And if we haven't, we're doing so now, so remember that. Even if\n    // something goes wrong in the callback, we can't try again, as we'd be\n    // sending back the wrong data, and we have to do it here, so that other\n    // calls to this method while waiting for the next frame won't also try to\n    // handle it.\n    this._timestampHandled = true;\n    this._afterFramePaint(this._sendPaintedEvent);\n  }\n\n  /**\n   * Triggered by call to render. Only first call goes through due to\n   * `_recordedFirstRender`.\n   */\n  _ensureFirstRenderTsRecorded() {\n    // Used as t0 for recording how long component took to initialize.\n    if (!this._recordedFirstRender) {\n      this._recordedFirstRender = true;\n      // topsites_first_render_ts, highlights_first_render_ts.\n      const key = `${this.props.id}_first_render_ts`;\n      this.perfSvc.mark(key);\n    }\n  }\n\n  /**\n   * Creates `TELEMETRY_UNDESIRED_EVENT` with timestamp in ms\n   * of how much longer the data took to be ready for display than it would\n   * have been the ideal case.\n   * https://github.com/mozilla/ping-centre/issues/98\n   */\n  _sendBadStateEvent() {\n    // highlights_data_ready_ts, topsites_data_ready_ts.\n    const dataReadyKey = `${this.props.id}_data_ready_ts`;\n    this.perfSvc.mark(dataReadyKey);\n\n    try {\n      const firstRenderKey = `${this.props.id}_first_render_ts`;\n      // value has to be Int32.\n      const value = parseInt(this.perfSvc.getMostRecentAbsMarkStartByName(dataReadyKey) -\n                             this.perfSvc.getMostRecentAbsMarkStartByName(firstRenderKey), 10);\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        // highlights_data_late_by_ms, topsites_data_late_by_ms.\n        data: {[`${this.props.id}_data_late_by_ms`]: value}\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.\n    }\n  }\n\n  _sendPaintedEvent() {\n    // Record first_painted event but only send if topsites.\n    if (this.props.id !== \"topsites\") {\n      return;\n    }\n\n    // topsites_first_painted_ts.\n    const key = `${this.props.id}_first_painted_ts`;\n    this.perfSvc.mark(key);\n\n    try {\n      const data = {};\n      data[key] = this.perfSvc.getMostRecentAbsMarkStartByName(key);\n\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        data\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.  We should at least not blow up, and should continue\n      // to set this._timestampHandled to avoid going through this again.\n    }\n  }\n\n  render() {\n    if (RECORDED_SECTIONS.includes(this.props.id)) {\n      this._ensureFirstRenderTsRecorded();\n      this._maybeSendBadStateEvent();\n    }\n    return this.props.children;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","/* globals Services */\n\"use strict\";\n\n/* istanbul ignore if */\nif (typeof ChromeUtils !== \"undefined\") {\n  ChromeUtils.import(\"resource://gre/modules/Services.jsm\");\n}\n\nlet usablePerfObj;\n\n/* istanbul ignore if */\n/* istanbul ignore else */\nif (typeof Services !== \"undefined\") {\n  // Borrow the high-resolution timer from the hidden window....\n  usablePerfObj = Services.appShell.hiddenDOMWindow.performance;\n} else if (typeof performance !== \"undefined\") {\n  // we must be running in content space\n  // eslint-disable-next-line no-undef\n  usablePerfObj = performance;\n} else {\n  // This is a dummy object so this file doesn't crash in the node prerendering\n  // task.\n  usablePerfObj = {\n    now() {},\n    mark() {}\n  };\n}\n\nfunction _PerfService(options) {\n  // For testing, so that we can use a fake Window.performance object with\n  // known state.\n  if (options && options.performanceObj) {\n    this._perf = options.performanceObj;\n  } else {\n    this._perf = usablePerfObj;\n  }\n}\n\n_PerfService.prototype = {\n  /**\n   * Calls the underlying mark() method on the appropriate Window.performance\n   * object to add a mark with the given name to the appropriate performance\n   * timeline.\n   *\n   * @param  {String} name  the name to give the current mark\n   * @return {void}\n   */\n  mark: function mark(str) {\n    this._perf.mark(str);\n  },\n\n  /**\n   * Calls the underlying getEntriesByName on the appropriate Window.performance\n   * object.\n   *\n   * @param  {String} name\n   * @param  {String} type eg \"mark\"\n   * @return {Array}       Performance* objects\n   */\n  getEntriesByName: function getEntriesByName(name, type) {\n    return this._perf.getEntriesByName(name, type);\n  },\n\n  /**\n   * The timeOrigin property from the appropriate performance object.\n   * Used to ensure that timestamps from the add-on code and the content code\n   * are comparable.\n   *\n   * @note If this is called from a context without a window\n   * (eg a JSM in chrome), it will return the timeOrigin of the XUL hidden\n   * window, which appears to be the first created window (and thus\n   * timeOrigin) in the browser.  Note also, however, there is also a private\n   * hidden window, presumably for private browsing, which appears to be\n   * created dynamically later.  Exactly how/when that shows up needs to be\n   * investigated.\n   *\n   * @return {Number} A double of milliseconds with a precision of 0.5us.\n   */\n  get timeOrigin() {\n    return this._perf.timeOrigin;\n  },\n\n  /**\n   * Returns the \"absolute\" version of performance.now(), i.e. one that\n   * should ([bug 1401406](https://bugzilla.mozilla.org/show_bug.cgi?id=1401406)\n   * be comparable across both chrome and content.\n   *\n   * @return {Number}\n   */\n  absNow: function absNow() {\n    return this.timeOrigin + this._perf.now();\n  },\n\n  /**\n   * This returns the absolute startTime from the most recent performance.mark()\n   * with the given name.\n   *\n   * @param  {String} name  the name to lookup the start time for\n   *\n   * @return {Number}       the returned start time, as a DOMHighResTimeStamp\n   *\n   * @throws {Error}        \"No Marks with the name ...\" if none are available\n   *\n   * @note Always surround calls to this by try/catch.  Otherwise your code\n   * may fail when the `privacy.resistFingerprinting` pref is true.  When\n   * this pref is set, all attempts to get marks will likely fail, which will\n   * cause this method to throw.\n   *\n   * See [bug 1369303](https://bugzilla.mozilla.org/show_bug.cgi?id=1369303)\n   * for more info.\n   */\n  getMostRecentAbsMarkStartByName(name) {\n    let entries = this.getEntriesByName(name, \"mark\");\n\n    if (!entries.length) {\n      throw new Error(`No marks with the name ${name}`);\n    }\n\n    let mostRecentEntry = entries[entries.length - 1];\n    return this._perf.timeOrigin + mostRecentEntry.startTime;\n  }\n};\n\nthis.perfService = new _PerfService();\nconst EXPORTED_SYMBOLS = [\"_PerfService\", \"perfService\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/PerfService.jsm","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {\n  MIN_CORNER_FAVICON_SIZE,\n  MIN_RICH_FAVICON_SIZE,\n  TOP_SITES_CONTEXT_MENU_OPTIONS,\n  TOP_SITES_SOURCE\n} from \"./TopSitesConstants\";\nimport {LinkMenu} from \"content-src/components/LinkMenu/LinkMenu\";\nimport React from \"react\";\nimport {TOP_SITES_MAX_SITES_PER_ROW} from \"common/Reducers.jsm\";\n\nexport class TopSiteLink extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onDragEvent = this.onDragEvent.bind(this);\n  }\n\n  /*\n   * Helper to determine whether the drop zone should allow a drop. We only allow\n   * dropping top sites for now.\n   */\n  _allowDrop(e) {\n    return e.dataTransfer.types.includes(\"text/topsite-index\");\n  }\n\n  onDragEvent(event) {\n    switch (event.type) {\n      case \"click\":\n        // Stop any link clicks if we started any dragging\n        if (this.dragged) {\n          event.preventDefault();\n        }\n        break;\n      case \"dragstart\":\n        this.dragged = true;\n        event.dataTransfer.effectAllowed = \"move\";\n        event.dataTransfer.setData(\"text/topsite-index\", this.props.index);\n        event.target.blur();\n        this.props.onDragEvent(event, this.props.index, this.props.link, this.props.title);\n        break;\n      case \"dragend\":\n        this.props.onDragEvent(event);\n        break;\n      case \"dragenter\":\n      case \"dragover\":\n      case \"drop\":\n        if (this._allowDrop(event)) {\n          event.preventDefault();\n          this.props.onDragEvent(event, this.props.index);\n        }\n        break;\n      case \"mousedown\":\n        // Reset at the first mouse event of a potential drag\n        this.dragged = false;\n        break;\n    }\n  }\n\n  render() {\n    const {children, className, defaultStyle, isDraggable, link, onClick, title} = this.props;\n    const topSiteOuterClassName = `top-site-outer${className ? ` ${className}` : \"\"}${link.isDragged ? \" dragged\" : \"\"}`;\n    const {tippyTopIcon, faviconSize} = link;\n    const [letterFallback] = title;\n    let imageClassName;\n    let imageStyle;\n    let showSmallFavicon = false;\n    let smallFaviconStyle;\n    let smallFaviconFallback;\n    if (defaultStyle) { // force no styles (letter fallback) even if the link has imagery\n      smallFaviconFallback = false;\n    } else if (link.customScreenshotURL) {\n      // assume high quality custom screenshot and use rich icon styles and class names\n      imageClassName = \"top-site-icon rich-icon\";\n      imageStyle = {\n        backgroundColor: link.backgroundColor,\n        backgroundImage: `url(${link.screenshot})`\n      };\n    } else if (tippyTopIcon || faviconSize >= MIN_RICH_FAVICON_SIZE) {\n      // styles and class names for top sites with rich icons\n      imageClassName = \"top-site-icon rich-icon\";\n      imageStyle = {\n        backgroundColor: link.backgroundColor,\n        backgroundImage: `url(${tippyTopIcon || link.favicon})`\n      };\n    } else {\n      // styles and class names for top sites with screenshot + small icon in top left corner\n      imageClassName = `screenshot${link.screenshot ? \" active\" : \"\"}`;\n      imageStyle = {backgroundImage: link.screenshot ? `url(${link.screenshot})` : \"none\"};\n\n      // only show a favicon in top left if it's greater than 16x16\n      if (faviconSize >= MIN_CORNER_FAVICON_SIZE) {\n        showSmallFavicon = true;\n        smallFaviconStyle = {backgroundImage:  `url(${link.favicon})`};\n      } else if (link.screenshot) {\n        // Don't show a small favicon if there is no screenshot, because that\n        // would result in two fallback icons\n        showSmallFavicon = true;\n        smallFaviconFallback = true;\n      }\n    }\n    let draggableProps = {};\n    if (isDraggable) {\n      draggableProps = {\n        onClick: this.onDragEvent,\n        onDragEnd: this.onDragEvent,\n        onDragStart: this.onDragEvent,\n        onMouseDown: this.onDragEvent\n      };\n    }\n    return (<li className={topSiteOuterClassName} onDrop={this.onDragEvent} onDragOver={this.onDragEvent} onDragEnter={this.onDragEvent} onDragLeave={this.onDragEvent} {...draggableProps}>\n      <div className=\"top-site-inner\">\n         <a href={link.url} onClick={onClick}>\n            <div className=\"tile\" aria-hidden={true} data-fallback={letterFallback}>\n              <div className={imageClassName} style={imageStyle} />\n              {showSmallFavicon && <div\n                className=\"top-site-icon default-icon\"\n                data-fallback={smallFaviconFallback && letterFallback}\n                style={smallFaviconStyle} />}\n           </div>\n           <div className={`title ${link.isPinned ? \"pinned\" : \"\"}`}>\n             {link.isPinned && <div className=\"icon icon-pin-small\" />}\n              <span dir=\"auto\">{title}</span>\n           </div>\n         </a>\n         {children}\n      </div>\n    </li>);\n  }\n}\nTopSiteLink.defaultProps = {\n  title: \"\",\n  link: {},\n  isDraggable: true\n};\n\nexport class TopSite extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {showContextMenu: false};\n    this.onLinkClick = this.onLinkClick.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n  }\n\n  /**\n   * Report to telemetry additional information about the item.\n   */\n  _getTelemetryInfo() {\n    const value = {icon_type: this.props.link.iconType};\n    // Filter out \"not_pinned\" type for being the default\n    if (this.props.link.isPinned) {\n      value.card_type = \"pinned\";\n    }\n    return {value};\n  }\n\n  userEvent(event) {\n    this.props.dispatch(ac.UserEvent(Object.assign({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: this.props.index\n    }, this._getTelemetryInfo())));\n  }\n\n  onLinkClick(ev) {\n    this.userEvent(\"CLICK\");\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.props.onActivate(this.props.index);\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const {props} = this;\n    const {link} = props;\n    const isContextMenuOpen = this.state.showContextMenu && props.activeIndex === props.index;\n    const title = link.label || link.hostname;\n    return (<TopSiteLink {...props} onClick={this.onLinkClick} onDragEvent={this.props.onDragEvent} className={`${props.className || \"\"}${isContextMenuOpen ? \" active\" : \"\"}`} title={title}>\n        <div>\n          <button className=\"context-menu-button icon\" onClick={this.onMenuButtonClick}>\n            <span className=\"sr-only\">\n              <FormattedMessage id=\"context_menu_button_sr\" values={{title}} />\n            </span>\n          </button>\n          {isContextMenuOpen &&\n            <LinkMenu\n              dispatch={props.dispatch}\n              index={props.index}\n              onUpdate={this.onMenuUpdate}\n              options={TOP_SITES_CONTEXT_MENU_OPTIONS}\n              site={link}\n              siteInfo={this._getTelemetryInfo()}\n              source={TOP_SITES_SOURCE} />\n          }\n        </div>\n    </TopSiteLink>);\n  }\n}\nTopSite.defaultProps = {\n  link: {},\n  onActivate() {}\n};\n\nexport class TopSitePlaceholder extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onEditButtonClick = this.onEditButtonClick.bind(this);\n  }\n\n  onEditButtonClick() {\n    this.props.dispatch(\n      {type: at.TOP_SITES_EDIT, data: {index: this.props.index}});\n  }\n\n  render() {\n    return (<TopSiteLink {...this.props} className={`placeholder ${this.props.className || \"\"}`} isDraggable={false}>\n      <button className=\"context-menu-button edit-button icon\"\n       title={this.props.intl.formatMessage({id: \"edit_topsites_edit_button\"})}\n       onClick={this.onEditButtonClick} />\n    </TopSiteLink>);\n  }\n}\n\nexport class _TopSiteList extends React.PureComponent {\n  static get DEFAULT_STATE() {\n    return {\n      activeIndex: null,\n      draggedIndex: null,\n      draggedSite: null,\n      draggedTitle: null,\n      topSitesPreview: null\n    };\n  }\n\n  constructor(props) {\n    super(props);\n    this.state = _TopSiteList.DEFAULT_STATE;\n    this.onDragEvent = this.onDragEvent.bind(this);\n    this.onActivate = this.onActivate.bind(this);\n  }\n\n  componentWillReceiveProps(nextProps) {\n    if (this.state.draggedSite) {\n      const prevTopSites = this.props.TopSites && this.props.TopSites.rows;\n      const newTopSites = nextProps.TopSites && nextProps.TopSites.rows;\n      if (prevTopSites && prevTopSites[this.state.draggedIndex] &&\n        prevTopSites[this.state.draggedIndex].url === this.state.draggedSite.url &&\n        (!newTopSites[this.state.draggedIndex] || newTopSites[this.state.draggedIndex].url !== this.state.draggedSite.url)) {\n        // We got the new order from the redux store via props. We can clear state now.\n        this.setState(_TopSiteList.DEFAULT_STATE);\n      }\n    }\n  }\n\n  userEvent(event, index) {\n    this.props.dispatch(ac.UserEvent({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: index\n    }));\n  }\n\n  onDragEvent(event, index, link, title) {\n    switch (event.type) {\n      case \"dragstart\":\n        this.dropped = false;\n        this.setState({\n          draggedIndex: index,\n          draggedSite: link,\n          draggedTitle: title,\n          activeIndex: null\n        });\n        this.userEvent(\"DRAG\", index);\n        break;\n      case \"dragend\":\n        if (!this.dropped) {\n          // If there was no drop event, reset the state to the default.\n          this.setState(_TopSiteList.DEFAULT_STATE);\n        }\n        break;\n      case \"dragenter\":\n        if (index === this.state.draggedIndex) {\n          this.setState({topSitesPreview: null});\n        } else {\n          this.setState({topSitesPreview: this._makeTopSitesPreview(index)});\n        }\n        break;\n      case \"drop\":\n        if (index !== this.state.draggedIndex) {\n          this.dropped = true;\n          this.props.dispatch(ac.AlsoToMain({\n            type: at.TOP_SITES_INSERT,\n            data: {\n              site: {\n                url: this.state.draggedSite.url,\n                label: this.state.draggedTitle,\n                customScreenshotURL: this.state.draggedSite.customScreenshotURL\n              },\n              index,\n              draggedFromIndex: this.state.draggedIndex\n            }\n          }));\n          this.userEvent(\"DROP\", index);\n        }\n        break;\n    }\n  }\n\n  _getTopSites() {\n    // Make a copy of the sites to truncate or extend to desired length\n    let topSites = this.props.TopSites.rows.slice();\n    topSites.length = this.props.TopSitesRows * TOP_SITES_MAX_SITES_PER_ROW;\n    return topSites;\n  }\n\n  /**\n   * Make a preview of the topsites that will be the result of dropping the currently\n   * dragged site at the specified index.\n   */\n  _makeTopSitesPreview(index) {\n    const topSites = this._getTopSites();\n    topSites[this.state.draggedIndex] = null;\n    const pinnedOnly = topSites.map(site => ((site && site.isPinned) ? site : null));\n    const unpinned = topSites.filter(site => site && !site.isPinned);\n    const siteToInsert = Object.assign({}, this.state.draggedSite, {isPinned: true, isDragged: true});\n    if (!pinnedOnly[index]) {\n      pinnedOnly[index] = siteToInsert;\n    } else {\n      // Find the hole to shift the pinned site(s) towards. We shift towards the\n      // hole left by the site being dragged.\n      let holeIndex = index;\n      const indexStep = index > this.state.draggedIndex ? -1 : 1;\n      while (pinnedOnly[holeIndex]) {\n        holeIndex += indexStep;\n      }\n\n      // Shift towards the hole.\n      const shiftingStep = index > this.state.draggedIndex ? 1 : -1;\n      while (holeIndex !== index) {\n        const nextIndex = holeIndex + shiftingStep;\n        pinnedOnly[holeIndex] = pinnedOnly[nextIndex];\n        holeIndex = nextIndex;\n      }\n      pinnedOnly[index] = siteToInsert;\n    }\n\n    // Fill in the remaining holes with unpinned sites.\n    const preview = pinnedOnly;\n    for (let i = 0; i < preview.length; i++) {\n      if (!preview[i]) {\n        preview[i] = unpinned.shift() || null;\n      }\n    }\n\n    return preview;\n  }\n\n  onActivate(index) {\n    this.setState({activeIndex: index});\n  }\n\n  render() {\n    const {props} = this;\n    const topSites = this.state.topSitesPreview || this._getTopSites();\n    const topSitesUI = [];\n    const commonProps = {\n      onDragEvent: this.onDragEvent,\n      dispatch: props.dispatch,\n      intl: props.intl\n    };\n    // We assign a key to each placeholder slot. We need it to be independent\n    // of the slot index (i below) so that the keys used stay the same during\n    // drag and drop reordering and the underlying DOM nodes are reused.\n    // This mostly (only?) affects linux so be sure to test on linux before changing.\n    let holeIndex = 0;\n\n    // On narrow viewports, we only show 6 sites per row. We'll mark the rest as\n    // .hide-for-narrow to hide in CSS via @media query.\n    const maxNarrowVisibleIndex = props.TopSitesRows * 6;\n\n    for (let i = 0, l = topSites.length; i < l; i++) {\n      const link = topSites[i] && Object.assign({}, topSites[i], {iconType: this.props.topSiteIconType(topSites[i])});\n      const slotProps = {\n        key: link ? link.url : holeIndex++,\n        index: i\n      };\n      if (i >= maxNarrowVisibleIndex) {\n        slotProps.className = \"hide-for-narrow\";\n      }\n      topSitesUI.push(!link ? (\n        <TopSitePlaceholder\n          {...slotProps}\n          {...commonProps} />\n      ) : (\n        <TopSite\n          link={link}\n          activeIndex={this.state.activeIndex}\n          onActivate={this.onActivate}\n          {...slotProps}\n          {...commonProps} />\n      ));\n    }\n    return (<ul className={`top-sites-list${this.state.draggedSite ? \" dnd-active\" : \"\"}`}>\n      {topSitesUI}\n    </ul>);\n  }\n}\n\nexport const TopSiteList = injectIntl(_TopSiteList);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSite.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {addSnippetsSubscriber} from \"content-src/lib/snippets\";\nimport {Base} from \"content-src/components/Base/Base\";\nimport {DetectUserSessionStart} from \"content-src/lib/detect-user-session-start\";\nimport {initStore} from \"content-src/lib/init-store\";\nimport {Provider} from \"react-redux\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {reducers} from \"common/Reducers.jsm\";\n\nconst store = initStore(reducers, global.gActivityStreamPrerenderedState);\n\nnew DetectUserSessionStart(store).sendEventOrAddListener();\n\n// If we are starting in a prerendered state, we must wait until the first render\n// to request state rehydration (see Base.jsx). If we are NOT in a prerendered state,\n// we can request it immedately.\nif (!global.gActivityStreamPrerenderedState) {\n  store.dispatch(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n}\n\nReactDOM.hydrate(<Provider store={store}>\n  <Base\n    isPrerendered={!!global.gActivityStreamPrerenderedState}\n    locale={global.document.documentElement.lang}\n    strings={global.gActivityStreamStrings} />\n</Provider>, document.getElementById(\"root\"));\n\naddSnippetsSubscriber(store);\n\n