Bug 1426705 - Add responsive layout, React 16 and bug fixes to Activity Stream. r=ursula
☠☠ backed out by 9c9278be5c97 ☠ ☠
authorEd Lee <edilee@mozilla.com>
Fri, 09 Feb 2018 11:23:51 -0800
changeset 403186 47b8cc3b625ef2f270d37c9d8e4565d384be982d
parent 403185 9c7207731ee192a8d76b4c5662adb585fec45698
child 403187 c94f9e71b32465324634e01ea596bc7708f77bb4
push id59391
push useredilee@gmail.com
push dateFri, 09 Feb 2018 20:16:27 +0000
treeherderautoland@47b8cc3b625e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersursula
bugs1426705
milestone60.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 1426705 - Add responsive layout, React 16 and bug fixes to Activity Stream. r=ursula MozReview-Commit-ID: KHwIWAlAXnC
browser/extensions/activity-stream/common/Reducers.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/jar.mn
browser/extensions/activity-stream/lib/ActivityStream.jsm
browser/extensions/activity-stream/lib/TelemetryFeed.jsm
browser/extensions/activity-stream/lib/TopSitesFeed.jsm
browser/extensions/activity-stream/lib/UTEventReporting.jsm
browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/az/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/az/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/be/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/be/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/br/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/br/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-strings.js
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/cak/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/cak/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/da/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/da/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/de/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/de/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/el/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/el/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/et/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/et/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fa/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/fa/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/fi/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/gl/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/gu-IN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/he/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/he/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/hr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/id/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/id/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/it/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/it/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/km/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/km/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/my/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/my/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/si/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/si/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/te/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/te/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/th/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/th/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/static/activity-stream-prerendered-debug.html
browser/extensions/activity-stream/test/schemas/pings.js
browser/extensions/activity-stream/test/unit/activity-stream-prerender.test.jsx
browser/extensions/activity-stream/test/unit/lib/ActivityStreamMessageChannel.test.js
browser/extensions/activity-stream/test/unit/lib/FilterAdult.test.js
browser/extensions/activity-stream/test/unit/lib/PlacesFeed.test.js
browser/extensions/activity-stream/test/unit/lib/SectionsManager.test.js
browser/extensions/activity-stream/test/unit/lib/TelemetryFeed.test.js
browser/extensions/activity-stream/test/unit/lib/TopSitesFeed.test.js
browser/extensions/activity-stream/test/unit/lib/TopStoriesFeed.test.js
browser/extensions/activity-stream/test/unit/lib/UTEventReporting.test.js
browser/extensions/activity-stream/test/unit/lib/UserDomainAffinityProvider.test.js
browser/extensions/activity-stream/test/unit/unit-entry.js
browser/extensions/activity-stream/vendor/REACT_AND_REACT_DOM_LICENSE
browser/extensions/activity-stream/vendor/react-dev.js
browser/extensions/activity-stream/vendor/react-dom-dev.js
browser/extensions/activity-stream/vendor/react-dom.js
browser/extensions/activity-stream/vendor/react.js
--- a/browser/extensions/activity-stream/common/Reducers.jsm
+++ b/browser/extensions/activity-stream/common/Reducers.jsm
@@ -1,18 +1,18 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 const {actionTypes: at} = ChromeUtils.import("resource://activity-stream/common/Actions.jsm", {});
 const {Dedupe} = ChromeUtils.import("resource://activity-stream/common/Dedupe.jsm", {});
 
-const TOP_SITES_DEFAULT_ROWS = 2;
-const TOP_SITES_MAX_SITES_PER_ROW = 6;
+const TOP_SITES_DEFAULT_ROWS = 1;
+const TOP_SITES_MAX_SITES_PER_ROW = 8;
 
 const dedupe = new Dedupe(site => site && site.url);
 
 const INITIAL_STATE = {
   App: {
     // Have we received real data from the app yet?
     initialized: false,
     // The version of the system-addon
--- a/browser/extensions/activity-stream/css/activity-stream-linux.css
+++ b/browser/extensions/activity-stream/css/activity-stream-linux.css
@@ -205,96 +205,118 @@ a {
   padding: 40px 32px 32px; }
   .outer-wrapper.fixed-to-top {
     height: auto; }
 
 main {
   margin: auto;
   padding-bottom: 48px;
   width: 224px; }
-  @media (min-width: 416px) {
+  @media (min-width: 432px) {
     main {
       width: 352px; } }
-  @media (min-width: 544px) {
+  @media (min-width: 560px) {
     main {
       width: 480px; } }
-  @media (min-width: 800px) {
+  @media (min-width: 816px) {
     main {
       width: 736px; } }
   main section {
     margin-bottom: 40px;
     position: relative; }
 
+@media (min-width: 1072px) {
+  .wide-layout-enabled main {
+    width: 992px; } }
+
 .section-top-bar {
   height: 16px;
   margin-bottom: 16px; }
 
 .section-title {
   font-size: 13px;
   font-weight: bold;
   text-transform: uppercase; }
   .section-title span {
     color: #737373;
     fill: #737373;
     vertical-align: middle; }
 
+.base-content-fallback {
+  height: 100vh; }
+
 
 .body-wrapper .section-title,
 .body-wrapper .sections-list .section:last-of-type,
 .body-wrapper .topic {
   opacity: 0; }
 
 
 .body-wrapper.on .section-title,
 .body-wrapper.on .sections-list .section:last-of-type,
 .body-wrapper.on .topic {
   opacity: 1; }
 
+.as-error-fallback {
+  align-items: center;
+  border-radius: 3px;
+  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
+  color: #4A4A4F;
+  display: flex;
+  flex-direction: column;
+  font-size: 12px;
+  justify-content: center;
+  justify-items: center;
+  line-height: 1.5; }
+  .as-error-fallback a {
+    color: #4A4A4F;
+    text-decoration: underline; }
+
 .top-sites-list {
   list-style: none;
   margin: 0 -16px;
   margin-bottom: -18px;
   padding: 0; }
-  @media (max-width: 416px) {
+  @media (max-width: 432px) {
     .top-sites-list :nth-child(2n+1) .context-menu {
       margin-inline-end: auto;
       margin-inline-start: auto;
       offset-inline-end: auto;
       offset-inline-start: -32px; }
     .top-sites-list :nth-child(2n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 416px) and (max-width: 544px) {
+  @media (min-width: 432px) and (max-width: 560px) {
     .top-sites-list :nth-child(3n+2) .context-menu,
     .top-sites-list :nth-child(3n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 544px) and (max-width: 800px) {
+  @media (min-width: 560px) and (max-width: 816px) {
     .top-sites-list :nth-child(4n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 544px) and (max-width: 768px) {
+  @media (min-width: 560px) and (max-width: 784px) {
     .top-sites-list :nth-child(4n+3) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 800px) and (max-width: 1248px) {
+  @media (min-width: 816px) and (max-width: 1264px) {
     .top-sites-list :nth-child(6n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 800px) and (max-width: 1024px) {
+  @media (min-width: 816px) and (max-width: 1040px) {
     .top-sites-list :nth-child(6n+5) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
   .top-sites-list li {
     display: inline-block;
     margin: 0 0 8px; }
@@ -407,23 +429,51 @@ main {
       .top-sites-list .top-site-outer .title.pinned span {
         padding: 0 13px; }
     .top-sites-list .top-site-outer .edit-button {
       background-image: url("../data/content/assets/glyph-edit-16.svg"); }
     .top-sites-list .top-site-outer.placeholder .tile {
       box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1); }
     .top-sites-list .top-site-outer.placeholder .screenshot {
       display: none; }
+    .top-sites-list .top-site-outer.dragged .tile {
+      background: #EDEDF0;
+      box-shadow: none; }
+      .top-sites-list .top-site-outer.dragged .tile * {
+        display: none; }
+    .top-sites-list .top-site-outer.dragged .title {
+      visibility: hidden; }
   .top-sites-list:not(.dnd-active) .top-site-outer:-moz-any(.active, :focus, :hover) .tile {
     box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 0 5px #D7D7DB;
     transition: box-shadow 150ms; }
   .top-sites-list:not(.dnd-active) .top-site-outer:-moz-any(.active, :focus, :hover) .context-menu-button {
     opacity: 1;
     transform: scale(1); }
 
+.wide-layout-disabled .top-sites-list .hide-for-narrow {
+  display: none; }
+
+@media (min-width: 1072px) and (max-width: 1520px) {
+  .wide-layout-enabled .top-sites-list :nth-child(8n) .context-menu {
+    margin-inline-end: 5px;
+    margin-inline-start: auto;
+    offset-inline-end: 0;
+    offset-inline-start: auto; } }
+
+@media (min-width: 1072px) and (max-width: 1296px) {
+  .wide-layout-enabled .top-sites-list :nth-child(8n+7) .context-menu {
+    margin-inline-end: 5px;
+    margin-inline-start: auto;
+    offset-inline-end: 0;
+    offset-inline-start: auto; } }
+
+@media not all and (min-width: 1072px) {
+  .wide-layout-enabled .top-sites-list .hide-for-narrow {
+    display: none; } }
+
 .edit-topsites-wrapper .add-topsites-button {
   border-right: 1px solid #D7D7DB;
   line-height: 13px;
   offset-inline-end: 24px;
   opacity: 0;
   padding: 0 10px;
   pointer-events: none;
   position: absolute;
@@ -520,29 +570,29 @@ main {
     opacity: 1;
     transform: translateY(0); } }
 
 .sections-list .section-list {
   display: grid;
   grid-gap: 32px;
   grid-template-columns: repeat(auto-fit, 224px);
   margin: 0; }
-  @media (max-width: 544px) {
+  @media (max-width: 560px) {
     .sections-list .section-list .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 544px) and (max-width: 800px) {
+  @media (min-width: 560px) and (max-width: 816px) {
     .sections-list .section-list :nth-child(2n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 800px) and (max-width: 1248px) {
+  @media (min-width: 816px) and (max-width: 1264px) {
     .sections-list .section-list :nth-child(3n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
 
 .sections-list .section-empty-state {
   border: 1px solid #D7D7DB;
@@ -564,43 +614,54 @@ main {
       margin: 0 auto;
       width: 50px; }
     .sections-list .section-empty-state .empty-state .empty-state-message {
       color: #737373;
       font-size: 13px;
       margin-bottom: 0;
       text-align: center; }
 
+@media (min-width: 1072px) and (max-width: 1520px) {
+  .wide-layout-enabled .sections-list .section-list :nth-child(3n) .context-menu {
+    margin-inline-end: 5px;
+    margin-inline-start: auto;
+    offset-inline-end: 0;
+    offset-inline-start: auto; } }
+
+@media (min-width: 1072px) {
+  .wide-layout-enabled .sections-list .section-list {
+    grid-template-columns: repeat(auto-fit, 309px); } }
+
 .topic {
   color: #737373;
   font-size: 12px;
   line-height: 1.6;
   margin-top: 12px; }
-  @media (min-width: 800px) {
+  @media (min-width: 816px) {
     .topic {
       line-height: 16px; } }
   .topic ul {
     margin: 0;
     padding: 0; }
-    @media (min-width: 800px) {
+    @media (min-width: 816px) {
       .topic ul {
         display: inline;
         padding-inline-start: 12px; } }
   .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: #008EA4; }
   .topic .topic-read-more {
     color: #008EA4; }
-    @media (min-width: 800px) {
+    @media (min-width: 816px) {
       .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: '';
       -moz-context-properties: fill;
@@ -905,17 +966,17 @@ main {
 
 .card-outer {
   background: #FFF;
   border-radius: 3px;
   display: inline-block;
   height: 266px;
   margin-inline-end: 32px;
   position: relative;
-  width: 224px; }
+  width: 100%; }
   .card-outer .context-menu-button {
     background-clip: padding-box;
     background-color: #FFF;
     background-image: url("chrome://browser/skin/page-action.svg");
     background-position: 55%;
     border: 1px solid #B1B1B3;
     border-radius: 100%;
     box-shadow: 0 2px rgba(12, 12, 13, 0.1);
@@ -942,17 +1003,17 @@ main {
     box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
     height: 100%; }
   .card-outer > a {
     color: inherit;
     display: block;
     height: 100%;
     outline: none;
     position: absolute;
-    width: 224px; }
+    width: 100%; }
     .card-outer > a:-moz-any(.active, :focus) .card {
       box-shadow: 0 0 0 5px #D7D7DB;
       transition: box-shadow 150ms; }
     .card-outer > a:-moz-any(.active, :focus) .card-title {
       color: #0060DF; }
   .card-outer:-moz-any(:hover, :focus, .active):not(.placeholder) {
     box-shadow: 0 0 0 5px #D7D7DB;
     transition: box-shadow 150ms;
@@ -1036,48 +1097,56 @@ main {
     margin-inline-end: 6px; }
   .card-outer .card-context-label {
     flex-grow: 1;
     line-height: 16px;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap; }
 
+@media (min-width: 1072px) {
+  .wide-layout-enabled .card-outer {
+    height: 370px; }
+    .wide-layout-enabled .card-outer .card-preview-image-outer {
+      height: 155px; }
+    .wide-layout-enabled .card-outer .card-text {
+      max-height: 135px; } }
+
 .manual-migration-container {
   color: #4A4A4F;
   font-size: 13px;
   line-height: 15px;
   margin-bottom: 40px;
   text-align: center; }
-  @media (min-width: 544px) {
+  @media (min-width: 560px) {
     .manual-migration-container {
       display: flex;
       justify-content: space-between;
       text-align: left; } }
   .manual-migration-container p {
     margin: 0; }
-    @media (min-width: 544px) {
+    @media (min-width: 560px) {
       .manual-migration-container p {
         align-self: center;
         display: flex;
         justify-content: space-between; } }
   .manual-migration-container .icon {
     display: none; }
-    @media (min-width: 544px) {
+    @media (min-width: 560px) {
       .manual-migration-container .icon {
         align-self: center;
         display: block;
         fill: rgba(12, 12, 13, 0.6);
         margin-inline-end: 6px; } }
 
 .manual-migration-actions {
   border: 0;
   display: block;
   flex-wrap: nowrap; }
-  @media (min-width: 544px) {
+  @media (min-width: 560px) {
     .manual-migration-actions {
       display: flex;
       justify-content: space-between;
       padding: 0; } }
   .manual-migration-actions button {
     align-self: center;
     height: 26px;
     margin: 0;
@@ -1201,23 +1270,23 @@ main {
 
 .collapsible-section .section-disclaimer {
   color: #4A4A4F;
   font-size: 13px;
   margin-bottom: 16px;
   position: relative; }
   .collapsible-section .section-disclaimer .section-disclaimer-text {
     display: inline-block; }
-    @media (min-width: 416px) {
+    @media (min-width: 432px) {
       .collapsible-section .section-disclaimer .section-disclaimer-text {
         width: 224px; } }
-    @media (min-width: 544px) {
+    @media (min-width: 560px) {
       .collapsible-section .section-disclaimer .section-disclaimer-text {
         width: 340px; } }
-    @media (min-width: 800px) {
+    @media (min-width: 816px) {
       .collapsible-section .section-disclaimer .section-disclaimer-text {
         width: 610px; } }
   .collapsible-section .section-disclaimer a {
     color: #008EA4;
     padding-left: 3px; }
   .collapsible-section .section-disclaimer button {
     background: #F9F9FA;
     border: 1px solid #B1B1B3;
@@ -1225,20 +1294,23 @@ main {
     cursor: pointer;
     margin-top: 2px;
     max-width: 130px;
     min-height: 26px;
     offset-inline-end: 0; }
     .collapsible-section .section-disclaimer button:hover:not(.dismiss) {
       box-shadow: 0 0 0 5px #D7D7DB;
       transition: box-shadow 150ms; }
-    @media (min-width: 416px) {
+    @media (min-width: 432px) {
       .collapsible-section .section-disclaimer button {
         position: absolute; } }
 
+.collapsible-section .section-body-fallback {
+  height: 266px; }
+
 .collapsible-section .section-body {
   margin: 0 -7px;
   padding: 0 7px; }
   .collapsible-section .section-body.animating {
     overflow: hidden;
     pointer-events: none; }
 
 .collapsible-section.animation-enabled .section-title .icon-arrowhead-down,
@@ -1252,8 +1324,10 @@ main {
   max-height: 0;
   overflow: hidden; }
 
 .collapsible-section.collapsed .section-info-option {
   pointer-events: none; }
 
 .collapsible-section:not(.collapsed):hover .info-option-icon {
   opacity: 1; }
+
+/*# sourceMappingURL=activity-stream-linux.css.map */
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/css/activity-stream-linux.css.map
@@ -0,0 +1,44 @@
+{
+	"version": 3,
+	"file": "activity-stream-linux.css",
+	"sources": [
+		"../content-src/styles/activity-stream-linux.scss",
+		"../content-src/styles/_activity-stream.scss",
+		"../content-src/styles/_normalize.scss",
+		"../content-src/styles/_variables.scss",
+		"../content-src/styles/_icons.scss",
+		"../content-src/components/Base/_Base.scss",
+		"../content-src/components/ErrorBoundary/_ErrorBoundary.scss",
+		"../content-src/components/TopSites/_TopSites.scss",
+		"../content-src/components/Sections/_Sections.scss",
+		"../content-src/components/Topics/_Topics.scss",
+		"../content-src/components/Search/_Search.scss",
+		"../content-src/components/ContextMenu/_ContextMenu.scss",
+		"../content-src/components/PreferencesPane/_PreferencesPane.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"
+	],
+	"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 './icons';\n\nhtml,\nbody,\n#root { // sass-lint:disable-line no-ids\n  height: 100%;\n}\n\nbody {\n  background: $background-primary;\n  color: $text-primary;\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  color: $link-primary;\n  text-decoration: none;\n\n  &:hover {\n    color: $link-secondary;\n  }\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  button {\n    background-color: $input-secondary;\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      border: 0;\n      padding: 0;\n      text-decoration: underline;\n    }\n\n    &.done {\n      background: $input-primary;\n      border: solid 1px $blue-60;\n      color: $white;\n      margin-inline-start: auto;\n    }\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/PreferencesPane/PreferencesPane';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\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  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-50: #0A84FF;\n$blue-60: #0060DF;\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-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\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// Aliases and derived styles based on Photon colors for common usage\n$background-primary: $grey-10;\n$background-secondary: $grey-20;\n$border-primary: 1px solid $grey-40;\n$border-secondary: 1px solid $grey-30;\n$fill-primary: $grey-90-80;\n$fill-secondary: $grey-90-60;\n$fill-tertiary: $grey-30;\n$input-primary: $blue-60;\n$input-secondary: $grey-10;\n$link-primary: $blue-60;\n$link-secondary: $teal-70;\n$shadow-primary: 0 0 0 5px $grey-30;\n$shadow-secondary: 0 1px 4px 0 $grey-90-10;\n$text-primary: $grey-90;\n$text-conditional: $grey-60;\n$text-secondary: $grey-50;\n$input-border: solid 1px $grey-90-20;\n$input-border-active: solid 1px $grey-90-40;\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: 0 0 0 2px rgba($red-60, 0.35);\n\n$white: #FFF;\n$border-radius: 3px;\n\n$base-gutter: 32px;\n$section-spacing: 40px;\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; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7; // 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-border-color: $black-20;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $context-menu-border-color;\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$inner-box-shadow: 0 0 0 1px $black-10;\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: $white;\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: $fill-primary;\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",
+		".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: $fill-primary;\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-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-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward {\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",
+		".outer-wrapper {\n  display: flex;\n  flex-grow: 1;\n  height: 100%;\n  padding: $section-spacing $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    height: auto;\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.section-top-bar {\n  height: 16px;\n  margin-bottom: 16px;\n}\n\n.section-title {\n  font-size: $section-title-font-size;\n  font-weight: bold;\n  text-transform: uppercase;\n\n  span {\n    color: $text-secondary;\n    fill: $text-secondary;\n    vertical-align: middle;\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",
+		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: $text-conditional;\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: $text-conditional;\n    text-decoration: underline;\n  }\n}\n\n",
+		".top-sites-list {\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  list-style: none;\n  margin: 0 (-$half-base-gutter);\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: -($top-sites-vertical-space + $top-sites-title-height / 3);\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    display: inline-block;\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  // container for drop zone\n  .top-site-outer {\n    padding: 0 $half-base-gutter;\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: $text-secondary;\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: $background-primary;\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: $rich-icon-size;\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      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: $fill-tertiary;\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          display: none;\n        }\n      }\n\n      .title {\n        visibility: hidden;\n      }\n    }\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// 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  .add-topsites-button {\n    border-right: $border-secondary;\n    line-height: 13px;\n    offset-inline-end: 24px;\n    opacity: 0;\n    padding: 0 10px;\n    pointer-events: none;\n    position: absolute;\n    top: 2px;\n    transition: opacity 0.2s $photon-easing;\n\n    &:dir(rtl) {\n      border-left: $border-secondary;\n      border-right: 0;\n    }\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n    }\n\n    button {\n      background: none;\n      border: 0;\n      color: $text-secondary;\n      cursor: pointer;\n      font-size: 12px;\n      padding: 0;\n\n      &:focus {\n        background: $background-secondary;\n        border-bottom: dotted 1px $text-secondary;\n      }\n    }\n  }\n\n  .modal {\n    offset-inline-start: -31px;\n    position: absolute;\n    top: -29px;\n    width: calc(100% + 62px);\n    box-shadow: $shadow-secondary;\n  }\n\n  .edit-topsites-inner-wrapper {\n    margin: 0;\n    padding: 15px 30px;\n  }\n}\n\n.top-sites:not(.collapsed):hover {\n  .add-topsites-button {\n    opacity: 1;\n    pointer-events: auto;\n  }\n}\n\n.topsite-form {\n  .form-wrapper {\n    margin: auto;\n    max-width: 350px;\n    padding: 15px 0;\n\n    .field {\n      position: relative;\n    }\n\n    .url input:not(:placeholder-shown):dir(rtl) {\n      direction: ltr;\n      text-align: right;\n    }\n\n    .section-title {\n      margin-bottom: 5px;\n    }\n\n    input {\n      &[type='text'] {\n        border: $input-border;\n        border-radius: 2px;\n        margin: 5px 0;\n        padding: 7px;\n        width: 100%;\n\n        &:focus {\n          border: $input-border-active;\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\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: $fill-secondary;\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: $text-secondary;\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",
+		".topic {\n  color: $text-secondary;\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: $link-secondary;\n  }\n\n  .topic-read-more {\n    color: $link-secondary;\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: $link-secondary;\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-50;\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  $search-glyph-fill: $grey-90-40;\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    border: 0;\n    border-radius: $search-border-radius;\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    color: inherit;\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: $search-glyph-fill;\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: $search-glyph-fill;\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  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable { // sass-lint:disable-line class-name-format\n    border: 0;\n    transform: translateY(2px);\n  }\n}\n",
+		".context-menu {\n  background: $background-primary;\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: 1px solid $context-menu-border-color;\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: $input-primary;\n          color: $white;\n\n          a {\n            color: $grey-90;\n          }\n\n          .icon {\n            fill: $white;\n          }\n\n          &:-moz-any(:focus, :hover) {\n            color: $white;\n          }\n        }\n      }\n    }\n  }\n}\n",
+		".prefs-pane {\n  $options-spacing: 10px;\n  $prefs-spacing: 20px;\n  $prefs-width: 400px;\n\n  color: $text-conditional;\n  font-size: 14px;\n  line-height: 21px;\n\n  .sidebar {\n    background: $white;\n    border-left: $border-secondary;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n    offset-inline-end: 0;\n    overflow-y: auto;\n    padding: 40px;\n    position: fixed;\n    top: 0;\n    transition: 0.1s cubic-bezier(0, 0, 0, 1);\n    transition-property: transform;\n    width: $prefs-width;\n    z-index: 12000;\n\n    &.hidden {\n      transform: translateX(100%);\n\n      &:dir(rtl) {\n        transform: translateX(-100%);\n      }\n    }\n\n    h1 {\n      font-size: 21px;\n      margin: 0;\n      padding-top: $prefs-spacing;\n    }\n  }\n\n  hr {\n    border: 0;\n    border-bottom: $border-secondary;\n    margin: 20px 0;\n  }\n\n  .prefs-modal-inner-wrapper {\n    padding-bottom: 100px;\n\n    section {\n      margin: $prefs-spacing 0;\n\n      p {\n        margin: 5px 0 20px 30px;\n      }\n\n      label {\n        display: inline-block;\n        position: relative;\n        width: 100%;\n\n        input {\n          offset-inline-start: -30px;\n          position: absolute;\n          top: 0;\n        }\n      }\n\n      > label {\n        font-size: 16px;\n        font-weight: bold;\n        line-height: 19px;\n      }\n    }\n\n    .options {\n      background: $background-primary;\n      border: $border-secondary;\n      border-radius: 2px;\n      margin: -$options-spacing 0 $prefs-spacing;\n      margin-inline-start: 30px;\n      padding: $options-spacing;\n\n      &.disabled {\n        opacity: 0.5;\n      }\n\n      label {\n        $icon-offset-start: 35px;\n        background-position-x: $icon-offset-start;\n        background-position-y: 2.5px;\n        background-repeat: no-repeat;\n        display: inline-block;\n        font-size: 14px;\n        font-weight: normal;\n        height: auto;\n        line-height: 21px;\n        width: 100%;\n\n        &:dir(rtl) {\n          background-position-x: right $icon-offset-start;\n        }\n      }\n\n      [type='checkbox']:not(:checked) + label,\n      [type='checkbox']:checked + label {\n        padding-inline-start: 63px;\n      }\n\n      section {\n        margin: 0;\n      }\n    }\n  }\n\n  .actions {\n    background-color: $background-primary;\n    border-left: $border-secondary;\n    bottom: 0;\n    offset-inline-end: 0;\n    position: fixed;\n    width: $prefs-width;\n\n    button {\n      margin-inline-end: $prefs-spacing;\n    }\n  }\n\n  // CSS styled checkbox\n  [type='checkbox']:not(:checked),\n  [type='checkbox']:checked {\n    offset-inline-start: -9999px;\n    position: absolute;\n  }\n\n  [type='checkbox']:not(:disabled):not(:checked) + label,\n  [type='checkbox']:not(:disabled):checked + label {\n    cursor: pointer;\n    padding: 0 30px;\n    position: relative;\n  }\n\n  [type='checkbox']:not(:checked) + label::before,\n  [type='checkbox']:checked + label::before {\n    background: $white;\n    border: $border-primary;\n    border-radius: $border-radius;\n    content: '';\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark\n  [type='checkbox']:not(:checked) + label::after,\n  [type='checkbox']:checked + label::after {\n    background: url('chrome://global/skin/in-content/check.svg') no-repeat center center; // sass-lint:disable-line no-url-domains\n    content: '';\n    -moz-context-properties: fill, stroke;\n    fill: $input-primary;\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    stroke: none;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark changes\n  [type='checkbox']:not(:checked) + label::after {\n    opacity: 0;\n  }\n\n  [type='checkbox']:checked + label::after {\n    opacity: 1;\n  }\n\n  // hover\n  [type='checkbox']:not(:disabled) + label:hover::before {\n    border: 1px solid $input-primary;\n  }\n\n  // accessibility\n  [type='checkbox']:not(:disabled):checked:focus + label::before,\n  [type='checkbox']:not(:disabled):not(:checked):focus + label::before {\n    border: 1px dotted $input-primary;\n  }\n}\n\n.prefs-pane-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: $fill-secondary;\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover {\n      background-color: $background-secondary;\n    }\n\n    &:active {\n      background-color: $background-primary;\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: $background-secondary;\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: $white;\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: $white;\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: $link-primary;\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: $link-primary;\n    }\n  }\n\n  .card-preview-image-outer {\n    background-color: $background-primary;\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 $black-5;\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: $text-secondary;\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: $text-secondary;\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 12px 16px 12px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: $fill-secondary;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: $icon-size;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\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-text {\n        max-height: 7 * $card-text-line-height + $card-title-margin;\n      }\n    }\n  }\n}\n",
+		".manual-migration-container {\n  color: $text-conditional;\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: $fill-secondary;\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  .section-title {\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .icon-arrowhead-down,\n    .icon-arrowhead-forward {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    $info-active-color: $grey-90-10;\n    position: relative;\n\n    .section-info-option {\n      offset-inline-end: 0;\n      position: absolute;\n      top: 0;\n    }\n\n    .info-option-icon {\n      background-image: url('#{$image-path}glyph-info-option-12.svg');\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: 12px 12px;\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: $fill-secondary;\n      height: 16px;\n      margin-bottom: -2px; // Specific styling for the particuar icon. r=abenson\n      opacity: 0;\n      transition: opacity 0.2s $photon-easing;\n      width: 16px;\n\n      &[aria-expanded='true'] {\n        background-color: $info-active-color;\n        border-radius: 1px; // The shadow below makes this the desired larger radius\n        box-shadow: 0 0 0 5px $info-active-color;\n        fill: $fill-primary;\n\n        + .info-option {\n          opacity: 1;\n          transition: visibility 0.2s, opacity 0.2s $photon-easing;\n          visibility: visible;\n        }\n      }\n\n      &:not([aria-expanded='true']) + .info-option {\n        pointer-events: none;\n      }\n\n      &:-moz-any(:active, :focus) {\n        opacity: 1;\n      }\n    }\n\n    .section-info-option .info-option {\n      opacity: 0;\n      transition: visibility 0.2s, opacity 0.2s $photon-easing;\n      visibility: hidden;\n\n      &::after,\n      &::before {\n        content: '';\n        offset-inline-end: 0;\n        position: absolute;\n      }\n\n      &::before {\n        $before-height: 32px;\n        background-image: url('chrome://global/skin/arrow/panelarrow-vertical.svg');\n        background-position: right $os-infopanel-arrow-offset-end bottom;\n        background-repeat: no-repeat;\n        background-size: $os-infopanel-arrow-width $os-infopanel-arrow-height;\n        -moz-context-properties: fill, stroke;\n        fill: $white;\n        height: $before-height;\n        stroke: $grey-30;\n        top: -$before-height;\n        width: 43px;\n      }\n\n      &:dir(rtl)::before {\n        background-position-x: $os-infopanel-arrow-offset-end;\n      }\n\n      &::after {\n        height: $os-infopanel-arrow-height;\n        offset-inline-start: 0;\n        top: -$os-infopanel-arrow-height;\n      }\n    }\n\n    .info-option {\n      background: $white;\n      border: $border-secondary;\n      border-radius: $border-radius;\n      box-shadow: $shadow-secondary;\n      font-size: 13px;\n      line-height: 120%;\n      margin-inline-end: -9px;\n      offset-inline-end: 0;\n      padding: 24px;\n      position: absolute;\n      top: 26px;\n      -moz-user-select: none;\n      width: 320px;\n      z-index: 9999;\n    }\n\n    .info-option-header {\n      font-size: 15px;\n      font-weight: 600;\n    }\n\n    .info-option-body {\n      margin: 0;\n      margin-top: 12px;\n    }\n\n    .info-option-link {\n      color: $link-primary;\n      margin-left: 7px;\n    }\n\n    .info-option-manage {\n      margin-top: 24px;\n\n      button {\n        background: 0;\n        border: 0;\n        color: $link-primary;\n        cursor: pointer;\n        margin: 0;\n        padding: 0;\n\n        &::after {\n          background-image: url('#{$image-path}topic-show-more-12.svg');\n          background-repeat: no-repeat;\n          content: '';\n          -moz-context-properties: fill;\n          display: inline-block;\n          fill: $link-primary;\n          height: 16px;\n          margin-inline-start: 5px;\n          margin-top: 1px;\n          vertical-align: middle;\n          width: 12px;\n        }\n\n        &:dir(rtl)::after  {\n          transform: scaleX(-1);\n        }\n      }\n    }\n  }\n\n  .section-disclaimer {\n    color: $grey-60;\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n\n      @media (min-width: $break-point-small) {\n        width: $card-width;\n      }\n\n      @media (min-width: $break-point-medium) {\n        width: 340px;\n      }\n\n      @media (min-width: $break-point-large) {\n        width: 610px;\n      }\n    }\n\n    a {\n      color: $link-secondary;\n      padding-left: 3px;\n    }\n\n    button {\n      background: $grey-10;\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: 130px;\n      min-height: 26px;\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      .icon-arrowhead-down,\n      .icon-arrowhead-forward {\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    .section-info-option {\n      pointer-events: none;\n    }\n  }\n\n  &:not(.collapsed):hover {\n    .info-option-icon {\n      opacity: 1;\n    }\n  }\n}\n"
+	],
+	"names": [],
+	"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
@@ -205,96 +205,118 @@ a {
   padding: 40px 32px 32px; }
   .outer-wrapper.fixed-to-top {
     height: auto; }
 
 main {
   margin: auto;
   padding-bottom: 48px;
   width: 224px; }
-  @media (min-width: 416px) {
+  @media (min-width: 432px) {
     main {
       width: 352px; } }
-  @media (min-width: 544px) {
+  @media (min-width: 560px) {
     main {
       width: 480px; } }
-  @media (min-width: 800px) {
+  @media (min-width: 816px) {
     main {
       width: 736px; } }
   main section {
     margin-bottom: 40px;
     position: relative; }
 
+@media (min-width: 1072px) {
+  .wide-layout-enabled main {
+    width: 992px; } }
+
 .section-top-bar {
   height: 16px;
   margin-bottom: 16px; }
 
 .section-title {
   font-size: 13px;
   font-weight: bold;
   text-transform: uppercase; }
   .section-title span {
     color: #737373;
     fill: #737373;
     vertical-align: middle; }
 
+.base-content-fallback {
+  height: 100vh; }
+
 
 .body-wrapper .section-title,
 .body-wrapper .sections-list .section:last-of-type,
 .body-wrapper .topic {
   opacity: 0; }
 
 
 .body-wrapper.on .section-title,
 .body-wrapper.on .sections-list .section:last-of-type,
 .body-wrapper.on .topic {
   opacity: 1; }
 
+.as-error-fallback {
+  align-items: center;
+  border-radius: 3px;
+  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
+  color: #4A4A4F;
+  display: flex;
+  flex-direction: column;
+  font-size: 12px;
+  justify-content: center;
+  justify-items: center;
+  line-height: 1.5; }
+  .as-error-fallback a {
+    color: #4A4A4F;
+    text-decoration: underline; }
+
 .top-sites-list {
   list-style: none;
   margin: 0 -16px;
   margin-bottom: -18px;
   padding: 0; }
-  @media (max-width: 416px) {
+  @media (max-width: 432px) {
     .top-sites-list :nth-child(2n+1) .context-menu {
       margin-inline-end: auto;
       margin-inline-start: auto;
       offset-inline-end: auto;
       offset-inline-start: -32px; }
     .top-sites-list :nth-child(2n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 416px) and (max-width: 544px) {
+  @media (min-width: 432px) and (max-width: 560px) {
     .top-sites-list :nth-child(3n+2) .context-menu,
     .top-sites-list :nth-child(3n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 544px) and (max-width: 800px) {
+  @media (min-width: 560px) and (max-width: 816px) {
     .top-sites-list :nth-child(4n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 544px) and (max-width: 768px) {
+  @media (min-width: 560px) and (max-width: 784px) {
     .top-sites-list :nth-child(4n+3) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 800px) and (max-width: 1248px) {
+  @media (min-width: 816px) and (max-width: 1264px) {
     .top-sites-list :nth-child(6n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 800px) and (max-width: 1024px) {
+  @media (min-width: 816px) and (max-width: 1040px) {
     .top-sites-list :nth-child(6n+5) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
   .top-sites-list li {
     display: inline-block;
     margin: 0 0 8px; }
@@ -407,23 +429,51 @@ main {
       .top-sites-list .top-site-outer .title.pinned span {
         padding: 0 13px; }
     .top-sites-list .top-site-outer .edit-button {
       background-image: url("../data/content/assets/glyph-edit-16.svg"); }
     .top-sites-list .top-site-outer.placeholder .tile {
       box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1); }
     .top-sites-list .top-site-outer.placeholder .screenshot {
       display: none; }
+    .top-sites-list .top-site-outer.dragged .tile {
+      background: #EDEDF0;
+      box-shadow: none; }
+      .top-sites-list .top-site-outer.dragged .tile * {
+        display: none; }
+    .top-sites-list .top-site-outer.dragged .title {
+      visibility: hidden; }
   .top-sites-list:not(.dnd-active) .top-site-outer:-moz-any(.active, :focus, :hover) .tile {
     box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 0 5px #D7D7DB;
     transition: box-shadow 150ms; }
   .top-sites-list:not(.dnd-active) .top-site-outer:-moz-any(.active, :focus, :hover) .context-menu-button {
     opacity: 1;
     transform: scale(1); }
 
+.wide-layout-disabled .top-sites-list .hide-for-narrow {
+  display: none; }
+
+@media (min-width: 1072px) and (max-width: 1520px) {
+  .wide-layout-enabled .top-sites-list :nth-child(8n) .context-menu {
+    margin-inline-end: 5px;
+    margin-inline-start: auto;
+    offset-inline-end: 0;
+    offset-inline-start: auto; } }
+
+@media (min-width: 1072px) and (max-width: 1296px) {
+  .wide-layout-enabled .top-sites-list :nth-child(8n+7) .context-menu {
+    margin-inline-end: 5px;
+    margin-inline-start: auto;
+    offset-inline-end: 0;
+    offset-inline-start: auto; } }
+
+@media not all and (min-width: 1072px) {
+  .wide-layout-enabled .top-sites-list .hide-for-narrow {
+    display: none; } }
+
 .edit-topsites-wrapper .add-topsites-button {
   border-right: 1px solid #D7D7DB;
   line-height: 13px;
   offset-inline-end: 24px;
   opacity: 0;
   padding: 0 10px;
   pointer-events: none;
   position: absolute;
@@ -520,29 +570,29 @@ main {
     opacity: 1;
     transform: translateY(0); } }
 
 .sections-list .section-list {
   display: grid;
   grid-gap: 32px;
   grid-template-columns: repeat(auto-fit, 224px);
   margin: 0; }
-  @media (max-width: 544px) {
+  @media (max-width: 560px) {
     .sections-list .section-list .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 544px) and (max-width: 800px) {
+  @media (min-width: 560px) and (max-width: 816px) {
     .sections-list .section-list :nth-child(2n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 800px) and (max-width: 1248px) {
+  @media (min-width: 816px) and (max-width: 1264px) {
     .sections-list .section-list :nth-child(3n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
 
 .sections-list .section-empty-state {
   border: 1px solid #D7D7DB;
@@ -564,43 +614,54 @@ main {
       margin: 0 auto;
       width: 50px; }
     .sections-list .section-empty-state .empty-state .empty-state-message {
       color: #737373;
       font-size: 13px;
       margin-bottom: 0;
       text-align: center; }
 
+@media (min-width: 1072px) and (max-width: 1520px) {
+  .wide-layout-enabled .sections-list .section-list :nth-child(3n) .context-menu {
+    margin-inline-end: 5px;
+    margin-inline-start: auto;
+    offset-inline-end: 0;
+    offset-inline-start: auto; } }
+
+@media (min-width: 1072px) {
+  .wide-layout-enabled .sections-list .section-list {
+    grid-template-columns: repeat(auto-fit, 309px); } }
+
 .topic {
   color: #737373;
   font-size: 12px;
   line-height: 1.6;
   margin-top: 12px; }
-  @media (min-width: 800px) {
+  @media (min-width: 816px) {
     .topic {
       line-height: 16px; } }
   .topic ul {
     margin: 0;
     padding: 0; }
-    @media (min-width: 800px) {
+    @media (min-width: 816px) {
       .topic ul {
         display: inline;
         padding-inline-start: 12px; } }
   .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: #008EA4; }
   .topic .topic-read-more {
     color: #008EA4; }
-    @media (min-width: 800px) {
+    @media (min-width: 816px) {
       .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: '';
       -moz-context-properties: fill;
@@ -905,17 +966,17 @@ main {
 
 .card-outer {
   background: #FFF;
   border-radius: 3px;
   display: inline-block;
   height: 266px;
   margin-inline-end: 32px;
   position: relative;
-  width: 224px; }
+  width: 100%; }
   .card-outer .context-menu-button {
     background-clip: padding-box;
     background-color: #FFF;
     background-image: url("chrome://browser/skin/page-action.svg");
     background-position: 55%;
     border: 1px solid #B1B1B3;
     border-radius: 100%;
     box-shadow: 0 2px rgba(12, 12, 13, 0.1);
@@ -942,17 +1003,17 @@ main {
     box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
     height: 100%; }
   .card-outer > a {
     color: inherit;
     display: block;
     height: 100%;
     outline: none;
     position: absolute;
-    width: 224px; }
+    width: 100%; }
     .card-outer > a:-moz-any(.active, :focus) .card {
       box-shadow: 0 0 0 5px #D7D7DB;
       transition: box-shadow 150ms; }
     .card-outer > a:-moz-any(.active, :focus) .card-title {
       color: #0060DF; }
   .card-outer:-moz-any(:hover, :focus, .active):not(.placeholder) {
     box-shadow: 0 0 0 5px #D7D7DB;
     transition: box-shadow 150ms;
@@ -1036,48 +1097,56 @@ main {
     margin-inline-end: 6px; }
   .card-outer .card-context-label {
     flex-grow: 1;
     line-height: 16px;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap; }
 
+@media (min-width: 1072px) {
+  .wide-layout-enabled .card-outer {
+    height: 370px; }
+    .wide-layout-enabled .card-outer .card-preview-image-outer {
+      height: 155px; }
+    .wide-layout-enabled .card-outer .card-text {
+      max-height: 135px; } }
+
 .manual-migration-container {
   color: #4A4A4F;
   font-size: 13px;
   line-height: 15px;
   margin-bottom: 40px;
   text-align: center; }
-  @media (min-width: 544px) {
+  @media (min-width: 560px) {
     .manual-migration-container {
       display: flex;
       justify-content: space-between;
       text-align: left; } }
   .manual-migration-container p {
     margin: 0; }
-    @media (min-width: 544px) {
+    @media (min-width: 560px) {
       .manual-migration-container p {
         align-self: center;
         display: flex;
         justify-content: space-between; } }
   .manual-migration-container .icon {
     display: none; }
-    @media (min-width: 544px) {
+    @media (min-width: 560px) {
       .manual-migration-container .icon {
         align-self: center;
         display: block;
         fill: rgba(12, 12, 13, 0.6);
         margin-inline-end: 6px; } }
 
 .manual-migration-actions {
   border: 0;
   display: block;
   flex-wrap: nowrap; }
-  @media (min-width: 544px) {
+  @media (min-width: 560px) {
     .manual-migration-actions {
       display: flex;
       justify-content: space-between;
       padding: 0; } }
   .manual-migration-actions button {
     align-self: center;
     height: 26px;
     margin: 0;
@@ -1201,23 +1270,23 @@ main {
 
 .collapsible-section .section-disclaimer {
   color: #4A4A4F;
   font-size: 13px;
   margin-bottom: 16px;
   position: relative; }
   .collapsible-section .section-disclaimer .section-disclaimer-text {
     display: inline-block; }
-    @media (min-width: 416px) {
+    @media (min-width: 432px) {
       .collapsible-section .section-disclaimer .section-disclaimer-text {
         width: 224px; } }
-    @media (min-width: 544px) {
+    @media (min-width: 560px) {
       .collapsible-section .section-disclaimer .section-disclaimer-text {
         width: 340px; } }
-    @media (min-width: 800px) {
+    @media (min-width: 816px) {
       .collapsible-section .section-disclaimer .section-disclaimer-text {
         width: 610px; } }
   .collapsible-section .section-disclaimer a {
     color: #008EA4;
     padding-left: 3px; }
   .collapsible-section .section-disclaimer button {
     background: #F9F9FA;
     border: 1px solid #B1B1B3;
@@ -1225,20 +1294,23 @@ main {
     cursor: pointer;
     margin-top: 2px;
     max-width: 130px;
     min-height: 26px;
     offset-inline-end: 0; }
     .collapsible-section .section-disclaimer button:hover:not(.dismiss) {
       box-shadow: 0 0 0 5px #D7D7DB;
       transition: box-shadow 150ms; }
-    @media (min-width: 416px) {
+    @media (min-width: 432px) {
       .collapsible-section .section-disclaimer button {
         position: absolute; } }
 
+.collapsible-section .section-body-fallback {
+  height: 266px; }
+
 .collapsible-section .section-body {
   margin: 0 -7px;
   padding: 0 7px; }
   .collapsible-section .section-body.animating {
     overflow: hidden;
     pointer-events: none; }
 
 .collapsible-section.animation-enabled .section-title .icon-arrowhead-down,
@@ -1252,8 +1324,10 @@ main {
   max-height: 0;
   overflow: hidden; }
 
 .collapsible-section.collapsed .section-info-option {
   pointer-events: none; }
 
 .collapsible-section:not(.collapsed):hover .info-option-icon {
   opacity: 1; }
+
+/*# sourceMappingURL=activity-stream-mac.css.map */
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/css/activity-stream-mac.css.map
@@ -0,0 +1,44 @@
+{
+	"version": 3,
+	"file": "activity-stream-mac.css",
+	"sources": [
+		"../content-src/styles/activity-stream-mac.scss",
+		"../content-src/styles/_activity-stream.scss",
+		"../content-src/styles/_normalize.scss",
+		"../content-src/styles/_variables.scss",
+		"../content-src/styles/_icons.scss",
+		"../content-src/components/Base/_Base.scss",
+		"../content-src/components/ErrorBoundary/_ErrorBoundary.scss",
+		"../content-src/components/TopSites/_TopSites.scss",
+		"../content-src/components/Sections/_Sections.scss",
+		"../content-src/components/Topics/_Topics.scss",
+		"../content-src/components/Search/_Search.scss",
+		"../content-src/components/ContextMenu/_ContextMenu.scss",
+		"../content-src/components/PreferencesPane/_PreferencesPane.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"
+	],
+	"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 './icons';\n\nhtml,\nbody,\n#root { // sass-lint:disable-line no-ids\n  height: 100%;\n}\n\nbody {\n  background: $background-primary;\n  color: $text-primary;\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  color: $link-primary;\n  text-decoration: none;\n\n  &:hover {\n    color: $link-secondary;\n  }\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  button {\n    background-color: $input-secondary;\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      border: 0;\n      padding: 0;\n      text-decoration: underline;\n    }\n\n    &.done {\n      background: $input-primary;\n      border: solid 1px $blue-60;\n      color: $white;\n      margin-inline-start: auto;\n    }\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/PreferencesPane/PreferencesPane';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\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  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-50: #0A84FF;\n$blue-60: #0060DF;\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-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\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// Aliases and derived styles based on Photon colors for common usage\n$background-primary: $grey-10;\n$background-secondary: $grey-20;\n$border-primary: 1px solid $grey-40;\n$border-secondary: 1px solid $grey-30;\n$fill-primary: $grey-90-80;\n$fill-secondary: $grey-90-60;\n$fill-tertiary: $grey-30;\n$input-primary: $blue-60;\n$input-secondary: $grey-10;\n$link-primary: $blue-60;\n$link-secondary: $teal-70;\n$shadow-primary: 0 0 0 5px $grey-30;\n$shadow-secondary: 0 1px 4px 0 $grey-90-10;\n$text-primary: $grey-90;\n$text-conditional: $grey-60;\n$text-secondary: $grey-50;\n$input-border: solid 1px $grey-90-20;\n$input-border-active: solid 1px $grey-90-40;\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: 0 0 0 2px rgba($red-60, 0.35);\n\n$white: #FFF;\n$border-radius: 3px;\n\n$base-gutter: 32px;\n$section-spacing: 40px;\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; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7; // 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-border-color: $black-20;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $context-menu-border-color;\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$inner-box-shadow: 0 0 0 1px $black-10;\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: $white;\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: $fill-primary;\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",
+		".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: $fill-primary;\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-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-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward {\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",
+		".outer-wrapper {\n  display: flex;\n  flex-grow: 1;\n  height: 100%;\n  padding: $section-spacing $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    height: auto;\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.section-top-bar {\n  height: 16px;\n  margin-bottom: 16px;\n}\n\n.section-title {\n  font-size: $section-title-font-size;\n  font-weight: bold;\n  text-transform: uppercase;\n\n  span {\n    color: $text-secondary;\n    fill: $text-secondary;\n    vertical-align: middle;\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",
+		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: $text-conditional;\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: $text-conditional;\n    text-decoration: underline;\n  }\n}\n\n",
+		".top-sites-list {\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  list-style: none;\n  margin: 0 (-$half-base-gutter);\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: -($top-sites-vertical-space + $top-sites-title-height / 3);\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    display: inline-block;\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  // container for drop zone\n  .top-site-outer {\n    padding: 0 $half-base-gutter;\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: $text-secondary;\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: $background-primary;\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: $rich-icon-size;\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      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: $fill-tertiary;\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          display: none;\n        }\n      }\n\n      .title {\n        visibility: hidden;\n      }\n    }\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// 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  .add-topsites-button {\n    border-right: $border-secondary;\n    line-height: 13px;\n    offset-inline-end: 24px;\n    opacity: 0;\n    padding: 0 10px;\n    pointer-events: none;\n    position: absolute;\n    top: 2px;\n    transition: opacity 0.2s $photon-easing;\n\n    &:dir(rtl) {\n      border-left: $border-secondary;\n      border-right: 0;\n    }\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n    }\n\n    button {\n      background: none;\n      border: 0;\n      color: $text-secondary;\n      cursor: pointer;\n      font-size: 12px;\n      padding: 0;\n\n      &:focus {\n        background: $background-secondary;\n        border-bottom: dotted 1px $text-secondary;\n      }\n    }\n  }\n\n  .modal {\n    offset-inline-start: -31px;\n    position: absolute;\n    top: -29px;\n    width: calc(100% + 62px);\n    box-shadow: $shadow-secondary;\n  }\n\n  .edit-topsites-inner-wrapper {\n    margin: 0;\n    padding: 15px 30px;\n  }\n}\n\n.top-sites:not(.collapsed):hover {\n  .add-topsites-button {\n    opacity: 1;\n    pointer-events: auto;\n  }\n}\n\n.topsite-form {\n  .form-wrapper {\n    margin: auto;\n    max-width: 350px;\n    padding: 15px 0;\n\n    .field {\n      position: relative;\n    }\n\n    .url input:not(:placeholder-shown):dir(rtl) {\n      direction: ltr;\n      text-align: right;\n    }\n\n    .section-title {\n      margin-bottom: 5px;\n    }\n\n    input {\n      &[type='text'] {\n        border: $input-border;\n        border-radius: 2px;\n        margin: 5px 0;\n        padding: 7px;\n        width: 100%;\n\n        &:focus {\n          border: $input-border-active;\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\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: $fill-secondary;\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: $text-secondary;\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",
+		".topic {\n  color: $text-secondary;\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: $link-secondary;\n  }\n\n  .topic-read-more {\n    color: $link-secondary;\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: $link-secondary;\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-50;\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  $search-glyph-fill: $grey-90-40;\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    border: 0;\n    border-radius: $search-border-radius;\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    color: inherit;\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: $search-glyph-fill;\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: $search-glyph-fill;\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  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable { // sass-lint:disable-line class-name-format\n    border: 0;\n    transform: translateY(2px);\n  }\n}\n",
+		".context-menu {\n  background: $background-primary;\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: 1px solid $context-menu-border-color;\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: $input-primary;\n          color: $white;\n\n          a {\n            color: $grey-90;\n          }\n\n          .icon {\n            fill: $white;\n          }\n\n          &:-moz-any(:focus, :hover) {\n            color: $white;\n          }\n        }\n      }\n    }\n  }\n}\n",
+		".prefs-pane {\n  $options-spacing: 10px;\n  $prefs-spacing: 20px;\n  $prefs-width: 400px;\n\n  color: $text-conditional;\n  font-size: 14px;\n  line-height: 21px;\n\n  .sidebar {\n    background: $white;\n    border-left: $border-secondary;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n    offset-inline-end: 0;\n    overflow-y: auto;\n    padding: 40px;\n    position: fixed;\n    top: 0;\n    transition: 0.1s cubic-bezier(0, 0, 0, 1);\n    transition-property: transform;\n    width: $prefs-width;\n    z-index: 12000;\n\n    &.hidden {\n      transform: translateX(100%);\n\n      &:dir(rtl) {\n        transform: translateX(-100%);\n      }\n    }\n\n    h1 {\n      font-size: 21px;\n      margin: 0;\n      padding-top: $prefs-spacing;\n    }\n  }\n\n  hr {\n    border: 0;\n    border-bottom: $border-secondary;\n    margin: 20px 0;\n  }\n\n  .prefs-modal-inner-wrapper {\n    padding-bottom: 100px;\n\n    section {\n      margin: $prefs-spacing 0;\n\n      p {\n        margin: 5px 0 20px 30px;\n      }\n\n      label {\n        display: inline-block;\n        position: relative;\n        width: 100%;\n\n        input {\n          offset-inline-start: -30px;\n          position: absolute;\n          top: 0;\n        }\n      }\n\n      > label {\n        font-size: 16px;\n        font-weight: bold;\n        line-height: 19px;\n      }\n    }\n\n    .options {\n      background: $background-primary;\n      border: $border-secondary;\n      border-radius: 2px;\n      margin: -$options-spacing 0 $prefs-spacing;\n      margin-inline-start: 30px;\n      padding: $options-spacing;\n\n      &.disabled {\n        opacity: 0.5;\n      }\n\n      label {\n        $icon-offset-start: 35px;\n        background-position-x: $icon-offset-start;\n        background-position-y: 2.5px;\n        background-repeat: no-repeat;\n        display: inline-block;\n        font-size: 14px;\n        font-weight: normal;\n        height: auto;\n        line-height: 21px;\n        width: 100%;\n\n        &:dir(rtl) {\n          background-position-x: right $icon-offset-start;\n        }\n      }\n\n      [type='checkbox']:not(:checked) + label,\n      [type='checkbox']:checked + label {\n        padding-inline-start: 63px;\n      }\n\n      section {\n        margin: 0;\n      }\n    }\n  }\n\n  .actions {\n    background-color: $background-primary;\n    border-left: $border-secondary;\n    bottom: 0;\n    offset-inline-end: 0;\n    position: fixed;\n    width: $prefs-width;\n\n    button {\n      margin-inline-end: $prefs-spacing;\n    }\n  }\n\n  // CSS styled checkbox\n  [type='checkbox']:not(:checked),\n  [type='checkbox']:checked {\n    offset-inline-start: -9999px;\n    position: absolute;\n  }\n\n  [type='checkbox']:not(:disabled):not(:checked) + label,\n  [type='checkbox']:not(:disabled):checked + label {\n    cursor: pointer;\n    padding: 0 30px;\n    position: relative;\n  }\n\n  [type='checkbox']:not(:checked) + label::before,\n  [type='checkbox']:checked + label::before {\n    background: $white;\n    border: $border-primary;\n    border-radius: $border-radius;\n    content: '';\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark\n  [type='checkbox']:not(:checked) + label::after,\n  [type='checkbox']:checked + label::after {\n    background: url('chrome://global/skin/in-content/check.svg') no-repeat center center; // sass-lint:disable-line no-url-domains\n    content: '';\n    -moz-context-properties: fill, stroke;\n    fill: $input-primary;\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    stroke: none;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark changes\n  [type='checkbox']:not(:checked) + label::after {\n    opacity: 0;\n  }\n\n  [type='checkbox']:checked + label::after {\n    opacity: 1;\n  }\n\n  // hover\n  [type='checkbox']:not(:disabled) + label:hover::before {\n    border: 1px solid $input-primary;\n  }\n\n  // accessibility\n  [type='checkbox']:not(:disabled):checked:focus + label::before,\n  [type='checkbox']:not(:disabled):not(:checked):focus + label::before {\n    border: 1px dotted $input-primary;\n  }\n}\n\n.prefs-pane-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: $fill-secondary;\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover {\n      background-color: $background-secondary;\n    }\n\n    &:active {\n      background-color: $background-primary;\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: $background-secondary;\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: $white;\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: $white;\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: $link-primary;\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: $link-primary;\n    }\n  }\n\n  .card-preview-image-outer {\n    background-color: $background-primary;\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 $black-5;\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: $text-secondary;\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: $text-secondary;\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 12px 16px 12px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: $fill-secondary;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: $icon-size;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\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-text {\n        max-height: 7 * $card-text-line-height + $card-title-margin;\n      }\n    }\n  }\n}\n",
+		".manual-migration-container {\n  color: $text-conditional;\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: $fill-secondary;\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  .section-title {\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .icon-arrowhead-down,\n    .icon-arrowhead-forward {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    $info-active-color: $grey-90-10;\n    position: relative;\n\n    .section-info-option {\n      offset-inline-end: 0;\n      position: absolute;\n      top: 0;\n    }\n\n    .info-option-icon {\n      background-image: url('#{$image-path}glyph-info-option-12.svg');\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: 12px 12px;\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: $fill-secondary;\n      height: 16px;\n      margin-bottom: -2px; // Specific styling for the particuar icon. r=abenson\n      opacity: 0;\n      transition: opacity 0.2s $photon-easing;\n      width: 16px;\n\n      &[aria-expanded='true'] {\n        background-color: $info-active-color;\n        border-radius: 1px; // The shadow below makes this the desired larger radius\n        box-shadow: 0 0 0 5px $info-active-color;\n        fill: $fill-primary;\n\n        + .info-option {\n          opacity: 1;\n          transition: visibility 0.2s, opacity 0.2s $photon-easing;\n          visibility: visible;\n        }\n      }\n\n      &:not([aria-expanded='true']) + .info-option {\n        pointer-events: none;\n      }\n\n      &:-moz-any(:active, :focus) {\n        opacity: 1;\n      }\n    }\n\n    .section-info-option .info-option {\n      opacity: 0;\n      transition: visibility 0.2s, opacity 0.2s $photon-easing;\n      visibility: hidden;\n\n      &::after,\n      &::before {\n        content: '';\n        offset-inline-end: 0;\n        position: absolute;\n      }\n\n      &::before {\n        $before-height: 32px;\n        background-image: url('chrome://global/skin/arrow/panelarrow-vertical.svg');\n        background-position: right $os-infopanel-arrow-offset-end bottom;\n        background-repeat: no-repeat;\n        background-size: $os-infopanel-arrow-width $os-infopanel-arrow-height;\n        -moz-context-properties: fill, stroke;\n        fill: $white;\n        height: $before-height;\n        stroke: $grey-30;\n        top: -$before-height;\n        width: 43px;\n      }\n\n      &:dir(rtl)::before {\n        background-position-x: $os-infopanel-arrow-offset-end;\n      }\n\n      &::after {\n        height: $os-infopanel-arrow-height;\n        offset-inline-start: 0;\n        top: -$os-infopanel-arrow-height;\n      }\n    }\n\n    .info-option {\n      background: $white;\n      border: $border-secondary;\n      border-radius: $border-radius;\n      box-shadow: $shadow-secondary;\n      font-size: 13px;\n      line-height: 120%;\n      margin-inline-end: -9px;\n      offset-inline-end: 0;\n      padding: 24px;\n      position: absolute;\n      top: 26px;\n      -moz-user-select: none;\n      width: 320px;\n      z-index: 9999;\n    }\n\n    .info-option-header {\n      font-size: 15px;\n      font-weight: 600;\n    }\n\n    .info-option-body {\n      margin: 0;\n      margin-top: 12px;\n    }\n\n    .info-option-link {\n      color: $link-primary;\n      margin-left: 7px;\n    }\n\n    .info-option-manage {\n      margin-top: 24px;\n\n      button {\n        background: 0;\n        border: 0;\n        color: $link-primary;\n        cursor: pointer;\n        margin: 0;\n        padding: 0;\n\n        &::after {\n          background-image: url('#{$image-path}topic-show-more-12.svg');\n          background-repeat: no-repeat;\n          content: '';\n          -moz-context-properties: fill;\n          display: inline-block;\n          fill: $link-primary;\n          height: 16px;\n          margin-inline-start: 5px;\n          margin-top: 1px;\n          vertical-align: middle;\n          width: 12px;\n        }\n\n        &:dir(rtl)::after  {\n          transform: scaleX(-1);\n        }\n      }\n    }\n  }\n\n  .section-disclaimer {\n    color: $grey-60;\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n\n      @media (min-width: $break-point-small) {\n        width: $card-width;\n      }\n\n      @media (min-width: $break-point-medium) {\n        width: 340px;\n      }\n\n      @media (min-width: $break-point-large) {\n        width: 610px;\n      }\n    }\n\n    a {\n      color: $link-secondary;\n      padding-left: 3px;\n    }\n\n    button {\n      background: $grey-10;\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: 130px;\n      min-height: 26px;\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      .icon-arrowhead-down,\n      .icon-arrowhead-forward {\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    .section-info-option {\n      pointer-events: none;\n    }\n  }\n\n  &:not(.collapsed):hover {\n    .info-option-icon {\n      opacity: 1;\n    }\n  }\n}\n"
+	],
+	"names": [],
+	"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
@@ -205,96 +205,118 @@ a {
   padding: 40px 32px 32px; }
   .outer-wrapper.fixed-to-top {
     height: auto; }
 
 main {
   margin: auto;
   padding-bottom: 48px;
   width: 224px; }
-  @media (min-width: 416px) {
+  @media (min-width: 432px) {
     main {
       width: 352px; } }
-  @media (min-width: 544px) {
+  @media (min-width: 560px) {
     main {
       width: 480px; } }
-  @media (min-width: 800px) {
+  @media (min-width: 816px) {
     main {
       width: 736px; } }
   main section {
     margin-bottom: 40px;
     position: relative; }
 
+@media (min-width: 1072px) {
+  .wide-layout-enabled main {
+    width: 992px; } }
+
 .section-top-bar {
   height: 16px;
   margin-bottom: 16px; }
 
 .section-title {
   font-size: 13px;
   font-weight: bold;
   text-transform: uppercase; }
   .section-title span {
     color: #737373;
     fill: #737373;
     vertical-align: middle; }
 
+.base-content-fallback {
+  height: 100vh; }
+
 
 .body-wrapper .section-title,
 .body-wrapper .sections-list .section:last-of-type,
 .body-wrapper .topic {
   opacity: 0; }
 
 
 .body-wrapper.on .section-title,
 .body-wrapper.on .sections-list .section:last-of-type,
 .body-wrapper.on .topic {
   opacity: 1; }
 
+.as-error-fallback {
+  align-items: center;
+  border-radius: 3px;
+  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
+  color: #4A4A4F;
+  display: flex;
+  flex-direction: column;
+  font-size: 12px;
+  justify-content: center;
+  justify-items: center;
+  line-height: 1.5; }
+  .as-error-fallback a {
+    color: #4A4A4F;
+    text-decoration: underline; }
+
 .top-sites-list {
   list-style: none;
   margin: 0 -16px;
   margin-bottom: -18px;
   padding: 0; }
-  @media (max-width: 416px) {
+  @media (max-width: 432px) {
     .top-sites-list :nth-child(2n+1) .context-menu {
       margin-inline-end: auto;
       margin-inline-start: auto;
       offset-inline-end: auto;
       offset-inline-start: -32px; }
     .top-sites-list :nth-child(2n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 416px) and (max-width: 544px) {
+  @media (min-width: 432px) and (max-width: 560px) {
     .top-sites-list :nth-child(3n+2) .context-menu,
     .top-sites-list :nth-child(3n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 544px) and (max-width: 800px) {
+  @media (min-width: 560px) and (max-width: 816px) {
     .top-sites-list :nth-child(4n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 544px) and (max-width: 768px) {
+  @media (min-width: 560px) and (max-width: 784px) {
     .top-sites-list :nth-child(4n+3) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 800px) and (max-width: 1248px) {
+  @media (min-width: 816px) and (max-width: 1264px) {
     .top-sites-list :nth-child(6n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 800px) and (max-width: 1024px) {
+  @media (min-width: 816px) and (max-width: 1040px) {
     .top-sites-list :nth-child(6n+5) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
   .top-sites-list li {
     display: inline-block;
     margin: 0 0 8px; }
@@ -407,23 +429,51 @@ main {
       .top-sites-list .top-site-outer .title.pinned span {
         padding: 0 13px; }
     .top-sites-list .top-site-outer .edit-button {
       background-image: url("../data/content/assets/glyph-edit-16.svg"); }
     .top-sites-list .top-site-outer.placeholder .tile {
       box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1); }
     .top-sites-list .top-site-outer.placeholder .screenshot {
       display: none; }
+    .top-sites-list .top-site-outer.dragged .tile {
+      background: #EDEDF0;
+      box-shadow: none; }
+      .top-sites-list .top-site-outer.dragged .tile * {
+        display: none; }
+    .top-sites-list .top-site-outer.dragged .title {
+      visibility: hidden; }
   .top-sites-list:not(.dnd-active) .top-site-outer:-moz-any(.active, :focus, :hover) .tile {
     box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 0 5px #D7D7DB;
     transition: box-shadow 150ms; }
   .top-sites-list:not(.dnd-active) .top-site-outer:-moz-any(.active, :focus, :hover) .context-menu-button {
     opacity: 1;
     transform: scale(1); }
 
+.wide-layout-disabled .top-sites-list .hide-for-narrow {
+  display: none; }
+
+@media (min-width: 1072px) and (max-width: 1520px) {
+  .wide-layout-enabled .top-sites-list :nth-child(8n) .context-menu {
+    margin-inline-end: 5px;
+    margin-inline-start: auto;
+    offset-inline-end: 0;
+    offset-inline-start: auto; } }
+
+@media (min-width: 1072px) and (max-width: 1296px) {
+  .wide-layout-enabled .top-sites-list :nth-child(8n+7) .context-menu {
+    margin-inline-end: 5px;
+    margin-inline-start: auto;
+    offset-inline-end: 0;
+    offset-inline-start: auto; } }
+
+@media not all and (min-width: 1072px) {
+  .wide-layout-enabled .top-sites-list .hide-for-narrow {
+    display: none; } }
+
 .edit-topsites-wrapper .add-topsites-button {
   border-right: 1px solid #D7D7DB;
   line-height: 13px;
   offset-inline-end: 24px;
   opacity: 0;
   padding: 0 10px;
   pointer-events: none;
   position: absolute;
@@ -520,29 +570,29 @@ main {
     opacity: 1;
     transform: translateY(0); } }
 
 .sections-list .section-list {
   display: grid;
   grid-gap: 32px;
   grid-template-columns: repeat(auto-fit, 224px);
   margin: 0; }
-  @media (max-width: 544px) {
+  @media (max-width: 560px) {
     .sections-list .section-list .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 544px) and (max-width: 800px) {
+  @media (min-width: 560px) and (max-width: 816px) {
     .sections-list .section-list :nth-child(2n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
-  @media (min-width: 800px) and (max-width: 1248px) {
+  @media (min-width: 816px) and (max-width: 1264px) {
     .sections-list .section-list :nth-child(3n) .context-menu {
       margin-inline-end: 5px;
       margin-inline-start: auto;
       offset-inline-end: 0;
       offset-inline-start: auto; } }
 
 .sections-list .section-empty-state {
   border: 1px solid #D7D7DB;
@@ -564,43 +614,54 @@ main {
       margin: 0 auto;
       width: 50px; }
     .sections-list .section-empty-state .empty-state .empty-state-message {
       color: #737373;
       font-size: 13px;
       margin-bottom: 0;
       text-align: center; }
 
+@media (min-width: 1072px) and (max-width: 1520px) {
+  .wide-layout-enabled .sections-list .section-list :nth-child(3n) .context-menu {
+    margin-inline-end: 5px;
+    margin-inline-start: auto;
+    offset-inline-end: 0;
+    offset-inline-start: auto; } }
+
+@media (min-width: 1072px) {
+  .wide-layout-enabled .sections-list .section-list {
+    grid-template-columns: repeat(auto-fit, 309px); } }
+
 .topic {
   color: #737373;
   font-size: 12px;
   line-height: 1.6;
   margin-top: 12px; }
-  @media (min-width: 800px) {
+  @media (min-width: 816px) {
     .topic {
       line-height: 16px; } }
   .topic ul {
     margin: 0;
     padding: 0; }
-    @media (min-width: 800px) {
+    @media (min-width: 816px) {
       .topic ul {
         display: inline;
         padding-inline-start: 12px; } }
   .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: #008EA4; }
   .topic .topic-read-more {
     color: #008EA4; }
-    @media (min-width: 800px) {
+    @media (min-width: 816px) {
       .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: '';
       -moz-context-properties: fill;
@@ -905,17 +966,17 @@ main {
 
 .card-outer {
   background: #FFF;
   border-radius: 3px;
   display: inline-block;
   height: 266px;
   margin-inline-end: 32px;
   position: relative;
-  width: 224px; }
+  width: 100%; }
   .card-outer .context-menu-button {
     background-clip: padding-box;
     background-color: #FFF;
     background-image: url("chrome://browser/skin/page-action.svg");
     background-position: 55%;
     border: 1px solid #B1B1B3;
     border-radius: 100%;
     box-shadow: 0 2px rgba(12, 12, 13, 0.1);
@@ -942,17 +1003,17 @@ main {
     box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.1);
     height: 100%; }
   .card-outer > a {
     color: inherit;
     display: block;
     height: 100%;
     outline: none;
     position: absolute;
-    width: 224px; }
+    width: 100%; }
     .card-outer > a:-moz-any(.active, :focus) .card {
       box-shadow: 0 0 0 5px #D7D7DB;
       transition: box-shadow 150ms; }
     .card-outer > a:-moz-any(.active, :focus) .card-title {
       color: #0060DF; }
   .card-outer:-moz-any(:hover, :focus, .active):not(.placeholder) {
     box-shadow: 0 0 0 5px #D7D7DB;
     transition: box-shadow 150ms;
@@ -1036,48 +1097,56 @@ main {
     margin-inline-end: 6px; }
   .card-outer .card-context-label {
     flex-grow: 1;
     line-height: 16px;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap; }
 
+@media (min-width: 1072px) {
+  .wide-layout-enabled .card-outer {
+    height: 370px; }
+    .wide-layout-enabled .card-outer .card-preview-image-outer {
+      height: 155px; }
+    .wide-layout-enabled .card-outer .card-text {
+      max-height: 135px; } }
+
 .manual-migration-container {
   color: #4A4A4F;
   font-size: 13px;
   line-height: 15px;
   margin-bottom: 40px;
   text-align: center; }
-  @media (min-width: 544px) {
+  @media (min-width: 560px) {
     .manual-migration-container {
       display: flex;
       justify-content: space-between;
       text-align: left; } }
   .manual-migration-container p {
     margin: 0; }
-    @media (min-width: 544px) {
+    @media (min-width: 560px) {
       .manual-migration-container p {
         align-self: center;
         display: flex;
         justify-content: space-between; } }
   .manual-migration-container .icon {
     display: none; }
-    @media (min-width: 544px) {
+    @media (min-width: 560px) {
       .manual-migration-container .icon {
         align-self: center;
         display: block;
         fill: rgba(12, 12, 13, 0.6);
         margin-inline-end: 6px; } }
 
 .manual-migration-actions {
   border: 0;
   display: block;
   flex-wrap: nowrap; }
-  @media (min-width: 544px) {
+  @media (min-width: 560px) {
     .manual-migration-actions {
       display: flex;
       justify-content: space-between;
       padding: 0; } }
   .manual-migration-actions button {
     align-self: center;
     height: 26px;
     margin: 0;
@@ -1201,23 +1270,23 @@ main {
 
 .collapsible-section .section-disclaimer {
   color: #4A4A4F;
   font-size: 13px;
   margin-bottom: 16px;
   position: relative; }
   .collapsible-section .section-disclaimer .section-disclaimer-text {
     display: inline-block; }
-    @media (min-width: 416px) {
+    @media (min-width: 432px) {
       .collapsible-section .section-disclaimer .section-disclaimer-text {
         width: 224px; } }
-    @media (min-width: 544px) {
+    @media (min-width: 560px) {
       .collapsible-section .section-disclaimer .section-disclaimer-text {
         width: 340px; } }
-    @media (min-width: 800px) {
+    @media (min-width: 816px) {
       .collapsible-section .section-disclaimer .section-disclaimer-text {
         width: 610px; } }
   .collapsible-section .section-disclaimer a {
     color: #008EA4;
     padding-left: 3px; }
   .collapsible-section .section-disclaimer button {
     background: #F9F9FA;
     border: 1px solid #B1B1B3;
@@ -1225,20 +1294,23 @@ main {
     cursor: pointer;
     margin-top: 2px;
     max-width: 130px;
     min-height: 26px;
     offset-inline-end: 0; }
     .collapsible-section .section-disclaimer button:hover:not(.dismiss) {
       box-shadow: 0 0 0 5px #D7D7DB;
       transition: box-shadow 150ms; }
-    @media (min-width: 416px) {
+    @media (min-width: 432px) {
       .collapsible-section .section-disclaimer button {
         position: absolute; } }
 
+.collapsible-section .section-body-fallback {
+  height: 266px; }
+
 .collapsible-section .section-body {
   margin: 0 -7px;
   padding: 0 7px; }
   .collapsible-section .section-body.animating {
     overflow: hidden;
     pointer-events: none; }
 
 .collapsible-section.animation-enabled .section-title .icon-arrowhead-down,
@@ -1252,8 +1324,10 @@ main {
   max-height: 0;
   overflow: hidden; }
 
 .collapsible-section.collapsed .section-info-option {
   pointer-events: none; }
 
 .collapsible-section:not(.collapsed):hover .info-option-icon {
   opacity: 1; }
+
+/*# sourceMappingURL=activity-stream-windows.css.map */
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/css/activity-stream-windows.css.map
@@ -0,0 +1,44 @@
+{
+	"version": 3,
+	"file": "activity-stream-windows.css",
+	"sources": [
+		"../content-src/styles/activity-stream-windows.scss",
+		"../content-src/styles/_activity-stream.scss",
+		"../content-src/styles/_normalize.scss",
+		"../content-src/styles/_variables.scss",
+		"../content-src/styles/_icons.scss",
+		"../content-src/components/Base/_Base.scss",
+		"../content-src/components/ErrorBoundary/_ErrorBoundary.scss",
+		"../content-src/components/TopSites/_TopSites.scss",
+		"../content-src/components/Sections/_Sections.scss",
+		"../content-src/components/Topics/_Topics.scss",
+		"../content-src/components/Search/_Search.scss",
+		"../content-src/components/ContextMenu/_ContextMenu.scss",
+		"../content-src/components/PreferencesPane/_PreferencesPane.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"
+	],
+	"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 './icons';\n\nhtml,\nbody,\n#root { // sass-lint:disable-line no-ids\n  height: 100%;\n}\n\nbody {\n  background: $background-primary;\n  color: $text-primary;\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  color: $link-primary;\n  text-decoration: none;\n\n  &:hover {\n    color: $link-secondary;\n  }\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  button {\n    background-color: $input-secondary;\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      border: 0;\n      padding: 0;\n      text-decoration: underline;\n    }\n\n    &.done {\n      background: $input-primary;\n      border: solid 1px $blue-60;\n      color: $white;\n      margin-inline-start: auto;\n    }\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/PreferencesPane/PreferencesPane';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\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  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-50: #0A84FF;\n$blue-60: #0060DF;\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-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\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// Aliases and derived styles based on Photon colors for common usage\n$background-primary: $grey-10;\n$background-secondary: $grey-20;\n$border-primary: 1px solid $grey-40;\n$border-secondary: 1px solid $grey-30;\n$fill-primary: $grey-90-80;\n$fill-secondary: $grey-90-60;\n$fill-tertiary: $grey-30;\n$input-primary: $blue-60;\n$input-secondary: $grey-10;\n$link-primary: $blue-60;\n$link-secondary: $teal-70;\n$shadow-primary: 0 0 0 5px $grey-30;\n$shadow-secondary: 0 1px 4px 0 $grey-90-10;\n$text-primary: $grey-90;\n$text-conditional: $grey-60;\n$text-secondary: $grey-50;\n$input-border: solid 1px $grey-90-20;\n$input-border-active: solid 1px $grey-90-40;\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: 0 0 0 2px rgba($red-60, 0.35);\n\n$white: #FFF;\n$border-radius: 3px;\n\n$base-gutter: 32px;\n$section-spacing: 40px;\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; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7; // 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-border-color: $black-20;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $context-menu-border-color;\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$inner-box-shadow: 0 0 0 1px $black-10;\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: $white;\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: $fill-primary;\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",
+		".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: $fill-primary;\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-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-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward {\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",
+		".outer-wrapper {\n  display: flex;\n  flex-grow: 1;\n  height: 100%;\n  padding: $section-spacing $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    height: auto;\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.section-top-bar {\n  height: 16px;\n  margin-bottom: 16px;\n}\n\n.section-title {\n  font-size: $section-title-font-size;\n  font-weight: bold;\n  text-transform: uppercase;\n\n  span {\n    color: $text-secondary;\n    fill: $text-secondary;\n    vertical-align: middle;\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",
+		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: $text-conditional;\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: $text-conditional;\n    text-decoration: underline;\n  }\n}\n\n",
+		".top-sites-list {\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  list-style: none;\n  margin: 0 (-$half-base-gutter);\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: -($top-sites-vertical-space + $top-sites-title-height / 3);\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    display: inline-block;\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  // container for drop zone\n  .top-site-outer {\n    padding: 0 $half-base-gutter;\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: $text-secondary;\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: $background-primary;\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: $rich-icon-size;\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      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: $fill-tertiary;\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          display: none;\n        }\n      }\n\n      .title {\n        visibility: hidden;\n      }\n    }\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// 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  .add-topsites-button {\n    border-right: $border-secondary;\n    line-height: 13px;\n    offset-inline-end: 24px;\n    opacity: 0;\n    padding: 0 10px;\n    pointer-events: none;\n    position: absolute;\n    top: 2px;\n    transition: opacity 0.2s $photon-easing;\n\n    &:dir(rtl) {\n      border-left: $border-secondary;\n      border-right: 0;\n    }\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n    }\n\n    button {\n      background: none;\n      border: 0;\n      color: $text-secondary;\n      cursor: pointer;\n      font-size: 12px;\n      padding: 0;\n\n      &:focus {\n        background: $background-secondary;\n        border-bottom: dotted 1px $text-secondary;\n      }\n    }\n  }\n\n  .modal {\n    offset-inline-start: -31px;\n    position: absolute;\n    top: -29px;\n    width: calc(100% + 62px);\n    box-shadow: $shadow-secondary;\n  }\n\n  .edit-topsites-inner-wrapper {\n    margin: 0;\n    padding: 15px 30px;\n  }\n}\n\n.top-sites:not(.collapsed):hover {\n  .add-topsites-button {\n    opacity: 1;\n    pointer-events: auto;\n  }\n}\n\n.topsite-form {\n  .form-wrapper {\n    margin: auto;\n    max-width: 350px;\n    padding: 15px 0;\n\n    .field {\n      position: relative;\n    }\n\n    .url input:not(:placeholder-shown):dir(rtl) {\n      direction: ltr;\n      text-align: right;\n    }\n\n    .section-title {\n      margin-bottom: 5px;\n    }\n\n    input {\n      &[type='text'] {\n        border: $input-border;\n        border-radius: 2px;\n        margin: 5px 0;\n        padding: 7px;\n        width: 100%;\n\n        &:focus {\n          border: $input-border-active;\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\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: $fill-secondary;\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: $text-secondary;\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",
+		".topic {\n  color: $text-secondary;\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: $link-secondary;\n  }\n\n  .topic-read-more {\n    color: $link-secondary;\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: $link-secondary;\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-50;\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  $search-glyph-fill: $grey-90-40;\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    border: 0;\n    border-radius: $search-border-radius;\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    color: inherit;\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: $search-glyph-fill;\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: $search-glyph-fill;\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  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable { // sass-lint:disable-line class-name-format\n    border: 0;\n    transform: translateY(2px);\n  }\n}\n",
+		".context-menu {\n  background: $background-primary;\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: 1px solid $context-menu-border-color;\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: $input-primary;\n          color: $white;\n\n          a {\n            color: $grey-90;\n          }\n\n          .icon {\n            fill: $white;\n          }\n\n          &:-moz-any(:focus, :hover) {\n            color: $white;\n          }\n        }\n      }\n    }\n  }\n}\n",
+		".prefs-pane {\n  $options-spacing: 10px;\n  $prefs-spacing: 20px;\n  $prefs-width: 400px;\n\n  color: $text-conditional;\n  font-size: 14px;\n  line-height: 21px;\n\n  .sidebar {\n    background: $white;\n    border-left: $border-secondary;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n    offset-inline-end: 0;\n    overflow-y: auto;\n    padding: 40px;\n    position: fixed;\n    top: 0;\n    transition: 0.1s cubic-bezier(0, 0, 0, 1);\n    transition-property: transform;\n    width: $prefs-width;\n    z-index: 12000;\n\n    &.hidden {\n      transform: translateX(100%);\n\n      &:dir(rtl) {\n        transform: translateX(-100%);\n      }\n    }\n\n    h1 {\n      font-size: 21px;\n      margin: 0;\n      padding-top: $prefs-spacing;\n    }\n  }\n\n  hr {\n    border: 0;\n    border-bottom: $border-secondary;\n    margin: 20px 0;\n  }\n\n  .prefs-modal-inner-wrapper {\n    padding-bottom: 100px;\n\n    section {\n      margin: $prefs-spacing 0;\n\n      p {\n        margin: 5px 0 20px 30px;\n      }\n\n      label {\n        display: inline-block;\n        position: relative;\n        width: 100%;\n\n        input {\n          offset-inline-start: -30px;\n          position: absolute;\n          top: 0;\n        }\n      }\n\n      > label {\n        font-size: 16px;\n        font-weight: bold;\n        line-height: 19px;\n      }\n    }\n\n    .options {\n      background: $background-primary;\n      border: $border-secondary;\n      border-radius: 2px;\n      margin: -$options-spacing 0 $prefs-spacing;\n      margin-inline-start: 30px;\n      padding: $options-spacing;\n\n      &.disabled {\n        opacity: 0.5;\n      }\n\n      label {\n        $icon-offset-start: 35px;\n        background-position-x: $icon-offset-start;\n        background-position-y: 2.5px;\n        background-repeat: no-repeat;\n        display: inline-block;\n        font-size: 14px;\n        font-weight: normal;\n        height: auto;\n        line-height: 21px;\n        width: 100%;\n\n        &:dir(rtl) {\n          background-position-x: right $icon-offset-start;\n        }\n      }\n\n      [type='checkbox']:not(:checked) + label,\n      [type='checkbox']:checked + label {\n        padding-inline-start: 63px;\n      }\n\n      section {\n        margin: 0;\n      }\n    }\n  }\n\n  .actions {\n    background-color: $background-primary;\n    border-left: $border-secondary;\n    bottom: 0;\n    offset-inline-end: 0;\n    position: fixed;\n    width: $prefs-width;\n\n    button {\n      margin-inline-end: $prefs-spacing;\n    }\n  }\n\n  // CSS styled checkbox\n  [type='checkbox']:not(:checked),\n  [type='checkbox']:checked {\n    offset-inline-start: -9999px;\n    position: absolute;\n  }\n\n  [type='checkbox']:not(:disabled):not(:checked) + label,\n  [type='checkbox']:not(:disabled):checked + label {\n    cursor: pointer;\n    padding: 0 30px;\n    position: relative;\n  }\n\n  [type='checkbox']:not(:checked) + label::before,\n  [type='checkbox']:checked + label::before {\n    background: $white;\n    border: $border-primary;\n    border-radius: $border-radius;\n    content: '';\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark\n  [type='checkbox']:not(:checked) + label::after,\n  [type='checkbox']:checked + label::after {\n    background: url('chrome://global/skin/in-content/check.svg') no-repeat center center; // sass-lint:disable-line no-url-domains\n    content: '';\n    -moz-context-properties: fill, stroke;\n    fill: $input-primary;\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    stroke: none;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark changes\n  [type='checkbox']:not(:checked) + label::after {\n    opacity: 0;\n  }\n\n  [type='checkbox']:checked + label::after {\n    opacity: 1;\n  }\n\n  // hover\n  [type='checkbox']:not(:disabled) + label:hover::before {\n    border: 1px solid $input-primary;\n  }\n\n  // accessibility\n  [type='checkbox']:not(:disabled):checked:focus + label::before,\n  [type='checkbox']:not(:disabled):not(:checked):focus + label::before {\n    border: 1px dotted $input-primary;\n  }\n}\n\n.prefs-pane-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: $fill-secondary;\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover {\n      background-color: $background-secondary;\n    }\n\n    &:active {\n      background-color: $background-primary;\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: $background-secondary;\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: $white;\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: $white;\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: $link-primary;\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: $link-primary;\n    }\n  }\n\n  .card-preview-image-outer {\n    background-color: $background-primary;\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 $black-5;\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: $text-secondary;\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: $text-secondary;\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 12px 16px 12px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: $fill-secondary;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: $icon-size;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\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-text {\n        max-height: 7 * $card-text-line-height + $card-title-margin;\n      }\n    }\n  }\n}\n",
+		".manual-migration-container {\n  color: $text-conditional;\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: $fill-secondary;\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  .section-title {\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .icon-arrowhead-down,\n    .icon-arrowhead-forward {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    $info-active-color: $grey-90-10;\n    position: relative;\n\n    .section-info-option {\n      offset-inline-end: 0;\n      position: absolute;\n      top: 0;\n    }\n\n    .info-option-icon {\n      background-image: url('#{$image-path}glyph-info-option-12.svg');\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: 12px 12px;\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: $fill-secondary;\n      height: 16px;\n      margin-bottom: -2px; // Specific styling for the particuar icon. r=abenson\n      opacity: 0;\n      transition: opacity 0.2s $photon-easing;\n      width: 16px;\n\n      &[aria-expanded='true'] {\n        background-color: $info-active-color;\n        border-radius: 1px; // The shadow below makes this the desired larger radius\n        box-shadow: 0 0 0 5px $info-active-color;\n        fill: $fill-primary;\n\n        + .info-option {\n          opacity: 1;\n          transition: visibility 0.2s, opacity 0.2s $photon-easing;\n          visibility: visible;\n        }\n      }\n\n      &:not([aria-expanded='true']) + .info-option {\n        pointer-events: none;\n      }\n\n      &:-moz-any(:active, :focus) {\n        opacity: 1;\n      }\n    }\n\n    .section-info-option .info-option {\n      opacity: 0;\n      transition: visibility 0.2s, opacity 0.2s $photon-easing;\n      visibility: hidden;\n\n      &::after,\n      &::before {\n        content: '';\n        offset-inline-end: 0;\n        position: absolute;\n      }\n\n      &::before {\n        $before-height: 32px;\n        background-image: url('chrome://global/skin/arrow/panelarrow-vertical.svg');\n        background-position: right $os-infopanel-arrow-offset-end bottom;\n        background-repeat: no-repeat;\n        background-size: $os-infopanel-arrow-width $os-infopanel-arrow-height;\n        -moz-context-properties: fill, stroke;\n        fill: $white;\n        height: $before-height;\n        stroke: $grey-30;\n        top: -$before-height;\n        width: 43px;\n      }\n\n      &:dir(rtl)::before {\n        background-position-x: $os-infopanel-arrow-offset-end;\n      }\n\n      &::after {\n        height: $os-infopanel-arrow-height;\n        offset-inline-start: 0;\n        top: -$os-infopanel-arrow-height;\n      }\n    }\n\n    .info-option {\n      background: $white;\n      border: $border-secondary;\n      border-radius: $border-radius;\n      box-shadow: $shadow-secondary;\n      font-size: 13px;\n      line-height: 120%;\n      margin-inline-end: -9px;\n      offset-inline-end: 0;\n      padding: 24px;\n      position: absolute;\n      top: 26px;\n      -moz-user-select: none;\n      width: 320px;\n      z-index: 9999;\n    }\n\n    .info-option-header {\n      font-size: 15px;\n      font-weight: 600;\n    }\n\n    .info-option-body {\n      margin: 0;\n      margin-top: 12px;\n    }\n\n    .info-option-link {\n      color: $link-primary;\n      margin-left: 7px;\n    }\n\n    .info-option-manage {\n      margin-top: 24px;\n\n      button {\n        background: 0;\n        border: 0;\n        color: $link-primary;\n        cursor: pointer;\n        margin: 0;\n        padding: 0;\n\n        &::after {\n          background-image: url('#{$image-path}topic-show-more-12.svg');\n          background-repeat: no-repeat;\n          content: '';\n          -moz-context-properties: fill;\n          display: inline-block;\n          fill: $link-primary;\n          height: 16px;\n          margin-inline-start: 5px;\n          margin-top: 1px;\n          vertical-align: middle;\n          width: 12px;\n        }\n\n        &:dir(rtl)::after  {\n          transform: scaleX(-1);\n        }\n      }\n    }\n  }\n\n  .section-disclaimer {\n    color: $grey-60;\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n\n      @media (min-width: $break-point-small) {\n        width: $card-width;\n      }\n\n      @media (min-width: $break-point-medium) {\n        width: 340px;\n      }\n\n      @media (min-width: $break-point-large) {\n        width: 610px;\n      }\n    }\n\n    a {\n      color: $link-secondary;\n      padding-left: 3px;\n    }\n\n    button {\n      background: $grey-10;\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: 130px;\n      min-height: 26px;\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      .icon-arrowhead-down,\n      .icon-arrowhead-forward {\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    .section-info-option {\n      pointer-events: none;\n    }\n  }\n\n  &:not(.collapsed):hover {\n    .info-option-icon {\n      opacity: 1;\n    }\n  }\n}\n"
+	],
+	"names": [],
+	"mappings": "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"
+}
\ No newline at end of file
--- a/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
+++ b/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
@@ -55,17 +55,17 @@
 /******/
 /******/ 	// Object.prototype.hasOwnProperty.call
 /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
 /******/
 /******/ 	// __webpack_public_path__
 /******/ 	__webpack_require__.p = "";
 /******/
 /******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 10);
+/******/ 	return __webpack_require__(__webpack_require__.s = 12);
 /******/ })
 /************************************************************************/
 /******/ ([
 /* 0 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* unused harmony export MAIN_MESSAGE_TYPE */
@@ -361,47 +361,67 @@ module.exports = React;
 /***/ (function(module, exports) {
 
 module.exports = ReactIntl;
 
 /***/ }),
 /* 3 */
 /***/ (function(module, exports) {
 
-module.exports = ReactRedux;
+var g;
+
+// This works in non-strict mode
+g = (function() {
+	return this;
+})();
+
+try {
+	// This works if eval is allowed (see CSP)
+	g = g || Function("return this")() || (1,eval)("this");
+} catch(e) {
+	// This works if the window reference is available
+	if(typeof window === "object")
+		g = window;
+}
+
+// g can still be undefined, but nothing to do about it...
+// We return undefined, instead of nothing here, so it's
+// easier to handle this case. if(!global) { ...}
+
+module.exports = g;
+
 
 /***/ }),
 /* 4 */
 /***/ (function(module, exports) {
 
-var g;
-
-// This works in non-strict mode
-g = (function() {
-	return this;
-})();
-
-try {
-	// This works if eval is allowed (see CSP)
-	g = g || Function("return this")() || (1,eval)("this");
-} catch(e) {
-	// This works if the window reference is available
-	if(typeof window === "object")
-		g = window;
-}
-
-// g can still be undefined, but nothing to do about it...
-// We return undefined, instead of nothing here, so it's
-// easier to handle this case. if(!global) { ...}
-
-module.exports = g;
+module.exports = ReactRedux;
+
+/***/ }),
+/* 5 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+const TOP_SITES_SOURCE = "TOP_SITES";
+/* harmony export (immutable) */ __webpack_exports__["d"] = TOP_SITES_SOURCE;
+
+const TOP_SITES_CONTEXT_MENU_OPTIONS = ["CheckPinTopSite", "EditTopSite", "Separator", "OpenInNewWindow", "OpenInPrivateWindow", "Separator", "BlockUrl", "DeleteUrl"];
+/* harmony export (immutable) */ __webpack_exports__["c"] = TOP_SITES_CONTEXT_MENU_OPTIONS;
+
+// minimum size necessary to show a rich icon instead of a screenshot
+const MIN_RICH_FAVICON_SIZE = 96;
+/* harmony export (immutable) */ __webpack_exports__["b"] = MIN_RICH_FAVICON_SIZE;
+
+// minimum size necessary to show any icon in the top left corner with a screenshot
+const MIN_CORNER_FAVICON_SIZE = 16;
+/* harmony export (immutable) */ __webpack_exports__["a"] = MIN_CORNER_FAVICON_SIZE;
 
 
 /***/ }),
-/* 5 */
+/* 6 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 
 // EXTERNAL MODULE: ./system-addon/common/Actions.jsm
 var Actions = __webpack_require__(0);
 
 // CONCATENATED MODULE: ./system-addon/common/Dedupe.jsm
@@ -442,20 +462,20 @@ class Dedupe {
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return reducers; });
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 
 
 
-const TOP_SITES_DEFAULT_ROWS = 2;
+const TOP_SITES_DEFAULT_ROWS = 1;
 /* unused harmony export TOP_SITES_DEFAULT_ROWS */
 
-const TOP_SITES_MAX_SITES_PER_ROW = 6;
+const TOP_SITES_MAX_SITES_PER_ROW = 8;
 /* harmony export (immutable) */ __webpack_exports__["a"] = TOP_SITES_MAX_SITES_PER_ROW;
 
 
 
 const dedupe = new Dedupe(site => site && site.url);
 
 const INITIAL_STATE = {
   App: {
@@ -766,17 +786,105 @@ function PreferencesPane(prevState = INI
     default:
       return prevState;
   }
 }
 
 var reducers = { TopSites, App, Snippets, Prefs, Dialog, Sections, PreferencesPane };
 
 /***/ }),
-/* 6 */
+/* 7 */
+/***/ (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__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);
+
+
+
+class ErrorBoundaryFallback extends __WEBPACK_IMPORTED_MODULE_1_react___default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    this.windowObj = this.props.windowObj || window;
+    this.onClick = this.onClick.bind(this);
+  }
+
+  /**
+   * Since we only get here if part of the page has crashed, do a
+   * forced reload to give us the best chance at recovering.
+   */
+  onClick() {
+    this.windowObj.location.reload(true);
+  }
+
+  render() {
+    const defaultClass = "as-error-fallback";
+    let className;
+    if ("className" in this.props) {
+      className = `${this.props.className} ${defaultClass}`;
+    } else {
+      className = defaultClass;
+    }
+
+    // href="#" to force normal link styling stuff (eg cursor on hover)
+    return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+      "div",
+      { className: className },
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+        "div",
+        null,
+        __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], {
+          defaultMessage: "Oops, something went wrong loading this content.",
+          id: "error_fallback_default_info" })
+      ),
+      __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+        "span",
+        null,
+        __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
+          "a",
+          { href: "#", className: "reload-button", onClick: this.onClick },
+          __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], {
+            defaultMessage: "Refresh page to try again.",
+            id: "error_fallback_default_refresh_suggestion" })
+        )
+      )
+    );
+  }
+}
+/* unused harmony export ErrorBoundaryFallback */
+
+ErrorBoundaryFallback.defaultProps = { className: "as-error-fallback" };
+
+class ErrorBoundary extends __WEBPACK_IMPORTED_MODULE_1_react___default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    this.state = { hasError: false };
+  }
+
+  componentDidCatch(error, info) {
+    this.setState({ hasError: true });
+  }
+
+  render() {
+    if (!this.state.hasError) {
+      return this.props.children;
+    }
+
+    return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(this.props.FallbackComponent, { className: this.props.className });
+  }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = ErrorBoundary;
+
+
+ErrorBoundary.defaultProps = { FallbackComponent: ErrorBoundaryFallback };
+
+/***/ }),
+/* 8 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 
 // EXTERNAL MODULE: ./system-addon/common/Actions.jsm
 var Actions = __webpack_require__(0);
 
 // EXTERNAL MODULE: external "React"
@@ -1063,46 +1171,48 @@ class LinkMenu__LinkMenu extends externa
 /* unused harmony export _LinkMenu */
 
 
 const LinkMenu = Object(external__ReactIntl_["injectIntl"])(LinkMenu__LinkMenu);
 /* harmony export (immutable) */ __webpack_exports__["a"] = LinkMenu;
 
 
 /***/ }),
-/* 7 */
+/* 9 */
 /***/ (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__(0);
 /* 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_react__ = __webpack_require__(1);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_ErrorBoundary_ErrorBoundary__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react__);
 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
 
 
 
 
 
+
 const VISIBLE = "visible";
 const VISIBILITY_CHANGE_EVENT = "visibilitychange";
 
 function getFormattedMessage(message) {
-  return typeof message === "string" ? __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+  return typeof message === "string" ? __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
     "span",
     null,
     message
-  ) : __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_intl__["FormattedMessage"], message);
+  ) : __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_intl__["FormattedMessage"], message);
 }
 function getCollapsed(props) {
   return props.prefName in props.Prefs.values ? props.Prefs.values[props.prefName] : false;
 }
 
-class Info extends __WEBPACK_IMPORTED_MODULE_2_react___default.a.PureComponent {
+class Info extends __WEBPACK_IMPORTED_MODULE_3_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this.onInfoEnter = this.onInfoEnter.bind(this);
     this.onInfoLeave = this.onInfoLeave.bind(this);
     this.onManageClick = this.onManageClick.bind(this);
     this.state = { infoActive: false };
   }
 
@@ -1139,105 +1249,105 @@ class Info extends __WEBPACK_IMPORTED_MO
       "aria-haspopup": "true",
       "aria-controls": "info-option",
       "aria-expanded": this.state.infoActive ? "true" : "false",
       "role": "note",
       "tabIndex": 0
     };
     const sectionInfoTitle = intl.formatMessage({ id: "section_info_option" });
 
-    return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+    return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
       "span",
       { className: "section-info-option",
         onBlur: this.onInfoLeave,
         onFocus: this.onInfoEnter,
         onMouseOut: this.onInfoLeave,
         onMouseOver: this.onInfoEnter },
-      __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement("img", _extends({ className: "info-option-icon", title: sectionInfoTitle
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement("img", _extends({ className: "info-option-icon", title: sectionInfoTitle
       }, infoOptionIconA11yAttrs)),
-      __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
         "div",
         { className: "info-option" },
-        infoOption.header && __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+        infoOption.header && __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
           "div",
           { className: "info-option-header", role: "heading" },
           getFormattedMessage(infoOption.header)
         ),
-        __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+        __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
           "p",
           { className: "info-option-body" },
           infoOption.body && getFormattedMessage(infoOption.body),
-          infoOption.link && __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+          infoOption.link && __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
             "a",
             { href: infoOption.link.href, target: "_blank", rel: "noopener noreferrer", className: "info-option-link" },
             getFormattedMessage(infoOption.link.title || infoOption.link)
           )
         ),
-        __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+        __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
           "div",
           { className: "info-option-manage" },
-          __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+          __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
             "button",
             { onClick: this.onManageClick },
-            __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_intl__["FormattedMessage"], { id: "settings_pane_header" })
+            __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_intl__["FormattedMessage"], { id: "settings_pane_header" })
           )
         )
       )
     );
   }
 }
 /* unused harmony export Info */
 
 
 const InfoIntl = Object(__WEBPACK_IMPORTED_MODULE_1_react_intl__["injectIntl"])(Info);
 /* unused harmony export InfoIntl */
 
 
-class Disclaimer extends __WEBPACK_IMPORTED_MODULE_2_react___default.a.PureComponent {
+class Disclaimer extends __WEBPACK_IMPORTED_MODULE_3_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this.onAcknowledge = this.onAcknowledge.bind(this);
   }
 
   onAcknowledge() {
     this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].SetPref(this.props.disclaimerPref, false));
     this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({ event: "SECTION_DISCLAIMER_ACKNOWLEDGED", source: this.props.eventSource }));
   }
 
   render() {
     const { disclaimer } = this.props;
-    return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+    return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
       "div",
       { className: "section-disclaimer" },
-      __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
         "div",
         { className: "section-disclaimer-text" },
         getFormattedMessage(disclaimer.text),
-        disclaimer.link && __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+        disclaimer.link && __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
           "a",
           { href: disclaimer.link.href, target: "_blank", rel: "noopener noreferrer" },
           getFormattedMessage(disclaimer.link.title || disclaimer.link)
         )
       ),
-      __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
         "button",
         { onClick: this.onAcknowledge },
         getFormattedMessage(disclaimer.button)
       )
     );
   }
 }
 /* unused harmony export Disclaimer */
 
 
 const DisclaimerIntl = Object(__WEBPACK_IMPORTED_MODULE_1_react_intl__["injectIntl"])(Disclaimer);
 /* unused harmony export DisclaimerIntl */
 
 
-class _CollapsibleSection extends __WEBPACK_IMPORTED_MODULE_2_react___default.a.PureComponent {
+class _CollapsibleSection extends __WEBPACK_IMPORTED_MODULE_3_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this.onBodyMount = this.onBodyMount.bind(this);
     this.onInfoEnter = this.onInfoEnter.bind(this);
     this.onInfoLeave = this.onInfoLeave.bind(this);
     this.onHeaderClick = this.onHeaderClick.bind(this);
     this.onTransitionEnd = this.onTransitionEnd.bind(this);
     this.enableOrDisableAnimation = this.enableOrDisableAnimation.bind(this);
@@ -1291,16 +1401,23 @@ class _CollapsibleSection extends __WEBP
   onInfoLeave(event) {
     // We currently have an active (true) info state, so keep it true only if we
     // have a related event target that is contained "within" the current target
     // (section-info-option) as itself or a descendant. Set to false otherwise.
     this._setInfoState(event && event.relatedTarget && (event.relatedTarget === event.currentTarget || event.relatedTarget.compareDocumentPosition(event.currentTarget) & Node.DOCUMENT_POSITION_CONTAINS));
   }
 
   onHeaderClick() {
+    // If this.sectionBody is unset, it means that we're in some sort of error
+    // state, probably displaying the error fallback, so we won't be able to
+    // compute the height, and we don't want to persist the preference.
+    if (!this.sectionBody) {
+      return;
+    }
+
     // Get the current height of the body so max-height transitions can work
     this.setState({
       isAnimating: true,
       maxHeight: `${this.sectionBody.scrollHeight}px`
     });
     this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].SetPref(this.props.prefName, !getCollapsed(this.props)));
   }
 
@@ -1309,57 +1426,61 @@ class _CollapsibleSection extends __WEBP
     if (event.target === event.currentTarget) {
       this.setState({ isAnimating: false });
     }
   }
 
   renderIcon() {
     const { icon } = this.props;
     if (icon && icon.startsWith("moz-extension://")) {
-      return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement("span", { className: "icon icon-small-spacer", style: { backgroundImage: `url('${icon}')` } });
+      return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement("span", { className: "icon icon-small-spacer", style: { backgroundImage: `url('${icon}')` } });
     }
-    return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement("span", { className: `icon icon-small-spacer icon-${icon || "webextension"}` });
+    return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement("span", { className: `icon icon-small-spacer icon-${icon || "webextension"}` });
   }
 
   render() {
     const isCollapsible = this.props.prefName in this.props.Prefs.values;
     const isCollapsed = getCollapsed(this.props);
     const { enableAnimation, isAnimating, maxHeight } = this.state;
     const { id, infoOption, eventSource, disclaimer } = this.props;
     const disclaimerPref = `section.${id}.showDisclaimer`;
     const needsDisclaimer = disclaimer && this.props.Prefs.values[disclaimerPref];
 
-    return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+    return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
       "section",
       { className: `collapsible-section ${this.props.className}${enableAnimation ? " animation-enabled" : ""}${isCollapsed ? " collapsed" : ""}` },
-      __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
         "div",
         { className: "section-top-bar" },
-        __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+        __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
           "h3",
           { className: "section-title" },
-          __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+          __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
             "span",
             { className: "click-target", onClick: isCollapsible && this.onHeaderClick },
             this.renderIcon(),
             this.props.title,
-            isCollapsible && __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement("span", { className: `collapsible-arrow icon ${isCollapsed ? "icon-arrowhead-forward" : "icon-arrowhead-down"}` })
+            isCollapsible && __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement("span", { className: `collapsible-arrow icon ${isCollapsed ? "icon-arrowhead-forward" : "icon-arrowhead-down"}` })
           )
         ),
-        infoOption && __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(InfoIntl, { infoOption: infoOption, dispatch: this.props.dispatch })
+        infoOption && __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(InfoIntl, { infoOption: infoOption, dispatch: this.props.dispatch })
       ),
-      __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
-        "div",
-        {
-          className: `section-body${isAnimating ? " animating" : ""}`,
-          onTransitionEnd: this.onTransitionEnd,
-          ref: this.onBodyMount,
-          style: isAnimating && !isCollapsed ? { maxHeight } : null },
-        needsDisclaimer && __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(DisclaimerIntl, { disclaimerPref: disclaimerPref, disclaimer: disclaimer, eventSource: eventSource, dispatch: this.props.dispatch }),
-        this.props.children
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+        __WEBPACK_IMPORTED_MODULE_2_content_src_components_ErrorBoundary_ErrorBoundary__["a" /* ErrorBoundary */],
+        { className: "section-body-fallback" },
+        __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+          "div",
+          {
+            className: `section-body${isAnimating ? " animating" : ""}`,
+            onTransitionEnd: this.onTransitionEnd,
+            ref: this.onBodyMount,
+            style: isAnimating && !isCollapsed ? { maxHeight } : null },
+          needsDisclaimer && __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(DisclaimerIntl, { disclaimerPref: disclaimerPref, disclaimer: disclaimer, eventSource: eventSource, dispatch: this.props.dispatch }),
+          this.props.children
+        )
       )
     );
   }
 }
 /* unused harmony export _CollapsibleSection */
 
 
 _CollapsibleSection.defaultProps = {
@@ -1369,25 +1490,25 @@ class _CollapsibleSection extends __WEBP
     visibilityState: "hidden"
   },
   Prefs: { values: {} }
 };
 
 const CollapsibleSection = Object(__WEBPACK_IMPORTED_MODULE_1_react_intl__["injectIntl"])(_CollapsibleSection);
 /* harmony export (immutable) */ __webpack_exports__["a"] = CollapsibleSection;
 
-/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(4)))
+/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 8 */
+/* 10 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(0);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_PerfService_jsm__ = __webpack_require__(9);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_PerfService_jsm__ = __webpack_require__(11);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__);
 
 
 
 
 // Currently record only a fixed set of sections. This will prevent data
 // from custom sections from showing up or from topstories.
@@ -1546,17 +1667,17 @@ class ComponentPerfTimer extends __WEBPA
     }
     return this.props.children;
   }
 }
 /* harmony export (immutable) */ __webpack_exports__["a"] = ComponentPerfTimer;
 
 
 /***/ }),
-/* 9 */
+/* 11 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* unused harmony export _PerfService */
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return perfService; });
 /* globals Services */
 
 
@@ -1680,33 +1801,33 @@ function _PerfService(options) {
     let mostRecentEntry = entries[entries.length - 1];
     return this._perf.timeOrigin + mostRecentEntry.startTime;
   }
 };
 
 var perfService = new _PerfService();
 
 /***/ }),
-/* 10 */
+/* 12 */
 /***/ (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__(0);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_content_src_lib_snippets__ = __webpack_require__(11);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_Base_Base__ = __webpack_require__(12);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_lib_detect_user_session_start__ = __webpack_require__(17);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_lib_init_store__ = __webpack_require__(18);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_content_src_lib_snippets__ = __webpack_require__(13);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_Base_Base__ = __webpack_require__(14);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_lib_detect_user_session_start__ = __webpack_require__(22);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_lib_init_store__ = __webpack_require__(23);
+/* 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__(1);
 /* 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__(20);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_dom__ = __webpack_require__(25);
 /* 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__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_common_Reducers_jsm__ = __webpack_require__(6);
 
 
 
 
 
 
 
 
@@ -1718,30 +1839,30 @@ new __WEBPACK_IMPORTED_MODULE_3_content_
 
 // If we are starting in a prerendered state, we must wait until the first render
 // to request state rehydration (see Base.jsx). If we are NOT in a prerendered state,
 // we can request it immedately.
 if (!global.gActivityStreamPrerenderedState) {
   store.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].NEW_TAB_STATE_REQUEST }));
 }
 
-__WEBPACK_IMPORTED_MODULE_7_react_dom___default.a.render(__WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
+__WEBPACK_IMPORTED_MODULE_7_react_dom___default.a.hydrate(__WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
   __WEBPACK_IMPORTED_MODULE_5_react_redux__["Provider"],
   { store: store },
   __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_content_src_components_Base_Base__["a" /* Base */], {
     isPrerendered: !!global.gActivityStreamPrerenderedState,
     locale: global.document.documentElement.lang,
     strings: global.gActivityStreamStrings })
 ), document.getElementById("root"));
 
 Object(__WEBPACK_IMPORTED_MODULE_1_content_src_lib_snippets__["a" /* addSnippetsSubscriber */])(store);
-/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(4)))
+/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 11 */
+/* 13 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony export (immutable) */ __webpack_exports__["a"] = addSnippetsSubscriber;
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(0);
 const DATABASE_NAME = "snippets_db";
 const DATABASE_VERSION = 1;
 const SNIPPETS_OBJECTSTORE_NAME = "snippets";
@@ -2105,33 +2226,33 @@ function addSnippetsSubscriber(store) {
     } else if ((state.Prefs.values["feeds.snippets"] === false || state.Prefs.values.disableSnippets === true) && snippets.initialized) {
       snippets.uninit();
     }
   });
 
   // These values are returned for testing purposes
   return snippets;
 }
-/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(4)))
+/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 12 */
+/* 14 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 
 // EXTERNAL MODULE: ./system-addon/common/Actions.jsm
 var Actions = __webpack_require__(0);
 
 // 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__(3);
+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__(1);
 var external__React__default = /*#__PURE__*/__webpack_require__.n(external__React_);
 
 // CONCATENATED MODULE: ./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx
 
@@ -2225,16 +2346,19 @@ class ConfirmDialog__ConfirmDialog exten
           )
         )
       )
     );
   }
 }
 
 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__(7);
+
 // CONCATENATED MODULE: ./system-addon/content-src/components/ManualMigration/ManualMigration.jsx
 
 
 
 
 
 /**
  * Manual migration component used to start the profile import wizard.
@@ -2569,17 +2693,17 @@ 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__(13);
+var constants = __webpack_require__(15);
 
 // CONCATENATED MODULE: ./system-addon/content-src/components/Search/Search.jsx
 /* globals ContentSearchUIController */
 
 
 
 
 
@@ -2674,758 +2798,35 @@ class Search__Search extends external__R
         )
       )
     );
   }
 }
 
 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__(14);
-
-// CONCATENATED MODULE: ./system-addon/content-src/components/TopSites/TopSitesConstants.js
-const TOP_SITES_SOURCE = "TOP_SITES";
-const TOP_SITES_CONTEXT_MENU_OPTIONS = ["CheckPinTopSite", "EditTopSite", "Separator", "OpenInNewWindow", "OpenInPrivateWindow", "Separator", "BlockUrl", "DeleteUrl"];
-// minimum size necessary to show a rich icon instead of a screenshot
-const MIN_RICH_FAVICON_SIZE = 96;
-// minimum size necessary to show any icon in the top left corner with a screenshot
-const MIN_CORNER_FAVICON_SIZE = 16;
-// EXTERNAL MODULE: ./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx
-var CollapsibleSection = __webpack_require__(7);
-
-// EXTERNAL MODULE: ./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx
-var ComponentPerfTimer = __webpack_require__(8);
-
-// EXTERNAL MODULE: ./system-addon/common/Reducers.jsm + 1 modules
-var Reducers = __webpack_require__(5);
-
-// CONCATENATED MODULE: ./system-addon/content-src/components/TopSites/TopSiteForm.jsx
-
-
-
-
-
-class TopSiteForm_TopSiteForm extends external__React__default.a.PureComponent {
-  constructor(props) {
-    super(props);
-    const { site } = props;
-    this.state = {
-      label: site ? site.label || site.hostname : "",
-      url: site ? site.url : "",
-      validationError: false
-    };
-    this.onLabelChange = this.onLabelChange.bind(this);
-    this.onUrlChange = this.onUrlChange.bind(this);
-    this.onCancelButtonClick = this.onCancelButtonClick.bind(this);
-    this.onDoneButtonClick = this.onDoneButtonClick.bind(this);
-    this.onUrlInputMount = this.onUrlInputMount.bind(this);
-  }
-
-  onLabelChange(event) {
-    this.resetValidation();
-    this.setState({ "label": event.target.value });
-  }
-
-  onUrlChange(event) {
-    this.resetValidation();
-    this.setState({ "url": event.target.value });
-  }
-
-  onCancelButtonClick(ev) {
-    ev.preventDefault();
-    this.props.onClose();
-  }
-
-  onDoneButtonClick(ev) {
-    ev.preventDefault();
-
-    if (this.validateForm()) {
-      const site = { url: this.cleanUrl() };
-      const { index } = this.props;
-      if (this.state.label !== "") {
-        site.label = this.state.label;
-      }
-
-      this.props.dispatch(Actions["a" /* actionCreators */].AlsoToMain({
-        type: Actions["b" /* actionTypes */].TOP_SITES_PIN,
-        data: { site, index }
-      }));
-      this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({
-        source: TOP_SITES_SOURCE,
-        event: "TOP_SITES_EDIT",
-        action_position: index
-      }));
-
-      this.props.onClose();
-    }
-  }
-
-  cleanUrl() {
-    let { url } = this.state;
-    // If we are missing a protocol, prepend http://
-    if (!url.startsWith("http:") && !url.startsWith("https:")) {
-      url = `http://${url}`;
-    }
-    return url;
-  }
-
-  resetValidation() {
-    if (this.state.validationError) {
-      this.setState({ validationError: false });
-    }
-  }
-
-  validateUrl() {
-    try {
-      return !!new URL(this.cleanUrl());
-    } catch (e) {
-      return false;
-    }
-  }
-
-  validateForm() {
-    this.resetValidation();
-    // Only the URL is required and must be valid.
-    if (!this.state.url || !this.validateUrl()) {
-      this.setState({ validationError: true });
-      this.inputUrl.focus();
-      return false;
-    }
-    return true;
-  }
-
-  onUrlInputMount(input) {
-    this.inputUrl = input;
-  }
-
-  render() {
-    // For UI purposes, editing without an existing link is "add"
-    const showAsAdd = !this.props.site;
-
-    return external__React__default.a.createElement(
-      "form",
-      { className: "topsite-form" },
-      external__React__default.a.createElement(
-        "section",
-        { className: "edit-topsites-inner-wrapper" },
-        external__React__default.a.createElement(
-          "div",
-          { className: "form-wrapper" },
-          external__React__default.a.createElement(
-            "h3",
-            { className: "section-title" },
-            external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: showAsAdd ? "topsites_form_add_header" : "topsites_form_edit_header" })
-          ),
-          external__React__default.a.createElement(
-            "div",
-            { className: "field title" },
-            external__React__default.a.createElement("input", {
-              type: "text",
-              value: this.state.label,
-              onChange: this.onLabelChange,
-              placeholder: this.props.intl.formatMessage({ id: "topsites_form_title_placeholder" }) })
-          ),
-          external__React__default.a.createElement(
-            "div",
-            { className: `field url${this.state.validationError ? " invalid" : ""}` },
-            external__React__default.a.createElement("input", {
-              type: "text",
-              ref: this.onUrlInputMount,
-              value: this.state.url,
-              onChange: this.onUrlChange,
-              placeholder: this.props.intl.formatMessage({ id: "topsites_form_url_placeholder" }) }),
-            this.state.validationError && external__React__default.a.createElement(
-              "aside",
-              { className: "error-tooltip" },
-              external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "topsites_form_url_validation" })
-            )
-          )
-        )
-      ),
-      external__React__default.a.createElement(
-        "section",
-        { className: "actions" },
-        external__React__default.a.createElement(
-          "button",
-          { className: "cancel", type: "button", onClick: this.onCancelButtonClick },
-          external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "topsites_form_cancel_button" })
-        ),
-        external__React__default.a.createElement(
-          "button",
-          { className: "done", type: "submit", onClick: this.onDoneButtonClick },
-          external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: showAsAdd ? "topsites_form_add_button" : "topsites_form_save_button" })
-        )
-      )
-    );
-  }
-}
-
-TopSiteForm_TopSiteForm.defaultProps = {
-  TopSite: null,
-  index: -1
-};
-// EXTERNAL MODULE: ./system-addon/content-src/components/LinkMenu/LinkMenu.jsx + 2 modules
-var LinkMenu = __webpack_require__(6);
-
-// CONCATENATED MODULE: ./system-addon/content-src/components/TopSites/TopSite.jsx
-var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
-
-
-
-
-
-
-
-
-class TopSite_TopSiteLink extends external__React__default.a.PureComponent {
-  constructor(props) {
-    super(props);
-    this.onDragEvent = this.onDragEvent.bind(this);
-  }
-
-  /*
-   * Helper to determine whether the drop zone should allow a drop. We only allow
-   * dropping top sites for now.
-   */
-  _allowDrop(e) {
-    return e.dataTransfer.types.includes("text/topsite-index");
-  }
-
-  onDragEvent(event) {
-    switch (event.type) {
-      case "click":
-        // Stop any link clicks if we started any dragging
-        if (this.dragged) {
-          event.preventDefault();
-        }
-        break;
-      case "dragstart":
-        this.dragged = true;
-        event.dataTransfer.effectAllowed = "move";
-        event.dataTransfer.setData("text/topsite-index", this.props.index);
-        event.target.blur();
-        this.props.onDragEvent(event, this.props.index, this.props.link, this.props.title);
-        break;
-      case "dragend":
-        this.props.onDragEvent(event);
-        break;
-      case "dragenter":
-      case "dragover":
-      case "drop":
-        if (this._allowDrop(event)) {
-          event.preventDefault();
-          this.props.onDragEvent(event, this.props.index);
-        }
-        break;
-      case "mousedown":
-        // Reset at the first mouse event of a potential drag
-        this.dragged = false;
-        break;
-    }
-  }
-
-  render() {
-    const { children, className, isDraggable, link, onClick, title } = this.props;
-    const topSiteOuterClassName = `top-site-outer${className ? ` ${className}` : ""}`;
-    const { tippyTopIcon, faviconSize } = link;
-    const [letterFallback] = title;
-    let imageClassName;
-    let imageStyle;
-    let showSmallFavicon = false;
-    let smallFaviconStyle;
-    let smallFaviconFallback;
-    if (tippyTopIcon || faviconSize >= MIN_RICH_FAVICON_SIZE) {
-      // styles and class names for top sites with rich icons
-      imageClassName = "top-site-icon rich-icon";
-      imageStyle = {
-        backgroundColor: link.backgroundColor,
-        backgroundImage: `url(${tippyTopIcon || link.favicon})`
-      };
-    } else {
-      // styles and class names for top sites with screenshot + small icon in top left corner
-      imageClassName = `screenshot${link.screenshot ? " active" : ""}`;
-      imageStyle = { backgroundImage: link.screenshot ? `url(${link.screenshot})` : "none" };
-
-      // only show a favicon in top left if it's greater than 16x16
-      if (faviconSize >= MIN_CORNER_FAVICON_SIZE) {
-        showSmallFavicon = true;
-        smallFaviconStyle = { backgroundImage: `url(${link.favicon})` };
-      } else if (link.screenshot) {
-        // Don't show a small favicon if there is no screenshot, because that
-        // would result in two fallback icons
-        showSmallFavicon = true;
-        smallFaviconFallback = true;
-      }
-    }
-    let draggableProps = {};
-    if (isDraggable) {
-      draggableProps = {
-        onClick: this.onDragEvent,
-        onDragEnd: this.onDragEvent,
-        onDragStart: this.onDragEvent,
-        onMouseDown: this.onDragEvent
-      };
-    }
-    return external__React__default.a.createElement(
-      "li",
-      _extends({ className: topSiteOuterClassName, onDrop: this.onDragEvent, onDragOver: this.onDragEvent, onDragEnter: this.onDragEvent, onDragLeave: this.onDragEvent }, draggableProps),
-      external__React__default.a.createElement(
-        "div",
-        { className: "top-site-inner" },
-        external__React__default.a.createElement(
-          "a",
-          { href: link.url, onClick: onClick },
-          external__React__default.a.createElement(
-            "div",
-            { className: "tile", "aria-hidden": true, "data-fallback": letterFallback },
-            external__React__default.a.createElement("div", { className: imageClassName, style: imageStyle }),
-            showSmallFavicon && external__React__default.a.createElement("div", {
-              className: "top-site-icon default-icon",
-              "data-fallback": smallFaviconFallback && letterFallback,
-              style: smallFaviconStyle })
-          ),
-          external__React__default.a.createElement(
-            "div",
-            { className: `title ${link.isPinned ? "pinned" : ""}` },
-            link.isPinned && external__React__default.a.createElement("div", { className: "icon icon-pin-small" }),
-            external__React__default.a.createElement(
-              "span",
-              { dir: "auto" },
-              title
-            )
-          )
-        ),
-        children
-      )
-    );
-  }
-}
-TopSite_TopSiteLink.defaultProps = {
-  title: "",
-  link: {},
-  isDraggable: true
-};
-
-class TopSite_TopSite extends external__React__default.a.PureComponent {
-  constructor(props) {
-    super(props);
-    this.state = { showContextMenu: false };
-    this.onLinkClick = this.onLinkClick.bind(this);
-    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);
-    this.onMenuUpdate = this.onMenuUpdate.bind(this);
-  }
-
-  userEvent(event) {
-    this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({
-      event,
-      source: TOP_SITES_SOURCE,
-      action_position: this.props.index
-    }));
-  }
-
-  onLinkClick(ev) {
-    this.userEvent("CLICK");
-  }
-
-  onMenuButtonClick(event) {
-    event.preventDefault();
-    this.props.onActivate(this.props.index);
-    this.setState({ showContextMenu: true });
-  }
-
-  onMenuUpdate(showContextMenu) {
-    this.setState({ showContextMenu });
-  }
-
-  render() {
-    const { props } = this;
-    const { link } = props;
-    const isContextMenuOpen = this.state.showContextMenu && props.activeIndex === props.index;
-    const title = link.label || link.hostname;
-    return external__React__default.a.createElement(
-      TopSite_TopSiteLink,
-      _extends({}, props, { onClick: this.onLinkClick, onDragEvent: this.props.onDragEvent, className: isContextMenuOpen ? "active" : "", title: title }),
-      external__React__default.a.createElement(
-        "div",
-        null,
-        external__React__default.a.createElement(
-          "button",
-          { className: "context-menu-button icon", onClick: this.onMenuButtonClick },
-          external__React__default.a.createElement(
-            "span",
-            { className: "sr-only" },
-            external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "context_menu_button_sr", values: { title } })
-          )
-        ),
-        external__React__default.a.createElement(LinkMenu["a" /* LinkMenu */], {
-          dispatch: props.dispatch,
-          index: props.index,
-          onUpdate: this.onMenuUpdate,
-          options: TOP_SITES_CONTEXT_MENU_OPTIONS,
-          site: link,
-          source: TOP_SITES_SOURCE,
-          visible: isContextMenuOpen })
-      )
-    );
-  }
-}
-TopSite_TopSite.defaultProps = {
-  link: {},
-  onActivate() {}
-};
-
-class TopSite_TopSitePlaceholder extends external__React__default.a.PureComponent {
-  constructor(props) {
-    super(props);
-    this.onEditButtonClick = this.onEditButtonClick.bind(this);
-  }
-
-  onEditButtonClick() {
-    this.props.dispatch({ type: Actions["b" /* actionTypes */].TOP_SITES_EDIT, data: { index: this.props.index } });
-  }
-
-  render() {
-    return external__React__default.a.createElement(
-      TopSite_TopSiteLink,
-      _extends({ className: "placeholder", isDraggable: false }, this.props),
-      external__React__default.a.createElement("button", { className: "context-menu-button edit-button icon",
-        title: this.props.intl.formatMessage({ id: "edit_topsites_edit_button" }),
-        onClick: this.onEditButtonClick })
-    );
-  }
-}
-
-class TopSite__TopSiteList extends external__React__default.a.PureComponent {
-  static get DEFAULT_STATE() {
-    return {
-      activeIndex: null,
-      draggedIndex: null,
-      draggedSite: null,
-      draggedTitle: null,
-      topSitesPreview: null
-    };
-  }
-
-  constructor(props) {
-    super(props);
-    this.state = TopSite__TopSiteList.DEFAULT_STATE;
-    this.onDragEvent = this.onDragEvent.bind(this);
-    this.onActivate = this.onActivate.bind(this);
-  }
-
-  componentWillUpdate(nextProps) {
-    if (this.state.draggedSite) {
-      const prevTopSites = this.props.TopSites && this.props.TopSites.rows;
-      const newTopSites = nextProps.TopSites && nextProps.TopSites.rows;
-      if (prevTopSites && prevTopSites[this.state.draggedIndex] && prevTopSites[this.state.draggedIndex].url === this.state.draggedSite.url && (!newTopSites[this.state.draggedIndex] || newTopSites[this.state.draggedIndex].url !== this.state.draggedSite.url)) {
-        // We got the new order from the redux store via props. We can clear state now.
-        this.setState(TopSite__TopSiteList.DEFAULT_STATE);
-      }
-    }
-  }
-
-  userEvent(event, index) {
-    this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({
-      event,
-      source: TOP_SITES_SOURCE,
-      action_position: index
-    }));
-  }
-
-  onDragEvent(event, index, link, title) {
-    switch (event.type) {
-      case "dragstart":
-        this.dropped = false;
-        this.setState({
-          draggedIndex: index,
-          draggedSite: link,
-          draggedTitle: title,
-          activeIndex: null
-        });
-        this.userEvent("DRAG", index);
-        break;
-      case "dragend":
-        if (!this.dropped) {
-          // If there was no drop event, reset the state to the default.
-          this.setState(TopSite__TopSiteList.DEFAULT_STATE);
-        }
-        break;
-      case "dragenter":
-        if (index === this.state.draggedIndex) {
-          this.setState({ topSitesPreview: null });
-        } else {
-          this.setState({ topSitesPreview: this._makeTopSitesPreview(index) });
-        }
-        break;
-      case "drop":
-        if (index !== this.state.draggedIndex) {
-          this.dropped = true;
-          this.props.dispatch(Actions["a" /* actionCreators */].AlsoToMain({
-            type: Actions["b" /* actionTypes */].TOP_SITES_INSERT,
-            data: { site: { url: this.state.draggedSite.url, label: this.state.draggedTitle }, index, draggedFromIndex: this.state.draggedIndex }
-          }));
-          this.userEvent("DROP", index);
-        }
-        break;
-    }
-  }
-
-  _getTopSites() {
-    // Make a copy of the sites to truncate or extend to desired length
-    let topSites = this.props.TopSites.rows.slice();
-    topSites.length = this.props.TopSitesRows * Reducers["a" /* TOP_SITES_MAX_SITES_PER_ROW */];
-    return topSites;
-  }
-
-  /**
-   * Make a preview of the topsites that will be the result of dropping the currently
-   * dragged site at the specified index.
-   */
-  _makeTopSitesPreview(index) {
-    const topSites = this._getTopSites();
-    topSites[this.state.draggedIndex] = null;
-    const pinnedOnly = topSites.map(site => site && site.isPinned ? site : null);
-    const unpinned = topSites.filter(site => site && !site.isPinned);
-    const siteToInsert = Object.assign({}, this.state.draggedSite, { isPinned: true });
-    if (!pinnedOnly[index]) {
-      pinnedOnly[index] = siteToInsert;
-    } else {
-      // Find the hole to shift the pinned site(s) towards. We shift towards the
-      // hole left by the site being dragged.
-      let holeIndex = index;
-      const indexStep = index > this.state.draggedIndex ? -1 : 1;
-      while (pinnedOnly[holeIndex]) {
-        holeIndex += indexStep;
-      }
-
-      // Shift towards the hole.
-      const shiftingStep = index > this.state.draggedIndex ? 1 : -1;
-      while (holeIndex !== index) {
-        const nextIndex = holeIndex + shiftingStep;
-        pinnedOnly[holeIndex] = pinnedOnly[nextIndex];
-        holeIndex = nextIndex;
-      }
-      pinnedOnly[index] = siteToInsert;
-    }
-
-    // Fill in the remaining holes with unpinned sites.
-    const preview = pinnedOnly;
-    for (let i = 0; i < preview.length; i++) {
-      if (!preview[i]) {
-        preview[i] = unpinned.shift() || null;
-      }
-    }
-
-    return preview;
-  }
-
-  onActivate(index) {
-    this.setState({ activeIndex: index });
-  }
-
-  render() {
-    const { props } = this;
-    const topSites = this.state.topSitesPreview || this._getTopSites();
-    const topSitesUI = [];
-    const commonProps = {
-      onDragEvent: this.onDragEvent,
-      dispatch: props.dispatch,
-      intl: props.intl
-    };
-    // We assign a key to each placeholder slot. We need it to be independent
-    // of the slot index (i below) so that the keys used stay the same during
-    // drag and drop reordering and the underlying DOM nodes are reused.
-    // This mostly (only?) affects linux so be sure to test on linux before changing.
-    let holeIndex = 0;
-    for (let i = 0, l = topSites.length; i < l; i++) {
-      const link = topSites[i];
-      const slotProps = {
-        key: link ? link.url : holeIndex++,
-        index: i
-      };
-      topSitesUI.push(!link ? external__React__default.a.createElement(TopSite_TopSitePlaceholder, _extends({}, slotProps, commonProps)) : external__React__default.a.createElement(TopSite_TopSite, _extends({
-        link: link,
-        activeIndex: this.state.activeIndex,
-        onActivate: this.onActivate
-      }, slotProps, commonProps)));
-    }
-    return external__React__default.a.createElement(
-      "ul",
-      { className: `top-sites-list${this.state.draggedSite ? " dnd-active" : ""}` },
-      topSitesUI
-    );
-  }
-}
-
-const TopSiteList = Object(external__ReactIntl_["injectIntl"])(TopSite__TopSiteList);
-// CONCATENATED MODULE: ./system-addon/content-src/components/TopSites/TopSites.jsx
-
-
-
-
-
-
-
-
-
-
-
-/**
- * Iterates through TopSites and counts types of images.
- * @param acc Accumulator for reducer.
- * @param topsite Entry in TopSites.
- */
-function countTopSitesIconsTypes(topSites) {
-  const countTopSitesTypes = (acc, link) => {
-    if (link.tippyTopIcon || link.faviconRef === "tippytop") {
-      acc.tippytop++;
-    } else if (link.faviconSize >= MIN_RICH_FAVICON_SIZE) {
-      acc.rich_icon++;
-    } else if (link.screenshot && link.faviconSize >= MIN_CORNER_FAVICON_SIZE) {
-      acc.screenshot_with_icon++;
-    } else if (link.screenshot) {
-      acc.screenshot++;
-    } else {
-      acc.no_image++;
-    }
-
-    return acc;
-  };
-
-  return topSites.reduce(countTopSitesTypes, {
-    "screenshot_with_icon": 0,
-    "screenshot": 0,
-    "tippytop": 0,
-    "rich_icon": 0,
-    "no_image": 0
-  });
-}
-
-class TopSites__TopSites extends external__React__default.a.PureComponent {
-  constructor(props) {
-    super(props);
-    this.onAddButtonClick = this.onAddButtonClick.bind(this);
-    this.onFormClose = this.onFormClose.bind(this);
-  }
-
-  /**
-   * Dispatch session statistics about the quality of TopSites icons and pinned count.
-   */
-  _dispatchTopSitesStats() {
-    const topSites = this._getTopSites();
-    const topSitesIconsStats = countTopSitesIconsTypes(topSites);
-    const topSitesPinned = topSites.filter(site => !!site.isPinned).length;
-    // Dispatch telemetry event with the count of TopSites images types.
-    this.props.dispatch(Actions["a" /* actionCreators */].AlsoToMain({
-      type: Actions["b" /* actionTypes */].SAVE_SESSION_PERF_DATA,
-      data: { topsites_icon_stats: topSitesIconsStats, topsites_pinned: topSitesPinned }
-    }));
-  }
-
-  /**
-   * Return the TopSites to display based on prefs.
-   */
-  _getTopSites() {
-    return this.props.TopSites.rows.slice(0, this.props.TopSitesRows * Reducers["a" /* TOP_SITES_MAX_SITES_PER_ROW */]);
-  }
-
-  componentDidUpdate() {
-    this._dispatchTopSitesStats();
-  }
-
-  componentDidMount() {
-    this._dispatchTopSitesStats();
-  }
-
-  onAddButtonClick() {
-    this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({
-      source: TOP_SITES_SOURCE,
-      event: "TOP_SITES_ADD_FORM_OPEN"
-    }));
-    // Negative index will prepend the TopSite at the beginning of the list
-    this.props.dispatch({ type: Actions["b" /* actionTypes */].TOP_SITES_EDIT, data: { index: -1 } });
-  }
-
-  onFormClose() {
-    this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({
-      source: TOP_SITES_SOURCE,
-      event: "TOP_SITES_EDIT_CLOSE"
-    }));
-    this.props.dispatch({ type: Actions["b" /* actionTypes */].TOP_SITES_CANCEL_EDIT });
-  }
-
-  render() {
-    const { props } = this;
-    const infoOption = {
-      header: { id: "settings_pane_topsites_header" },
-      body: { id: "settings_pane_topsites_body" }
-    };
-    const { editForm } = props.TopSites;
-
-    return external__React__default.a.createElement(
-      ComponentPerfTimer["a" /* ComponentPerfTimer */],
-      { id: "topsites", initialized: props.TopSites.initialized, dispatch: props.dispatch },
-      external__React__default.a.createElement(
-        CollapsibleSection["a" /* CollapsibleSection */],
-        { className: "top-sites", icon: "topsites", title: external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "header_top_sites" }), infoOption: infoOption, prefName: "collapseTopSites", Prefs: props.Prefs, dispatch: props.dispatch },
-        external__React__default.a.createElement(TopSiteList, { TopSites: props.TopSites, TopSitesRows: props.TopSitesRows, dispatch: props.dispatch, intl: props.intl }),
-        external__React__default.a.createElement(
-          "div",
-          { className: "edit-topsites-wrapper" },
-          external__React__default.a.createElement(
-            "div",
-            { className: "add-topsites-button" },
-            external__React__default.a.createElement(
-              "button",
-              {
-                className: "add",
-                title: this.props.intl.formatMessage({ id: "edit_topsites_add_button_tooltip" }),
-                onClick: this.onAddButtonClick },
-              external__React__default.a.createElement(external__ReactIntl_["FormattedMessage"], { id: "edit_topsites_add_button" })
-            )
-          ),
-          editForm && external__React__default.a.createElement(
-            "div",
-            { className: "edit-topsites" },
-            external__React__default.a.createElement("div", { className: "modal-overlay", onClick: this.onFormClose }),
-            external__React__default.a.createElement(
-              "div",
-              { className: "modal" },
-              external__React__default.a.createElement(TopSiteForm_TopSiteForm, {
-                site: props.TopSites.rows[editForm.index],
-                index: editForm.index,
-                onClose: this.onFormClose,
-                dispatch: this.props.dispatch,
-                intl: this.props.intl })
-            )
-          )
-        )
-      )
-    );
-  }
-}
-
-const TopSites = Object(external__ReactRedux_["connect"])(state => ({
-  TopSites: state.TopSites,
-  Prefs: state.Prefs,
-  TopSitesRows: state.Prefs.values.topSitesRows
-}))(Object(external__ReactIntl_["injectIntl"])(TopSites__TopSites));
+var Sections = __webpack_require__(16);
+
+// EXTERNAL MODULE: ./system-addon/content-src/components/TopSites/TopSites.jsx
+var TopSites = __webpack_require__(19);
+
 // CONCATENATED MODULE: ./system-addon/content-src/components/Base/Base.jsx
 
 
 
 
 
 
 
 
 
 
 
 
+
 // 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 {
@@ -3458,83 +2859,113 @@ class Base__Base extends external__React
       this.renderNotified = true;
     }
   }
 
   render() {
     const { props } = this;
     const { App, locale, strings } = props;
     const { initialized } = App;
-    const prefs = props.Prefs.values;
-
-    const shouldBeFixedToTop = PrerenderData.arePrefsValid(name => prefs[name]);
-
-    const outerClassName = `outer-wrapper${shouldBeFixedToTop ? " fixed-to-top" : ""}`;
 
     if (!props.isPrerendered && !initialized) {
       return null;
     }
 
     return external__React__default.a.createElement(
       external__ReactIntl_["IntlProvider"],
       { locale: locale, messages: strings },
       external__React__default.a.createElement(
-        "div",
-        { className: outerClassName },
-        external__React__default.a.createElement(
-          "main",
-          null,
-          prefs.showSearch && 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(ManualMigration, null),
-            prefs.showTopSites && external__React__default.a.createElement(TopSites, null),
-            external__React__default.a.createElement(Sections["a" /* Sections */], null)
-          ),
-          external__React__default.a.createElement(ConfirmDialog, null)
-        ),
-        initialized && external__React__default.a.createElement(PreferencesPane, null)
+        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 {
+  render() {
+    const { props } = this;
+    const { App } = props;
+    const { initialized } = App;
+    const prefs = props.Prefs.values;
+
+    const shouldBeFixedToTop = PrerenderData.arePrefsValid(name => prefs[name]);
+
+    const outerClassName = `outer-wrapper${shouldBeFixedToTop ? " fixed-to-top" : ""} ${prefs.enableWideLayout ? "wide-layout-enabled" : "wide-layout-disabled"}`;
+
+    return external__React__default.a.createElement(
+      "div",
+      { className: outerClassName },
+      external__React__default.a.createElement(
+        "main",
+        null,
+        prefs.showSearch && 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(ManualMigration, null),
+          prefs.showTopSites && external__React__default.a.createElement(TopSites["a" /* TopSites */], null),
+          external__React__default.a.createElement(Sections["a" /* Sections */], null)
+        ),
+        external__React__default.a.createElement(ConfirmDialog, null)
+      ),
+      initialized && external__React__default.a.createElement(
+        "div",
+        { className: "prefs-pane" },
+        external__React__default.a.createElement(
+          ErrorBoundary["a" /* ErrorBoundary */],
+          { className: "sidebar" },
+          " ",
+          external__React__default.a.createElement(PreferencesPane, null),
+          " "
+        )
+      )
+    );
+  }
+}
+/* unused harmony export BaseContent */
+
+
 const Base = Object(external__ReactRedux_["connect"])(state => ({ App: state.App, Prefs: state.Prefs }))(Base__Base);
 /* harmony export (immutable) */ __webpack_exports__["a"] = Base;
 
 
 /***/ }),
-/* 13 */
+/* 15 */
 /***/ (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__(4)))
+/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 14 */
+/* 16 */
 /***/ (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__(15);
+/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_content_src_components_Card_Card__ = __webpack_require__(17);
 /* 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__(0);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_CollapsibleSection_CollapsibleSection__ = __webpack_require__(7);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_ComponentPerfTimer_ComponentPerfTimer__ = __webpack_require__(8);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_CollapsibleSection_CollapsibleSection__ = __webpack_require__(9);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_ComponentPerfTimer_ComponentPerfTimer__ = __webpack_require__(10);
+/* 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__(1);
 /* 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__(16);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_content_src_components_Topics_Topics__ = __webpack_require__(18);
 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
 
 
 
 
 
 
 
@@ -3738,20 +3169,20 @@ class _Sections extends __WEBPACK_IMPORT
   }
 }
 /* unused harmony export _Sections */
 
 
 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__(4)))
+/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 15 */
+/* 17 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 
 // EXTERNAL MODULE: ./system-addon/common/Actions.jsm
 var Actions = __webpack_require__(0);
 
 // CONCATENATED MODULE: ./system-addon/content-src/components/Card/types.js
@@ -3773,17 +3204,17 @@ const cardContextTypes = {
     icon: "now"
   }
 };
 // EXTERNAL MODULE: external "ReactIntl"
 var external__ReactIntl_ = __webpack_require__(2);
 var external__ReactIntl__default = /*#__PURE__*/__webpack_require__.n(external__ReactIntl_);
 
 // EXTERNAL MODULE: ./system-addon/content-src/components/LinkMenu/LinkMenu.jsx + 2 modules
-var LinkMenu = __webpack_require__(6);
+var LinkMenu = __webpack_require__(8);
 
 // EXTERNAL MODULE: external "React"
 var external__React_ = __webpack_require__(1);
 var external__React__default = /*#__PURE__*/__webpack_require__.n(external__React_);
 
 // CONCATENATED MODULE: ./system-addon/content-src/components/Card/Card.jsx
 
 
@@ -3914,17 +3345,17 @@ class Card_Card extends external__React_
     const hasImage = link.image || link.hasImage;
     const imageStyle = { backgroundImage: link.image ? `url(${link.image})` : "none" };
 
     return external__React__default.a.createElement(
       "li",
       { className: `card-outer${isContextMenuOpen ? " active" : ""}${props.placeholder ? " placeholder" : ""}` },
       external__React__default.a.createElement(
         "a",
-        { href: link.url, onClick: !props.placeholder && this.onLinkClick },
+        { href: link.url, onClick: !props.placeholder ? this.onLinkClick : undefined },
         external__React__default.a.createElement(
           "div",
           { className: "card" },
           hasImage && external__React__default.a.createElement(
             "div",
             { className: "card-preview-image-outer" },
             external__React__default.a.createElement("div", { className: `card-preview-image${this.state.imageLoaded ? " loaded" : ""}`, style: imageStyle })
           ),
@@ -3995,17 +3426,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;
 
 
 /***/ }),
-/* 16 */
+/* 18 */
 /***/ (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__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);
 
@@ -4051,22 +3482,803 @@ class Topics extends __WEBPACK_IMPORTED_
       )
     );
   }
 }
 /* harmony export (immutable) */ __webpack_exports__["a"] = Topics;
 
 
 /***/ }),
-/* 17 */
+/* 19 */
 /***/ (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__(0);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_PerfService_jsm__ = __webpack_require__(9);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl__ = __webpack_require__(2);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_intl__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_CollapsibleSection_CollapsibleSection__ = __webpack_require__(9);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_ComponentPerfTimer_ComponentPerfTimer__ = __webpack_require__(10);
+/* 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__(1);
+/* 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__(20);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__TopSite__ = __webpack_require__(21);
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * Iterates through TopSites and counts types of images.
+ * @param acc Accumulator for reducer.
+ * @param topsite Entry in TopSites.
+ */
+function countTopSitesIconsTypes(topSites) {
+  const countTopSitesTypes = (acc, link) => {
+    if (link.tippyTopIcon || link.faviconRef === "tippytop") {
+      acc.tippytop++;
+    } else if (link.faviconSize >= __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["b" /* MIN_RICH_FAVICON_SIZE */]) {
+      acc.rich_icon++;
+    } else if (link.screenshot && link.faviconSize >= __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["a" /* MIN_CORNER_FAVICON_SIZE */]) {
+      acc.screenshot_with_icon++;
+    } else if (link.screenshot) {
+      acc.screenshot++;
+    } else {
+      acc.no_image++;
+    }
+
+    return acc;
+  };
+
+  return topSites.reduce(countTopSitesTypes, {
+    "screenshot_with_icon": 0,
+    "screenshot": 0,
+    "tippytop": 0,
+    "rich_icon": 0,
+    "no_image": 0
+  });
+}
+
+class _TopSites extends __WEBPACK_IMPORTED_MODULE_6_react___default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    this.onAddButtonClick = this.onAddButtonClick.bind(this);
+    this.onFormClose = this.onFormClose.bind(this);
+  }
+
+  /**
+   * Dispatch session statistics about the quality of TopSites icons and pinned count.
+   */
+  _dispatchTopSitesStats() {
+    const topSites = this._getVisibleTopSites();
+    const topSitesIconsStats = countTopSitesIconsTypes(topSites);
+    const topSitesPinned = topSites.filter(site => !!site.isPinned).length;
+    // Dispatch telemetry event with the count of TopSites images types.
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SAVE_SESSION_PERF_DATA,
+      data: { topsites_icon_stats: topSitesIconsStats, topsites_pinned: topSitesPinned }
+    }));
+  }
+
+  /**
+   * Return the TopSites that are visible based on prefs and window width.
+   */
+  _getVisibleTopSites() {
+    // We hide 2 sites per row when not in the wide layout.
+    let sitesPerRow = __WEBPACK_IMPORTED_MODULE_7_common_Reducers_jsm__["a" /* TOP_SITES_MAX_SITES_PER_ROW */];
+    // $break-point-widest = 1072px (from _variables.scss)
+    if (!global.matchMedia(`(min-width: 1072px)`).matches) {
+      sitesPerRow -= 2;
+    }
+    return this.props.TopSites.rows.slice(0, this.props.TopSitesRows * sitesPerRow);
+  }
+
+  componentDidUpdate() {
+    this._dispatchTopSitesStats();
+  }
+
+  componentDidMount() {
+    this._dispatchTopSitesStats();
+  }
+
+  onAddButtonClick() {
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({
+      source: __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["d" /* TOP_SITES_SOURCE */],
+      event: "TOP_SITES_ADD_FORM_OPEN"
+    }));
+    // Negative index will prepend the TopSite at the beginning of the list
+    this.props.dispatch({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOP_SITES_EDIT, data: { index: -1 } });
+  }
+
+  onFormClose() {
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({
+      source: __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["d" /* TOP_SITES_SOURCE */],
+      event: "TOP_SITES_EDIT_CLOSE"
+    }));
+    this.props.dispatch({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOP_SITES_CANCEL_EDIT });
+  }
+
+  render() {
+    const { props } = this;
+    const infoOption = {
+      header: { id: "settings_pane_topsites_header" },
+      body: { id: "settings_pane_topsites_body" }
+    };
+    const { editForm } = props.TopSites;
+
+    return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
+      __WEBPACK_IMPORTED_MODULE_4_content_src_components_ComponentPerfTimer_ComponentPerfTimer__["a" /* ComponentPerfTimer */],
+      { id: "topsites", initialized: props.TopSites.initialized, dispatch: props.dispatch },
+      __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
+        __WEBPACK_IMPORTED_MODULE_3_content_src_components_CollapsibleSection_CollapsibleSection__["a" /* CollapsibleSection */],
+        { className: "top-sites", icon: "topsites", title: __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_intl__["FormattedMessage"], { id: "header_top_sites" }), infoOption: infoOption, prefName: "collapseTopSites", Prefs: props.Prefs, dispatch: props.dispatch },
+        __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_9__TopSite__["a" /* TopSiteList */], { TopSites: props.TopSites, TopSitesRows: props.TopSitesRows, dispatch: props.dispatch, intl: props.intl }),
+        __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
+          "div",
+          { className: "edit-topsites-wrapper" },
+          __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
+            "div",
+            { className: "add-topsites-button" },
+            __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
+              "button",
+              {
+                className: "add",
+                title: this.props.intl.formatMessage({ id: "edit_topsites_add_button_tooltip" }),
+                onClick: this.onAddButtonClick },
+              __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_intl__["FormattedMessage"], { id: "edit_topsites_add_button" })
+            )
+          ),
+          editForm && __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
+            "div",
+            { className: "edit-topsites" },
+            __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement("div", { className: "modal-overlay", onClick: this.onFormClose }),
+            __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
+              "div",
+              { className: "modal" },
+              __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8__TopSiteForm__["a" /* TopSiteForm */], {
+                site: props.TopSites.rows[editForm.index],
+                index: editForm.index,
+                onClose: this.onFormClose,
+                dispatch: this.props.dispatch,
+                intl: this.props.intl })
+            )
+          )
+        )
+      )
+    );
+  }
+}
+/* unused harmony export _TopSites */
+
+
+const TopSites = Object(__WEBPACK_IMPORTED_MODULE_5_react_redux__["connect"])(state => ({
+  TopSites: state.TopSites,
+  Prefs: state.Prefs,
+  TopSitesRows: state.Prefs.values.topSitesRows
+}))(Object(__WEBPACK_IMPORTED_MODULE_1_react_intl__["injectIntl"])(_TopSites));
+/* harmony export (immutable) */ __webpack_exports__["a"] = TopSites;
+
+/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
+
+/***/ }),
+/* 20 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(0);
+/* 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_react__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__TopSitesConstants__ = __webpack_require__(5);
+
+
+
+
+
+class TopSiteForm extends __WEBPACK_IMPORTED_MODULE_2_react___default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    const { site } = props;
+    this.state = {
+      label: site ? site.label || site.hostname : "",
+      url: site ? site.url : "",
+      validationError: false
+    };
+    this.onLabelChange = this.onLabelChange.bind(this);
+    this.onUrlChange = this.onUrlChange.bind(this);
+    this.onCancelButtonClick = this.onCancelButtonClick.bind(this);
+    this.onDoneButtonClick = this.onDoneButtonClick.bind(this);
+    this.onUrlInputMount = this.onUrlInputMount.bind(this);
+  }
+
+  onLabelChange(event) {
+    this.resetValidation();
+    this.setState({ "label": event.target.value });
+  }
+
+  onUrlChange(event) {
+    this.resetValidation();
+    this.setState({ "url": event.target.value });
+  }
+
+  onCancelButtonClick(ev) {
+    ev.preventDefault();
+    this.props.onClose();
+  }
+
+  onDoneButtonClick(ev) {
+    ev.preventDefault();
+
+    if (this.validateForm()) {
+      const site = { url: this.cleanUrl() };
+      const { index } = this.props;
+      if (this.state.label !== "") {
+        site.label = this.state.label;
+      }
+
+      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
+        type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOP_SITES_PIN,
+        data: { site, index }
+      }));
+      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({
+        source: __WEBPACK_IMPORTED_MODULE_3__TopSitesConstants__["d" /* TOP_SITES_SOURCE */],
+        event: "TOP_SITES_EDIT",
+        action_position: index
+      }));
+
+      this.props.onClose();
+    }
+  }
+
+  cleanUrl() {
+    let { url } = this.state;
+    // If we are missing a protocol, prepend http://
+    if (!url.startsWith("http:") && !url.startsWith("https:")) {
+      url = `http://${url}`;
+    }
+    return url;
+  }
+
+  resetValidation() {
+    if (this.state.validationError) {
+      this.setState({ validationError: false });
+    }
+  }
+
+  validateUrl() {
+    try {
+      return !!new URL(this.cleanUrl());
+    } catch (e) {
+      return false;
+    }
+  }
+
+  validateForm() {
+    this.resetValidation();
+    // Only the URL is required and must be valid.
+    if (!this.state.url || !this.validateUrl()) {
+      this.setState({ validationError: true });
+      this.inputUrl.focus();
+      return false;
+    }
+    return true;
+  }
+
+  onUrlInputMount(input) {
+    this.inputUrl = input;
+  }
+
+  render() {
+    // For UI purposes, editing without an existing link is "add"
+    const showAsAdd = !this.props.site;
+
+    return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+      "form",
+      { className: "topsite-form" },
+      __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+        "section",
+        { className: "edit-topsites-inner-wrapper" },
+        __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+          "div",
+          { className: "form-wrapper" },
+          __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+            "h3",
+            { className: "section-title" },
+            __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_intl__["FormattedMessage"], { id: showAsAdd ? "topsites_form_add_header" : "topsites_form_edit_header" })
+          ),
+          __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+            "div",
+            { className: "field title" },
+            __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement("input", {
+              type: "text",
+              value: this.state.label,
+              onChange: this.onLabelChange,
+              placeholder: this.props.intl.formatMessage({ id: "topsites_form_title_placeholder" }) })
+          ),
+          __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+            "div",
+            { className: `field url${this.state.validationError ? " invalid" : ""}` },
+            __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement("input", {
+              type: "text",
+              ref: this.onUrlInputMount,
+              value: this.state.url,
+              onChange: this.onUrlChange,
+              placeholder: this.props.intl.formatMessage({ id: "topsites_form_url_placeholder" }) }),
+            this.state.validationError && __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+              "aside",
+              { className: "error-tooltip" },
+              __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_intl__["FormattedMessage"], { id: "topsites_form_url_validation" })
+            )
+          )
+        )
+      ),
+      __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+        "section",
+        { className: "actions" },
+        __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+          "button",
+          { className: "cancel", type: "button", onClick: this.onCancelButtonClick },
+          __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_intl__["FormattedMessage"], { id: "topsites_form_cancel_button" })
+        ),
+        __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(
+          "button",
+          { className: "done", type: "submit", onClick: this.onDoneButtonClick },
+          __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_intl__["FormattedMessage"], { id: showAsAdd ? "topsites_form_add_button" : "topsites_form_save_button" })
+        )
+      )
+    );
+  }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = TopSiteForm;
+
+
+TopSiteForm.defaultProps = {
+  TopSite: null,
+  index: -1
+};
+
+/***/ }),
+/* 21 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl__ = __webpack_require__(2);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_intl__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_LinkMenu_LinkMenu__ = __webpack_require__(8);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_common_Reducers_jsm__ = __webpack_require__(6);
+var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+
+
+
+
+
+
+
+class TopSiteLink extends __WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    this.onDragEvent = this.onDragEvent.bind(this);
+  }
+
+  /*
+   * Helper to determine whether the drop zone should allow a drop. We only allow
+   * dropping top sites for now.
+   */
+  _allowDrop(e) {
+    return e.dataTransfer.types.includes("text/topsite-index");
+  }
+
+  onDragEvent(event) {
+    switch (event.type) {
+      case "click":
+        // Stop any link clicks if we started any dragging
+        if (this.dragged) {
+          event.preventDefault();
+        }
+        break;
+      case "dragstart":
+        this.dragged = true;
+        event.dataTransfer.effectAllowed = "move";
+        event.dataTransfer.setData("text/topsite-index", this.props.index);
+        event.target.blur();
+        this.props.onDragEvent(event, this.props.index, this.props.link, this.props.title);
+        break;
+      case "dragend":
+        this.props.onDragEvent(event);
+        break;
+      case "dragenter":
+      case "dragover":
+      case "drop":
+        if (this._allowDrop(event)) {
+          event.preventDefault();
+          this.props.onDragEvent(event, this.props.index);
+        }
+        break;
+      case "mousedown":
+        // Reset at the first mouse event of a potential drag
+        this.dragged = false;
+        break;
+    }
+  }
+
+  render() {
+    const { children, className, isDraggable, link, onClick, title } = this.props;
+    const topSiteOuterClassName = `top-site-outer${className ? ` ${className}` : ""}${link.isDragged ? " dragged" : ""}`;
+    const { tippyTopIcon, faviconSize } = link;
+    const [letterFallback] = title;
+    let imageClassName;
+    let imageStyle;
+    let showSmallFavicon = false;
+    let smallFaviconStyle;
+    let smallFaviconFallback;
+    if (tippyTopIcon || faviconSize >= __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["b" /* MIN_RICH_FAVICON_SIZE */]) {
+      // styles and class names for top sites with rich icons
+      imageClassName = "top-site-icon rich-icon";
+      imageStyle = {
+        backgroundColor: link.backgroundColor,
+        backgroundImage: `url(${tippyTopIcon || link.favicon})`
+      };
+    } else {
+      // styles and class names for top sites with screenshot + small icon in top left corner
+      imageClassName = `screenshot${link.screenshot ? " active" : ""}`;
+      imageStyle = { backgroundImage: link.screenshot ? `url(${link.screenshot})` : "none" };
+
+      // only show a favicon in top left if it's greater than 16x16
+      if (faviconSize >= __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["a" /* MIN_CORNER_FAVICON_SIZE */]) {
+        showSmallFavicon = true;
+        smallFaviconStyle = { backgroundImage: `url(${link.favicon})` };
+      } else if (link.screenshot) {
+        // Don't show a small favicon if there is no screenshot, because that
+        // would result in two fallback icons
+        showSmallFavicon = true;
+        smallFaviconFallback = true;
+      }
+    }
+    let draggableProps = {};
+    if (isDraggable) {
+      draggableProps = {
+        onClick: this.onDragEvent,
+        onDragEnd: this.onDragEvent,
+        onDragStart: this.onDragEvent,
+        onMouseDown: this.onDragEvent
+      };
+    }
+    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+      "li",
+      _extends({ className: topSiteOuterClassName, onDrop: this.onDragEvent, onDragOver: this.onDragEvent, onDragEnter: this.onDragEvent, onDragLeave: this.onDragEvent }, draggableProps),
+      __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+        "div",
+        { className: "top-site-inner" },
+        __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+          "a",
+          { href: link.url, onClick: onClick },
+          __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+            "div",
+            { className: "tile", "aria-hidden": true, "data-fallback": letterFallback },
+            __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement("div", { className: imageClassName, style: imageStyle }),
+            showSmallFavicon && __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement("div", {
+              className: "top-site-icon default-icon",
+              "data-fallback": smallFaviconFallback && letterFallback,
+              style: smallFaviconStyle })
+          ),
+          __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+            "div",
+            { className: `title ${link.isPinned ? "pinned" : ""}` },
+            link.isPinned && __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement("div", { className: "icon icon-pin-small" }),
+            __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+              "span",
+              { dir: "auto" },
+              title
+            )
+          )
+        ),
+        children
+      )
+    );
+  }
+}
+/* unused harmony export TopSiteLink */
+
+TopSiteLink.defaultProps = {
+  title: "",
+  link: {},
+  isDraggable: true
+};
+
+class TopSite extends __WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    this.state = { showContextMenu: false };
+    this.onLinkClick = this.onLinkClick.bind(this);
+    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);
+    this.onMenuUpdate = this.onMenuUpdate.bind(this);
+  }
+
+  userEvent(event) {
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({
+      event,
+      source: __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["d" /* TOP_SITES_SOURCE */],
+      action_position: this.props.index
+    }));
+  }
+
+  onLinkClick(ev) {
+    this.userEvent("CLICK");
+  }
+
+  onMenuButtonClick(event) {
+    event.preventDefault();
+    this.props.onActivate(this.props.index);
+    this.setState({ showContextMenu: true });
+  }
+
+  onMenuUpdate(showContextMenu) {
+    this.setState({ showContextMenu });
+  }
+
+  render() {
+    const { props } = this;
+    const { link } = props;
+    const isContextMenuOpen = this.state.showContextMenu && props.activeIndex === props.index;
+    const title = link.label || link.hostname;
+    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+      TopSiteLink,
+      _extends({}, props, { onClick: this.onLinkClick, onDragEvent: this.props.onDragEvent, className: `${props.className || ""}${isContextMenuOpen ? " active" : ""}`, title: title }),
+      __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+        "div",
+        null,
+        __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+          "button",
+          { className: "context-menu-button icon", onClick: this.onMenuButtonClick },
+          __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+            "span",
+            { className: "sr-only" },
+            __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_intl__["FormattedMessage"], { id: "context_menu_button_sr", values: { title } })
+          )
+        ),
+        __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_content_src_components_LinkMenu_LinkMenu__["a" /* LinkMenu */], {
+          dispatch: props.dispatch,
+          index: props.index,
+          onUpdate: this.onMenuUpdate,
+          options: __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["c" /* TOP_SITES_CONTEXT_MENU_OPTIONS */],
+          site: link,
+          source: __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["d" /* TOP_SITES_SOURCE */],
+          visible: isContextMenuOpen })
+      )
+    );
+  }
+}
+/* unused harmony export TopSite */
+
+TopSite.defaultProps = {
+  link: {},
+  onActivate() {}
+};
+
+class TopSitePlaceholder extends __WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    this.onEditButtonClick = this.onEditButtonClick.bind(this);
+  }
+
+  onEditButtonClick() {
+    this.props.dispatch({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOP_SITES_EDIT, data: { index: this.props.index } });
+  }
+
+  render() {
+    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+      TopSiteLink,
+      _extends({}, this.props, { className: `placeholder ${this.props.className || ""}`, isDraggable: false }),
+      __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement("button", { className: "context-menu-button edit-button icon",
+        title: this.props.intl.formatMessage({ id: "edit_topsites_edit_button" }),
+        onClick: this.onEditButtonClick })
+    );
+  }
+}
+/* unused harmony export TopSitePlaceholder */
+
+
+class _TopSiteList extends __WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent {
+  static get DEFAULT_STATE() {
+    return {
+      activeIndex: null,
+      draggedIndex: null,
+      draggedSite: null,
+      draggedTitle: null,
+      topSitesPreview: null
+    };
+  }
+
+  constructor(props) {
+    super(props);
+    this.state = _TopSiteList.DEFAULT_STATE;
+    this.onDragEvent = this.onDragEvent.bind(this);
+    this.onActivate = this.onActivate.bind(this);
+  }
+
+  componentWillReceiveProps(nextProps) {
+    if (this.state.draggedSite) {
+      const prevTopSites = this.props.TopSites && this.props.TopSites.rows;
+      const newTopSites = nextProps.TopSites && nextProps.TopSites.rows;
+      if (prevTopSites && prevTopSites[this.state.draggedIndex] && prevTopSites[this.state.draggedIndex].url === this.state.draggedSite.url && (!newTopSites[this.state.draggedIndex] || newTopSites[this.state.draggedIndex].url !== this.state.draggedSite.url)) {
+        // We got the new order from the redux store via props. We can clear state now.
+        this.setState(_TopSiteList.DEFAULT_STATE);
+      }
+    }
+  }
+
+  userEvent(event, index) {
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({
+      event,
+      source: __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["d" /* TOP_SITES_SOURCE */],
+      action_position: index
+    }));
+  }
+
+  onDragEvent(event, index, link, title) {
+    switch (event.type) {
+      case "dragstart":
+        this.dropped = false;
+        this.setState({
+          draggedIndex: index,
+          draggedSite: link,
+          draggedTitle: title,
+          activeIndex: null
+        });
+        this.userEvent("DRAG", index);
+        break;
+      case "dragend":
+        if (!this.dropped) {
+          // If there was no drop event, reset the state to the default.
+          this.setState(_TopSiteList.DEFAULT_STATE);
+        }
+        break;
+      case "dragenter":
+        if (index === this.state.draggedIndex) {
+          this.setState({ topSitesPreview: null });
+        } else {
+          this.setState({ topSitesPreview: this._makeTopSitesPreview(index) });
+        }
+        break;
+      case "drop":
+        if (index !== this.state.draggedIndex) {
+          this.dropped = true;
+          this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
+            type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOP_SITES_INSERT,
+            data: { site: { url: this.state.draggedSite.url, label: this.state.draggedTitle }, index, draggedFromIndex: this.state.draggedIndex }
+          }));
+          this.userEvent("DROP", index);
+        }
+        break;
+    }
+  }
+
+  _getTopSites() {
+    // Make a copy of the sites to truncate or extend to desired length
+    let topSites = this.props.TopSites.rows.slice();
+    topSites.length = this.props.TopSitesRows * __WEBPACK_IMPORTED_MODULE_5_common_Reducers_jsm__["a" /* TOP_SITES_MAX_SITES_PER_ROW */];
+    return topSites;
+  }
+
+  /**
+   * Make a preview of the topsites that will be the result of dropping the currently
+   * dragged site at the specified index.
+   */
+  _makeTopSitesPreview(index) {
+    const topSites = this._getTopSites();
+    topSites[this.state.draggedIndex] = null;
+    const pinnedOnly = topSites.map(site => site && site.isPinned ? site : null);
+    const unpinned = topSites.filter(site => site && !site.isPinned);
+    const siteToInsert = Object.assign({}, this.state.draggedSite, { isPinned: true, isDragged: true });
+    if (!pinnedOnly[index]) {
+      pinnedOnly[index] = siteToInsert;
+    } else {
+      // Find the hole to shift the pinned site(s) towards. We shift towards the
+      // hole left by the site being dragged.
+      let holeIndex = index;
+      const indexStep = index > this.state.draggedIndex ? -1 : 1;
+      while (pinnedOnly[holeIndex]) {
+        holeIndex += indexStep;
+      }
+
+      // Shift towards the hole.
+      const shiftingStep = index > this.state.draggedIndex ? 1 : -1;
+      while (holeIndex !== index) {
+        const nextIndex = holeIndex + shiftingStep;
+        pinnedOnly[holeIndex] = pinnedOnly[nextIndex];
+        holeIndex = nextIndex;
+      }
+      pinnedOnly[index] = siteToInsert;
+    }
+
+    // Fill in the remaining holes with unpinned sites.
+    const preview = pinnedOnly;
+    for (let i = 0; i < preview.length; i++) {
+      if (!preview[i]) {
+        preview[i] = unpinned.shift() || null;
+      }
+    }
+
+    return preview;
+  }
+
+  onActivate(index) {
+    this.setState({ activeIndex: index });
+  }
+
+  render() {
+    const { props } = this;
+    const topSites = this.state.topSitesPreview || this._getTopSites();
+    const topSitesUI = [];
+    const commonProps = {
+      onDragEvent: this.onDragEvent,
+      dispatch: props.dispatch,
+      intl: props.intl
+    };
+    // We assign a key to each placeholder slot. We need it to be independent
+    // of the slot index (i below) so that the keys used stay the same during
+    // drag and drop reordering and the underlying DOM nodes are reused.
+    // This mostly (only?) affects linux so be sure to test on linux before changing.
+    let holeIndex = 0;
+
+    // On narrow viewports, we only show 6 sites per row. We'll mark the rest as
+    // .hide-for-narrow to hide in CSS via @media query.
+    const maxNarrowVisibleIndex = props.TopSitesRows * 6;
+
+    for (let i = 0, l = topSites.length; i < l; i++) {
+      const link = topSites[i];
+      const slotProps = {
+        key: link ? link.url : holeIndex++,
+        index: i
+      };
+      if (i >= maxNarrowVisibleIndex) {
+        slotProps.className = "hide-for-narrow";
+      }
+      topSitesUI.push(!link ? __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(TopSitePlaceholder, _extends({}, slotProps, commonProps)) : __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(TopSite, _extends({
+        link: link,
+        activeIndex: this.state.activeIndex,
+        onActivate: this.onActivate
+      }, slotProps, commonProps)));
+    }
+    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
+      "ul",
+      { className: `top-sites-list${this.state.draggedSite ? " dnd-active" : ""}` },
+      topSitesUI
+    );
+  }
+}
+/* unused harmony export _TopSiteList */
+
+
+const TopSiteList = Object(__WEBPACK_IMPORTED_MODULE_1_react_intl__["injectIntl"])(_TopSiteList);
+/* harmony export (immutable) */ __webpack_exports__["a"] = TopSiteList;
+
+
+/***/ }),
+/* 22 */
+/***/ (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__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_PerfService_jsm__ = __webpack_require__(11);
 
 
 
 const VISIBLE = "visible";
 const VISIBILITY_CHANGE_EVENT = "visibilitychange";
 
 class DetectUserSessionStart {
   constructor(store, options = {}) {
@@ -4123,26 +4335,26 @@ class DetectUserSessionStart {
     if (this.document.visibilityState === VISIBLE) {
       this._sendEvent();
       this.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);
     }
   }
 }
 /* harmony export (immutable) */ __webpack_exports__["a"] = DetectUserSessionStart;
 
-/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(4)))
+/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 18 */
+/* 23 */
 /***/ (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__(0);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_redux__ = __webpack_require__(19);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_redux__ = __webpack_require__(24);
 /* 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 */
@@ -4281,24 +4493,25 @@ function initStore(reducers, initialStat
         console.error("Content msg:", msg, "Dispatch error: ", ex); // eslint-disable-line no-console
         dump(`Content msg: ${JSON.stringify(msg)}\nDispatch error: ${ex}\n${ex.stack}`);
       }
     });
   }
 
   return store;
 }
-/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(4)))
+/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 19 */
+/* 24 */
 /***/ (function(module, exports) {
 
 module.exports = Redux;
 
 /***/ }),
-/* 20 */
+/* 25 */
 /***/ (function(module, exports) {
 
 module.exports = ReactDOM;
 
 /***/ })
-/******/ ]);
\ No newline at end of file
+/******/ ]);
+//# sourceMappingURL=activity-stream.bundle.js.map
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/data/content/activity-stream.bundle.js.map
@@ -0,0 +1,1 @@
+{"version":3,"sources":["webpack:///webpack/bootstrap c8b6b3c95425ced9cdc8","webpack:///./system-addon/common/Actions.jsm","webpack:///external \"React\"","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/components/ErrorBoundary/ErrorBoundary.jsx","webpack:///./system-addon/content-src/components/ContextMenu/ContextMenu.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/CollapsibleSection/CollapsibleSection.jsx","webpack:///./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","webpack:///./system-addon/common/PerfService.jsm","webpack:///./system-addon/content-src/activity-stream.jsx","webpack:///./system-addon/content-src/lib/snippets.js","webpack:///./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","webpack:///./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","webpack:///./system-addon/content-src/components/PreferencesPane/PreferencesPane.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/Topics/Topics.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSites.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteForm.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSite.jsx","webpack:///./system-addon/content-src/lib/detect-user-session-start.js","webpack:///./system-addon/content-src/lib/init-store.js","webpack:///external \"Redux\"","webpack:///external \"ReactDOM\""],"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","Dialog","visible","Sections","PreferencesPane","prevState","at","INIT","insertPinned","links","pinned","pinnedUrls","link","newLinks","filter","includes","isPinned","pinIndex","val","index","length","splice","hasMatch","newRows","TOP_SITES_UPDATED","TOP_SITES_EDIT","TOP_SITES_CANCEL_EDIT","SCREENSHOT_UPDATED","row","screenshot","PLACES_BOOKMARK_ADDED","bookmarkGuid","bookmarkTitle","dateAdded","bookmarkDateCreated","PLACES_BOOKMARK_REMOVED","newSite","DIALOG_OPEN","DIALOG_CANCEL","DELETE_HISTORY_URL","newValues","PREFS_INITIAL_VALUES","PREF_CHANGED","newState","SECTION_DEREGISTER","section","id","SECTION_REGISTER","order","undefined","findIndex","title","enabled","SECTION_UPDATE","dedupeConfigurations","dedupeConf","dedupedRows","dedupeFrom","reduce","dedupeSectionId","dedupeSection","find","s","SECTION_UPDATE_CARD","card","PLACES_LINKS_DELETED","PLACES_LINK_BLOCKED","SNIPPETS_DATA","SNIPPETS_RESET","SETTINGS_OPEN","SETTINGS_CLOSE","ErrorBoundaryFallback","React","PureComponent","props","windowObj","window","onClick","bind","location","reload","render","defaultClass","className","defaultProps","ErrorBoundary","state","hasError","componentDidCatch","error","info","setState","children","FallbackComponent","hideContext","onUpdate","componentWillMount","componentDidUpdate","prevProps","setTimeout","addEventListener","removeEventListener","componentWillUnmount","option","i","onKeyDown","event","shiftKey","first","last","icon","label","LinkMenuOptions","Separator","RemoveBookmark","ac","DELETE_BOOKMARK_BY_ID","userEvent","AddBookmark","BOOKMARK_URL","OpenInNewWindow","OPEN_NEW_WINDOW","referrer","OpenInPrivateWindow","OPEN_PRIVATE_WINDOW","BlockUrl","eventSource","BLOCK_URL","impression","block","tiles","guid","pos","WebExtDismiss","string_id","WEBEXT_DISMISS","action_position","DeleteUrl","onConfirm","forceBlock","body_string_id","confirm_button_string_id","cancel_button_string_id","PinTopSite","TOP_SITES_PIN","UnpinTopSite","TOP_SITES_UNPIN","SaveToPocket","SAVE_TO_POCKET","pocket","EditTopSite","CheckBookmark","CheckPinTopSite","DEFAULT_SITE_MENU_OPTIONS","getOptions","propOptions","isDefault","intl","formatMessage","dispatch","shouldSendImpressionStats","LinkMenu","injectIntl","VISIBLE","VISIBILITY_CHANGE_EVENT","getFormattedMessage","message","getCollapsed","prefName","Info","onInfoEnter","onInfoLeave","onManageClick","infoActive","_setInfoState","nextActive","relatedTarget","currentTarget","compareDocumentPosition","Node","DOCUMENT_POSITION_CONTAINS","infoOption","infoOptionIconA11yAttrs","sectionInfoTitle","header","body","href","InfoIntl","Disclaimer","onAcknowledge","disclaimerPref","disclaimer","text","button","DisclaimerIntl","_CollapsibleSection","onBodyMount","onHeaderClick","onTransitionEnd","enableOrDisableAnimation","enableAnimation","isAnimating","document","componentWillUpdate","nextProps","sectionBody","scrollHeight","visibilityState","node","maxHeight","renderIcon","startsWith","backgroundImage","isCollapsible","isCollapsed","needsDisclaimer","global","CollapsibleSection","RECORDED_SECTIONS","ComponentPerfTimer","Component","perfSvc","_sendBadStateEvent","_sendPaintedEvent","_reportMissingData","_timestampHandled","_recordedFirstRender","componentDidMount","_maybeSendPaintedEvent","_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","store","initStore","gActivityStreamPrerenderedState","sendEventOrAddListener","NEW_TAB_STATE_REQUEST","ReactDOM","hydrate","documentElement","lang","gActivityStreamStrings","getElementById","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","blockList","get","blockSnippetById","SNIPPETS_BLOCKLIST_UPDATED","disableOnboarding","DISABLE_ONBOARDING","showFirefoxAccounts","SHOW_FIREFOX_ACCOUNTS","connect","_openDB","_restoreFromDb","modifier","Promise","resolve","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","e","_noSnippetFallback","_forceOnboardingVisibility","shouldBeVisible","onboardingEl","style","display","_showRemoteSnippets","snippetsEl","elementId","innerHTML","scriptEl","getElementsByTagName","relocatedScript","createElement","parentNode","replaceChild","msg","SNIPPET_BLOCKED","init","addMessageListener","keys","dispatchEvent","Event","uninit","removeMessageListener","snippets","initializing","subscribe","getState","disableSnippets","_handleCancelBtn","_handleConfirmBtn","_renderModalMessage","message_body","ConfirmDialog","onLaunchTour","onCancelTour","MIGRATION_START","MIGRATION_CANCEL","ManualMigration","PreferencesInput","disabled","onChange","labelClassName","titleString","descString","Children","child","handleClickOutside","handlePrefChange","handleSectionChange","togglePane","onWrapperMount","isSidebarOpen","wrapper","checked","SECTION_ENABLE","SECTION_DISABLE","prefs","sections","isVisible","showSearch","showTopSites","topSitesRows","shouldHidePref","pref","feed","nestedPrefs","nestedPref","_PrerenderData","initialPrefs","initialSections","_setValidation","validation","_validation","invalidatingPrefs","_invalidatingPrefs","next","oneOf","concat","arePrefsValid","getPref","some","provider","onInputMount","handleEvent","detail","gContentSearchController","search","input","healthReportKey","IS_NEWTAB","searchSource","ContentSearchUIController","Search","addLocaleDataForReactIntl","locale","addLocaleData","parentLocale","sendNewTabRehydrated","isPrerendered","PAGE_PRERENDERED","renderNotified","NEW_TAB_REHYDRATED","strings","shouldBeFixedToTop","PrerenderData","outerClassName","enableWideLayout","migrationExpired","Base","documentURI","CARDS_PER_ROW","Section","_dispatchImpressionStats","maxCards","maxRows","cards","slice","needsImpressionStats","impressionCardGuids","sendImpressionStatsOrAddListener","_onVisibilityChange","isCollapsedPref","wasCollapsed","numberOfPlaceholders","items","remainder","emptyState","contextMenuOptions","shouldShowTopics","topics","realRows","placeholders","shouldShowEmptyState","padding","isWebExtension","_","read_more_endpoint","SectionIntl","_Sections","cardContextTypes","history","intlID","bookmark","trending","gImageLoading","activeCard","imageLoaded","showContextMenu","onMenuButtonClick","onMenuUpdate","onLinkClick","maybeLoadImage","image","loaderPromise","loader","Image","src","catch","then","preventDefault","altKey","ctrlKey","metaKey","OPEN_LINK","WEBEXT_CLICK","click","componentWillReceiveProps","isContextMenuOpen","hasImage","imageStyle","placeholder","hostname","description","join","context","Card","PlaceholderCard","Topic","Topics","t","countTopSitesIconsTypes","topSites","countTopSitesTypes","acc","tippyTopIcon","faviconRef","tippytop","faviconSize","rich_icon","screenshot_with_icon","no_image","_TopSites","onAddButtonClick","onFormClose","_dispatchTopSitesStats","_getVisibleTopSites","topSitesIconsStats","topSitesPinned","topsites_icon_stats","topsites_pinned","sitesPerRow","matchMedia","matches","TopSitesRows","TopSiteForm","validationError","onLabelChange","onUrlChange","onCancelButtonClick","onDoneButtonClick","onUrlInputMount","resetValidation","ev","onClose","validateForm","cleanUrl","validateUrl","URL","inputUrl","focus","showAsAdd","TopSite","TopSiteLink","onDragEvent","_allowDrop","dataTransfer","types","dragged","effectAllowed","setData","blur","isDraggable","topSiteOuterClassName","isDragged","letterFallback","imageClassName","showSmallFavicon","smallFaviconStyle","smallFaviconFallback","backgroundColor","favicon","draggableProps","onDragEnd","onDragStart","onMouseDown","onActivate","activeIndex","TopSitePlaceholder","onEditButtonClick","_TopSiteList","DEFAULT_STATE","draggedIndex","draggedSite","draggedTitle","topSitesPreview","prevTopSites","newTopSites","dropped","_makeTopSitesPreview","TOP_SITES_INSERT","draggedFromIndex","_getTopSites","pinnedOnly","unpinned","siteToInsert","holeIndex","indexStep","shiftingStep","nextIndex","preview","shift","topSitesUI","commonProps","maxNarrowVisibleIndex","l","slotProps","TopSiteList","DetectUserSessionStart","_store","_perfService","perfService","_sendEvent","visibility_event_rcvd_ts","MERGE_STORE_ACTION","OUTGOING_MESSAGE_NAME","INCOMING_MESSAGE_NAME","EARLY_QUEUED_ACTIONS","mergeStateReducer","mainReducer","messageMiddleware","au","sendAsyncMessage","rehydrationMiddleware","_didRehydrate","isMergeStoreAction","isRehydrationRequest","_didRequestInitialState","queueEarlyMessageMiddleware","_receivedFromMain","_earlyActionQueue","reducers","initialState","createStore","combineReducers","applyMiddleware","dump","JSON","stringify","stack"],"mappings":"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