Quelle activity-stream.css
Sprache: unbekannt
|
|
Untersuchungsergebnis.css Download desUnknown {[0] [0] [0]}
@charset "UTF- 8";
/* 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/. */
html {
box-sizing: border-box;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
body {
margin: 0;
}
button,
input {
background-color: inherit;
color: inherit;
font-family: inherit;
font-size: inherit;
}
[hidden] {
display: none !important;
}
:root {
--newtab-card-height: 282px;
--newtab-card-width-medium: 300px;
--newtab-card-grid-layout-width: 296px;
--newtab-card-height-small: 133px;
}
:root {
color-scheme: light;
--newtab-background-color: #F9F9FB;
--newtab-background-color-secondary: var(--color-white);
--newtab-text-primary-color: var(--text-color);
--newtab-background-card: color-mix(in srgb, var(--color-white) 85%, transparent);
--newtab-card-placeholder-background-color: color-mix(in srgb, currentColor 21%, tran sparent);
--newtab-text-topic-label-color: var(--color-violet-70);
--newtab-text-secondary-text: var(--text-color-deemphasized);
--newtab-contextual-text-primary-color: light-dark(var(--newtab-text-primary-color), var(--text-color));
--newtab-primary-action-background: light-dark(var(--color-accent-primary), var(--color-accent-primary));
--newtab-primary-action-background-pocket: #008078;
--newtab-text-secondary-color: color-mix(in srgb, var(--newtab-text-primary-color) 70%, transparent);
--newtab-contextual-text-secondary-color: color-mix(in srgb, var(--newtab-contextual-text-primary-color) 70%, transparent);
--newtab-weather-background-color: light-dark(rgba(255, 255, 255, 85%), rgba(66, 65, 77, 85%));
--newtab-element-hover-color: color-mix(in srgb, var(--newtab-background-color) 90%, #000);
--newtab-element-active-color: color-mix(in srgb, var(--newtab-background-color) 80%, #000);
--newtab-button-background: var(--button-background-color);
--newtab-button-focus-background: var(--newtab-button-background);
--newtab-button-focus-border: var(--focus-outline-color);
--newtab-button-hover-background: var(--button-background-color-hover);
--newtab-button-active-background: var(--button-background-color-active);
--newtab-button-text: var(--button-text-color);
--newtab-button-static-background: light-dark(#F0F0F4, #2B2A33);
--newtab-button-static-focus-background: var(--newtab-button-static-background);
--newtab-button-static-hover-background: light-dark(#E0E0E6, #52525E);
--newtab-button-static-active-background: light-dark(#CFCFD8, #5B5B66);
--newtab-element-secondary-color: color-mix(in srgb, currentColor 5%, transparent);
--newtab-element-secondary-hover-color: color-mix(in srgb, currentColor 12%, transparent);
--newtab-element-secondary-active-color: color-mix(in srgb, currentColor 25%, transparent);
--newtab-primary-element-hover-color: color-mix(in srgb, var(--newtab-primary-action-background) 90%, #000);
--newtab-primary-element-hover-pocket-color: color-mix(in srgb, var(--newtab-primary-action-background-pocket) 90%, #000);
--newtab-primary-element-active-color: color-mix(in srgb, var(--newtab-primary-action-background) 80%, #000);
--newtab-primary-element-text-color: var(--color-white);
--newtab-primary-action-background-dimmed: color-mix(in srgb, var(--newtab-primary-action-background) 25%, transparent);
--newtab-primary-action-background-pocket-dimmed: color-mix(in srgb, var(--newtab-primary-action-background-pocket) 25%, transparent);
--newtab-wordmark-color: light-dark(#20123A, #fbfbfe);
--newtab-status-success: var(--color-green-50);
--newtab-status-error: var(--color-red-60);
--newtab-inner-box-shadow-color: rgba(0, 0, 0, 0.1);
--newtab-section-card-box-shadow-color: rgba(58, 57, 68, 20%);
--newtab-overlay-color: color-mix(in srgb, var(--newtab-background-color) 85%, transparent);
--border-radius-large: 16px;
--newtab-button-secondary-color: inherit;
}
:root[lwt-newtab-brighttext] {
color-scheme: dark;
--newtab-background-color: #2B2A33;
--newtab-background-color-secondary: #42414d;
--newtab-text-primary-color: var(--text-color);
--newtab-background-card: rgba(66, 65, 77, 0.85);
--newtab-text-topic-label-color: var(--color-violet-30);
--newtab-text-secondary-text: #FBFBFEB0;
--newtab-contextual-text-primary-color: light-dark(var(--text-color), var(--newtab-text-primary-color));
--newtab-primary-action-background-pocket: var(--color-accent-primary);
--newtab-primary-action-background-pocket-dimmed: color-mix(in srgb, var(--newtab-primary-action-background) 25%, transparent);
--newtab-primary-element-hover-color: color-mix(in srgb, var(--newtab-primary-action-background) 55%, var(--color-white));
--newtab-primary-element-hover-pocket-color: color-mix(in srgb, var(--newtab-primary-action-background-pocket) 55%, var(--color-white));
--newtab-element-hover-color: color-mix(in srgb, var(--newtab-background-color) 80%, var(--color-white));
--newtab-element-active-color: color-mix(in srgb, var(--newtab-background-color) 60%, var(--color-white));
--newtab-section-card-box-shadow-color: rgba(0, 0, 0, 80%);
--newtab-element-secondary-color: color-mix(in srgb, currentColor 10%, transparent);
--newtab-element-secondary-hover-color: color-mix(in srgb, currentColor 17%, transparent);
--newtab-element-secondary-active-color: color-mix(in srgb, currentColor 30%, transparent);
--newtab-primary-element-text-color: #2b2a33;
--newtab-status-success: var(--color-green-30);
}
@media (prefers-contrast) {
:root {
--newtab-text-secondary-color: var(--newtab-text-primary-color);
--newtab-text-topic-label-color: var(--color-violet-30);
color-scheme: light;
--newtab-text-secondary-text: #000;
}
}
@media (prefers-contrast) and (prefers-color-scheme: dark) {
:root {
color-scheme: dark;
--newtab-text-secondary-text: #FFF;
}
}
.icon {
background-position: center center;
background-repeat: no-repeat;
background-size: 16px;
-moz-context-properties: fill;
display: inline-block;
color: var(--icon-color);
fill: currentColor;
height: 16px;
vertical-align: middle;
width: 16px;
}
.icon.icon-spacer {
margin-inline-end: var(--space-small);
}
.icon.icon-small-spacer {
margin-inline-end: var(--space-xsmall);
}
.icon.icon-button-style {
fill: var(--newtab-text-secondary-color);
border: 0;
}
.icon.icon-button-style:focus, .icon.icon-button-style:hover {
fill: var(--newtab-text-primary-color);
}
.icon.icon-bookmark-added {
background-image: url("chrome://browser/skin/bookmark.svg");
}
.icon.icon-bookmark-hollow {
background-image: url("chrome://browser/skin/bookmark-hollow.svg");
}
.icon.icon-clear-input {
background-image: url("chrome://global/skin/icons/close-fill.svg");
}
.icon.icon-delete {
background-image: url("chrome://global/skin/icons/delete.svg");
}
.icon.icon-search {
background-image: url("chrome://global/skin/icons/search-glass.svg");
}
.icon.icon-modal-delete {
flex-shrink: 0;
background-image: url("chrome://newtab/content/data/content/assets/glyph-modal-delete-20.svg");
background-size: 32px;
height: 32px;
width: 32px;
}
.icon.icon-mail {
background-image: url("chrome://newtab/content/data/content/assets/glyph-mail-16.svg");
}
.icon.icon-dismiss {
background-image: url("chrome://global/skin/icons/close.svg");
}
.icon.icon-info {
background-image: url("chrome://global/skin/icons/info.svg");
}
.icon.icon-info-critical {
background-image: url("chrome://newtab/content/data/content/assets/glyph-info-critical-16.svg");
}
.icon.icon-info-warning {
background-image: url("chrome://global/skin/icons/warning.svg");
fill: var(--icon-color-warning);
-moz-context-properties: fill;
}
.icon.icon-help {
background-image: url("chrome://global/skin/icons/help.svg");
}
.icon.icon-new-window {
background-image: url("chrome://newtab/content/data/content/assets/glyph-newWindow-16.svg");
}
.icon.icon-new-window:dir(rtl) {
transform: scaleX(-1);
}
.icon.icon-new-window-private {
background-image: url("chrome://browser/skin/privateBrowsing.svg");
}
.icon.icon-settings {
background-image: url("chrome://global/skin/icons/settings.svg");
}
.icon.icon-pin {
background-image: url("chrome://newtab/content/data/content/assets/glyph-pin-16.svg");
}
.icon.icon-pin:dir(rtl) {
transform: scaleX(-1);
}
.icon.icon-unpin {
background-image: url("chrome://newtab/content/data/content/assets/glyph-unpin-16.svg");
}
.icon.icon-unpin:dir(rtl) {
transform: scaleX(-1);
}
.icon.icon-edit {
background-image: url("chrome://global/skin/icons/edit.svg");
}
.icon.icon-edit-outline {
background-image: url("chrome://global/skin/icons/edit-outline.svg");
}
.icon.icon-pocket {
background-image: url("chrome://global/skin/icons/help.svg");
}
.icon.icon-history-item {
background-image: url("chrome://browser/skin/history.svg");
}
.icon.icon-newsfeed {
background-image: url("chrome://global/skin/icons/newsfeed.svg");
}
.icon.icon-trending {
background-image: url("chrome://browser/skin/trending.svg");
transform: translateY(2px);
}
.icon.icon-now {
background-image: url("chrome://browser/skin/history.svg");
}
.icon.icon-topsites {
background-image: url("chrome://browser/skin/topsites.svg");
}
.icon.icon-pin-small {
background-image: url("chrome://browser/skin/pin-12.svg");
background-size: 12px;
height: 12px;
width: 12px;
}
.icon.icon-pin-small:dir(rtl) {
transform: scaleX(-1);
}
.icon.icon-check {
background-image: url("chrome://global/skin/icons/check.svg");
}
.icon.icon-check-filled {
background-image: url("chrome://global/skin/icons/check-filled.svg");
}
.icon.icon-download {
background-image: url("chrome://browser/skin/downloads/downloads.svg");
}
.icon.icon-copy {
background-image: url("chrome://global/skin/icons/edit-copy.svg");
}
.icon.icon-open-file {
background-image: url("chrome://newtab/content/data/content/assets/glyph-open-file-16.svg");
}
.icon.icon-webextension {
background-image: url("chrome://newtab/content/data/content/assets/glyph-webextension-16.svg");
}
.icon.icon-weather {
background-image: url("chrome://browser/skin/weather/sunny.svg");
}
.icon.icon-highlights {
background-image: url("chrome://global/skin/icons/highlights.svg");
}
.icon.icon-arrowhead-down {
background-image: url("chrome://global/skin/icons/arrow-down.svg");
}
.icon.icon-arrowhead-down-small {
background-image: url("chrome://global/skin/icons/arrow-down-12.svg");
background-size: 12px;
height: 12px;
width: 12px;
}
.icon.icon-arrowhead-forward-small {
background-image: url("chrome://global/skin/icons/arrow-right-12.svg");
background-size: 12px;
height: 12px;
width: 12px;
}
.icon.icon-arrowhead-forward-small:dir(rtl) {
background-image: url("chrome://global/skin/icons/arrow-left-12.svg");
}
.icon.icon-arrowhead-up {
background-image: url("chrome://global/skin/icons/arrow-up.svg");
}
.icon.icon-add {
background-image: url("chrome://global/skin/icons/plus.svg");
}
.icon.icon-add-circle-fill {
background-image: url("chrome://newtab/content/data/content/assets/glyph-add-circle-fill-16.svg");
}
.icon.icon-minimize {
background-image: url("chrome://newtab/content/data/content/assets/glyph-minimize-16.svg");
}
.icon.icon-maximize {
background-image: url("chrome://newtab/content/data/content/assets/glyph-maximize-16.svg");
}
.icon.icon-arrow {
background-image: url("chrome://global/skin/icons/arrow-right-12.svg");
}
.icon.icon-device-phone {
background-image: url("chrome://browser/skin/device-phone.svg");
}
.icon.icon-arrow-trending {
background-image: url("chrome://global/skin/icons/trending.svg");
}
:root {
font-size: var(--font-size-root);
height: 100%;
}
:root[lwt-newtab-brighttext] {
-moz-osx-font-smoothing: grayscale;
}
body,
#root {
min-height: 100vh;
}
#root {
position: relative;
}
body {
background-color: var(--newtab-background-color);
font-family: system-ui;
font-size: var(--font-size-root);
background-repeat: no-repeat;
background-size: cover;
background-position: var(--newtab-wallpaper-backgroundPosition);
background-attachment: fixed;
background-image: var(--newtab-wallpaper, ""), linear-gradient(to right, var(--newtab-wallpaper-color, ""), var(--newtab-wallpaper-color, ""));
overflow-y: auto;
}
h1,
h2 {
font-weight: var(--font-weight);
}
.inner-border {
border: 1px solid var(--border-color);
border-radius: var(--border-radius-small);
height: 100%;
inset-inline-start: 0;
pointer-events: none;
position: absolute;
inset-block-start: 0;
width: 100%;
z-index: 100;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.show-on-init {
opacity: 0;
transition: opacity 0.2s ease-in;
}
.show-on-init.on {
animation: fadeIn 0.2s;
opacity: 1;
}
.actions {
border-block-start: 1px solid var(--border-color);
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
margin: 0;
padding: var(--space-large) var(--space-xlarge) 0;
}
.button,
.actions button {
background-color: var(--newtab-button-secondary-color);
border: 1px solid var(--border-color);
border-radius: var(--border-radius-small);
color: inherit;
cursor: pointer;
margin-block-end: var(--space-large);
padding: var(--space-small) var(--space-xxlarge);
white-space: nowrap;
}
.button:hover:not(.dismiss), .button:focus:not(.dismiss),
.actions button:hover:not(.dismiss),
.actions button:focus:not(.dismiss) {
box-shadow: 0 0 0 5px var(--newtab-element-secondary-color);
transition: box-shadow 150ms;
}
.button.dismiss,
.actions button.dismiss {
background-color: transparent;
border: 0;
padding: 0;
text-decoration: underline;
}
.button.primary, .button.done,
.actions button.primary,
.actions button.done {
background-color: var(--newtab-primary-action-background);
border: solid 1px var(--newtab-primary-action-background);
color: var(--newtab-primary-element-text-color);
margin-inline-start: auto;
}
input[type=text], input[type=search] {
border-radius: var(--border-radius-small);
}
panel-list:not(:defined) {
display: none;
}
panel-item::part(button) {
padding-inline-start: var(--space-medium);
}
.clamp {
-webkit-box-orient: vertical;
display: -webkit-box;
overflow: hidden;
word-break: break-word;
}
/* 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/. */
.activation-window-message {
--image-size-small: 60px;
--image-size-medium: 90px;
--image-size-large: 120px;
background-color: var(--background-color-canvas);
border: 2px solid var(--card-border-color);
color: var(--text-color);
padding: var(--space-large);
border-radius: var(--border-radius-medium);
margin-block: 0 var(--space-xlarge);
margin-inline: auto;
position: relative;
}
@media (min-width: 610px) {
.activation-window-message {
width: 360px;
}
}
@media (min-width: 866px) {
.activation-window-message {
width: 510px;
}
}
@media (min-width: 1122px) {
.activation-window-message {
width: 720px;
}
}
.activation-window-message .activation-window-message-dismiss {
position: absolute;
inset-inline-end: var(--space-medium);
inset-block-start: var(--space-medium);
}
.activation-window-message .activation-window-message-inner {
display: flex;
gap: var(--space-medium);
align-items: flex-start;
flex-direction: column;
}
.activation-window-message .activation-window-message-inner img {
max-width: var(--image-size-small);
max-height: var(--image-size-small);
object-fit: contain;
align-self: start;
}
.activation-window-message .activation-window-message-inner > div {
flex: 1;
display: flex;
flex-direction: column;
padding-inline-end: var(--space-xxlarge);
}
.activation-window-message .activation-window-message-inner > div moz-button-group {
margin-block-start: var(--space-xlarge);
}
.activation-window-message .activation-window-message-inner h2 {
margin: 0;
font-size: var(--font-size-large);
font-weight: var(--font-weight-heading);
}
.activation-window-message .activation-window-message-inner p {
margin-block: var(--space-medium) 0;
color: var(--text-color-deemphasized);
}
@media (min-width: 866px) {
.activation-window-message .activation-window-message-inner {
flex-direction: row;
gap: var(--space-xlarge);
}
.activation-window-message .activation-window-message-inner img {
max-width: var(--image-size-medium);
max-height: var(--image-size-medium);
}
.activation-window-message.no-buttons .activation-window-message-inner img {
max-width: var(--image-size-medium);
max-height: var(--image-size-medium);
}
}
@media (min-width: 1122px) {
.activation-window-message .activation-window-message-inner img {
max-width: var(--image-size-large);
max-height: var(--image-size-large);
}
}
.activation-window-message moz-button-group {
display: flex;
gap: var(--space-small);
justify-content: start;
}
.activation-window-message moz-button {
min-width: fit-content;
}
.a11y-link-button {
border: 0;
padding: 0;
cursor: pointer;
text-align: unset;
color: var(--newtab-primary-action-background);
}
.a11y-link-button:hover, .a11y-link-button:focus {
text-decoration: underline;
}
.outer-wrapper {
color: var(--newtab-text-primary-color);
display: flex;
flex-grow: 1;
min-height: 100vh;
padding: var(--space-xxlarge);
}
.outer-wrapper.ds-outer-wrapper-breakpoint-override {
padding: var(--space-xxlarge) 0;
}
@media (min-width: 610px) {
.outer-wrapper.ds-outer-wrapper-breakpoint-override {
padding: var(--space-xxlarge);
}
}
.outer-wrapper.only-search {
display: block;
padding-block-start: calc(var(--space-xxlarge) * 4);
}
.outer-wrapper a {
color: var(--newtab-primary-action-background);
}
main.newtab-main {
margin: 0 auto;
display: flex;
flex-direction: column;
justify-content: center;
width: 274px;
padding: 0;
min-width: min-content;
}
main.newtab-main .vertical-center-wrapper {
margin: auto 0;
}
main.newtab-main section {
margin-block-end: var(--space-medium);
position: relative;
}
.hide-main main.newtab-main {
visibility: hidden;
}
@media (min-width: 610px) {
main.newtab-main {
width: 530px;
}
}
@media (min-width: 866px) {
main.newtab-main {
width: 786px;
}
}
@media (min-width: 1122px) {
main.newtab-main {
width: 1042px;
}
}
.no-search main.newtab-main {
margin-block-start: var(--space-xxlarge);
}
.ds-outer-wrapper-search-alignment main.newtab-main {
margin: 0 auto;
}
.ds-outer-wrapper-breakpoint-override main.newtab-main {
width: auto;
padding-block-end: 0;
}
.ds-outer-wrapper-breakpoint-override main.newtab-main .ds-card {
width: var(--newtab-card-grid-layout-width);
}
.ds-outer-wrapper-breakpoint-override main.newtab-main .ds-card-grid:not(.ds-section-grid) {
grid-gap: var(--space-large);
}
.ds-outer-wrapper-breakpoint-override main.newtab-main .ds-card-grid:not(.ds-section-grid).empty {
grid-template-columns: auto;
}
.ds-outer-wrapper-breakpoint-override main.newtab-main .body-wrapper {
width: 346px;
margin: 0 auto;
}
@media (min-width: 610px) {
.ds-outer-wrapper-breakpoint-override main.newtab-main {
width: auto;
}
.ds-outer-wrapper-breakpoint-override main.newtab-main .ds-card-grid:not(.ds-section-grid) {
grid-template-columns: repeat(1, 1fr);
}
.ds-outer-wrapper-breakpoint-override main.newtab-main .body-wrapper {
width: 346px;
}
}
@media (min-width: 724px) {
.ds-outer-wrapper-breakpoint-override main.newtab-main {
width: auto;
}
.ds-outer-wrapper-breakpoint-override main.newtab-main .ds-card-grid:not(.ds-section-grid) {
grid-template-columns: repeat(2, 1fr);
}
.ds-outer-wrapper-breakpoint-override main.newtab-main .body-wrapper {
width: 659px;
}
}
@media (min-width: 1122px) {
.ds-outer-wrapper-breakpoint-override main.newtab-main {
width: auto;
}
.ds-outer-wrapper-breakpoint-override main.newtab-main .ds-card-grid:not(.ds-section-grid) {
grid-template-columns: repeat(3, 1fr);
grid-gap: var(--space-xlarge);
}
.ds-outer-wrapper-breakpoint-override main.newtab-main .body-wrapper {
width: 989px;
}
}
@media (min-width: 1698px) {
.ds-outer-wrapper-breakpoint-override main.newtab-main {
width: auto;
}
.ds-outer-wrapper-breakpoint-override main.newtab-main .body-wrapper {
display: flex;
flex-direction: column;
width: 1311px;
}
.ds-outer-wrapper-breakpoint-override main.newtab-main .ds-highlights .card-outer {
min-width: 216px;
}
.ds-outer-wrapper-breakpoint-override main.newtab-main .ds-card-grid:not(.ds-section-grid) {
grid-template-columns: repeat(4, 1fr);
}
}
.base-content-fallback {
height: 100vh;
}
.body-wrapper .section-title, .body-wrapper .sections-list .section:last-of-type, .body-wrapper .topics {
opacity: 0;
}
.body-wrapper.on .section-title, .body-wrapper.on .sections-list .section:last-of-type, .body-wrapper.on .topics {
opacity: 1;
}
.non-collapsible-section {
padding: 0;
}
.prefs-button button {
background-color: transparent;
border: 0;
border-radius: var(--button-border-radius);
cursor: pointer;
padding: var(--space-large);
position: fixed;
inset-inline-end: var(--space-large);
inset-block-start: var(--space-large);
z-index: 1000;
}
.prefs-button button:hover, .prefs-button button:focus {
background-color: var(--newtab-element-hover-color);
}
.prefs-button button:active {
background-color: var(--newtab-element-active-color);
}
.wallpaper-attribution {
padding: 0 var(--space-xlarge);
font-size: var(--font-size-small);
color: var(--newtab-contextual-text-primary-color);
position: absolute;
inset-block-end: var(--space-large);
inset-inline-start: 0;
}
.lightWallpaper .wallpaper-attribution {
color-scheme: light;
}
.darkWallpaper .wallpaper-attribution {
color-scheme: dark;
}
.wallpaper-attribution.theme-light {
display: inline-block;
}
[lwt-newtab-brighttext] .wallpaper-attribution.theme-light {
display: none;
}
.wallpaper-attribution.theme-dark {
display: none;
}
[lwt-newtab-brighttext] .wallpaper-attribution.theme-dark {
display: inline-block;
}
.wallpaper-attribution a {
color: inherit;
}
.wallpaper-attribution a:hover {
text-decoration: none;
}
.asrouter-newtab-message-wrapper {
background-color: var(--background-color-canvas);
border: 2px solid var(--card-border-color);
color: var(--text-color);
border-radius: var(--border-radius-large);
margin-block: 0 var(--space-xlarge);
margin-inline: auto;
overflow: hidden;
max-width: 300px;
/**
* Bug 2021914 - this is temporary until we get the Nova grid rules more
* proliferated on New Tab.
*/
}
@media (min-width: 724px) {
.asrouter-newtab-message-wrapper {
max-width: 904px;
}
}
.nova-outer-wrapper {
color: var(--newtab-text-primary-color);
min-height: 100vh;
padding-block-start: var(--space-xlarge);
}
.asrouter-multistage-message-wrapper {
margin-block: var(--space-xlarge);
}
/**
* Nova Grid System
*
* Layout structure:
* .container (full grid)
* ├── .sidebar-inline-start (148px - left sidebar for logo/navigation)
* ├── .content (flexible - fills remaining space with 75px columns)
* └── .sidebar-inline-end (148px - right sidebar for mini widgets)
*
* DOM order: sidebar-inline-end precedes content (for tab focus order).
* CSS grid-column placement preserves the visual order above.
*
* Column width:
* 1 column = 1/4 of an IAB Medium Rectangle (MREC) = 300px ÷ 4 = 75px
* Row height:
* 1 row = 1/4 of an IAB Medium Rectangle (MREC) = 250px ÷ 4 = 62.5px
*/
:root {
--mrec-width: 300px;
--col-width: calc(var(--mrec-width) / 4);
--mrec-height: 250px;
--row-height: calc(var(--mrec-height) / 4);
--side-col-width: calc(2 * var(--col-width));
--content-col-width: minmax(calc((4 * var(--col-width)) + 34px), var(--content-max-width));
--col-span-2: calc(2 * var(--col-width) + 1 * var(--space-medium));
--col-span-3: calc(3 * var(--col-width) + 2 * var(--space-medium));
--col-span-12: calc(12 * var(--col-width) + 11 * var(--space-medium));
--col-span-16: calc(16 * var(--col-width) + 15 * var(--space-medium));
--content-max-width: var(--col-span-16);
}
.nova-enabled.container {
container-type: inline-size;
container-name: outer-grid;
display: grid;
grid-template-columns: var(--side-col-width) var(--content-col-width) var(--side-col-width);
grid-auto-rows: var(--row-height);
gap: var(--space-medium);
justify-content: space-between;
margin-inline: auto;
padding-inline: var(--space-xlarge);
}
.nova-enabled .content {
container-type: inline-size;
container-name: content-grid;
display: grid;
grid-template-columns: repeat(auto-fill, var(--col-width));
gap: var(--space-medium);
justify-content: center;
grid-column: 2;
grid-row: 2/span 2;
align-self: start;
}
.nova-enabled .sidebar-inline-end {
display: grid;
grid-column: 3;
grid-row: 1/span 2;
grid-template-rows: subgrid;
position: relative;
}
.nova-enabled .sidebar-inline-start {
grid-column: 1;
grid-row: 1/span 2;
}
.nova-enabled.logo-in-content .content {
grid-row: 3/span 2;
}
.nova-enabled .content > * {
grid-column: 1/-1;
container-type: inline-size;
container-name: component;
}
.nova-enabled .col-1 {
grid-column: span 1;
}
.nova-enabled .col-2 {
grid-column: span 2;
}
.nova-enabled .col-3 {
grid-column: span 3;
}
.nova-enabled .col-4 {
grid-column: span 4;
}
.nova-enabled .col-8 {
grid-column: span 8;
}
.nova-enabled .col-12 {
grid-column: span 12;
}
.nova-enabled .col-18 {
grid-column: span 18;
}
.nova-enabled .col-26 {
grid-column: span 26;
}
.as-error-fallback {
align-items: center;
border-radius: var(--border-radius-medium);
box-shadow: inset 0 0 0 1px var(--newtab-inner-box-shadow-color);
color: var(--newtab-text-secondary-color);
display: flex;
flex-direction: column;
font-size: var(--font-size-small);
justify-content: center;
justify-items: center;
}
.as-error-fallback.borderless-error {
box-shadow: none;
}
.as-error-fallback a {
color: var(--newtab-text-secondary-color);
text-decoration: underline;
}
.logo-and-wordmark .football-bounce {
overflow: visible;
position: relative;
}
.logo-and-wordmark .football-bounce .football-bounce__sprite {
position: absolute;
pointer-events: none;
transform: translate(-208px, -103px);
}
.logo-and-wordmark .spin-ball-small .spin-ball-small__spin {
animation: 5.03s linear both spin-ball-small-spin, 5.03s linear both spin-ball-small-blur;
animation-play-state: paused;
}
.logo-and-wordmark .spin-ball-small .spin-ball-small__classic {
isolation: isolate;
animation: 5.03s linear both spin-ball-small-classic-fade;
animation-play-state: paused;
}
.logo-and-wordmark .spin-ball-small .spin-ball-small__nova {
animation: 5.03s linear both spin-ball-small-nova-fade;
animation-play-state: paused;
}
@keyframes spin-ball-small-spin {
0% {
transform: translate(484.5px, 511px) rotate(0deg) scale(1.7, 1.7) translate(-230.8px, -255.1px);
}
2.643% {
transform: translate(484.5px, 511px) rotate(0deg) scale(1.7, 1.7) translate(-230.8px, -255.1px);
animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
}
9.934% {
transform: translate(484.5px, 511px) rotate(-10deg) scale(1.7, 1.7) translate(-230.8px, -255.1px);
animation-timing-function: cubic-bezier(0.8, 0, 0.1, 1);
}
42.38% {
transform: translate(484.5px, 511px) rotate(2880deg) scale(1.7, 1.7) translate(-230.8px, -255.1px);
}
67.554% {
transform: translate(484.5px, 511px) rotate(2880deg) scale(1.7, 1.7) translate(-230.8px, -255.1px);
}
72.859% {
transform: translate(484.5px, 511px) rotate(2890deg) scale(1.7, 1.7) translate(-230.8px, -255.1px);
animation-timing-function: cubic-bezier(0.8, 0, 0.1, 1);
}
92.052% {
transform: translate(484.5px, 511px) rotate(0deg) scale(1.7, 1.7) translate(-230.8px, -255.1px);
}
100% {
transform: translate(484.5px, 511px) rotate(0deg) scale(1.7, 1.7) translate(-230.8px, -255.1px);
}
}
@keyframes spin-ball-small-blur {
0% {
filter: blur(0);
}
15.239% {
filter: blur(0);
}
26.485% {
filter: blur(10px);
}
35.108% {
filter: blur(0);
}
76.157% {
filter: blur(0);
}
82.118% {
filter: blur(10px);
}
88.754% {
filter: blur(0);
}
100% {
filter: blur(0);
}
}
@keyframes spin-ball-small-classic-fade {
0% {
opacity: 1;
}
14.564% {
opacity: 1;
animation-timing-function: cubic-bezier(0, 0, 1, 1);
}
27.816% {
opacity: 0;
}
39.738% {
opacity: 0;
}
76.157% {
opacity: 0;
}
82.118% {
opacity: 1;
}
100% {
opacity: 1;
}
}
@keyframes spin-ball-small-nova-fade {
0% {
opacity: 0;
}
15.239% {
opacity: 0;
}
27.816% {
opacity: 1;
}
39.738% {
opacity: 1;
}
76.157% {
opacity: 1;
}
82.118% {
opacity: 0;
}
100% {
opacity: 0;
}
}
.logo-and-wordmark-wrapper {
margin-block: 0;
}
.nova-enabled .content .logo-and-wordmark-wrapper {
grid-column: 1/-1;
display: flex;
justify-content: center;
}
.logo-and-wordmark {
align-items: center;
display: flex;
justify-content: center;
margin-block-end: var(--space-xxlarge);
}
.nova-enabled .logo-and-wordmark {
justify-content: flex-start;
}
.nova-enabled .logo-and-wordmark .wordmark {
display: none;
}
@container outer-grid (inline-size >= calc(2 * 150px + 9 * 0.75rem + 8 * 75px)) {
.nova-enabled .logo-and-wordmark {
width: max-content;
}
.nova-enabled .logo-and-wordmark .wordmark {
display: inline-block;
}
}
.nova-enabled .content .logo-and-wordmark {
grid-column: 1/-1;
display: flex;
justify-content: center;
align-items: flex-start;
}
.no-recommended-stories .logo-and-wordmark {
margin-block-end: calc(var(--space-large) + var(--space-xlarge));
}
.logo-and-wordmark .logo {
display: inline-block;
height: 64px;
width: 64px;
background: image-set(url("chrome://branding/content/about-logo.png"), url("chrome://branding/content/about-logo@2x.png") 2x) no-repeat center;
background-size: 64px;
}
.logo-and-wordmark .wordmark {
background: url("chrome://branding/content/firefox-wordmark.svg") no-repeat center center;
background-size: 105px;
-moz-context-properties: fill;
display: inline-block;
fill: var(--newtab-wordmark-color);
height: 64px;
margin-inline-start: var(--space-large);
width: 105px;
}
.lightWallpaper .logo-and-wordmark .wordmark {
color-scheme: light;
}
.darkWallpaper .logo-and-wordmark .wordmark {
color-scheme: dark;
}
.logo-and-wordmark .logo-variation-small {
cursor: pointer;
display: inline-block;
height: 64px;
width: 64px;
}
@media (prefers-reduced-motion: no-preference) {
.logo-and-wordmark .logo-variation-small {
transition: opacity 0.15s ease-out;
}
.logo-and-wordmark .logo-variation-small:hover {
opacity: 0.8;
}
.logo-and-wordmark .logo-variation-small.is-animating, .logo-and-wordmark .logo-variation-small.is-animating:hover {
opacity: 1;
}
}
@media (max-width: 609px) {
.classic-enabled .logo-and-wordmark .logo {
background-size: 64px;
height: 64px;
width: 64px;
}
.classic-enabled .logo-and-wordmark .wordmark {
background-size: 100px;
height: 64px;
width: 100px;
margin-inline-start: var(--space-medium);
}
}
/* stylelint-disable max-nesting-depth */
.top-sites-list {
list-style: none;
margin: 0 calc(var(--space-large) * -1);
padding: 0;
display: grid;
grid-template-columns: repeat(3, auto);
justify-content: center;
row-gap: var(--space-small);
}
.top-sites-list:not(.dnd-active) .top-site-outer:is(.active, :focus, :hover) {
background: color-mix(in srgb, var(--button-text-color-hover) 14%, transparent);
}
.lightWallpaper .top-sites-list:not(.dnd-active) .top-site-outer:is(.active, :focus, :hover) {
color-scheme: light;
}
.darkWallpaper .top-sites-list:not(.dnd-active) .top-site-outer:is(.active, :focus, :hover) {
color-scheme: dark;
}
.top-sites-list:not(.dnd-active) .top-site-outer:is(.active, :focus, :hover) .tile {
box-shadow: 0 2px 8px 0 var(--newtab-section-card-box-shadow-color);
}
.top-sites-list:not(.dnd-active) .top-site-outer:is(.active, :focus, :hover) .icon-pin-small {
opacity: 1;
}
.lightWallpaper .top-sites-list:not(.dnd-active) .top-site-outer:is(.active, :focus, :hover), .darkWallpaper .top-sites-list:not(.dnd-active) .top-site-outer:is(.active, :focus, :hover) {
background: color-mix(in srgb, var(--button-text-color-hover) 14%, transparent);
}
@media (prefers-contrast) {
.lightWallpaper .top-sites-list:not(.dnd-active) .top-site-outer:is(.active, :focus, :hover), .darkWallpaper .top-sites-list:not(.dnd-active) .top-site-outer:is(.active, :focus, :hover) {
background-color: var(--background-color-box);
}
}
@media (min-width: 724px) {
.top-sites-list {
grid-template-columns: repeat(6, auto);
}
}
@media (min-width: 1122px) {
.top-sites-list {
grid-template-columns: repeat(8, auto);
}
}
@media (min-width: 1390px) {
.top-sites-list {
grid-template-columns: repeat(var(--top-sites-max-per-row, 8), auto);
}
}
.top-sites-list a {
text-decoration: none;
}
@media (max-width: 610px) {
.top-sites-list > :nth-child(2n+1) .context-menu {
margin-inline-end: auto;
margin-inline-start: auto;
inset-inline-end: auto;
inset-inline-start: calc(var(--space-xxlarge) * -1);
}
.top-sites-list > :nth-child(2n) .context-menu {
margin-inline-end: var(--space-xsmall);
margin-inline-start: auto;
inset-inline-end: 0;
inset-inline-start: auto;
}
}
@media (min-width: 610px) and (max-width: 866px) {
.top-sites-list :nth-child(4n) .context-menu {
margin-inline-end: var(--space-xsmall);
margin-inline-start: auto;
inset-inline-end: 0;
inset-inline-start: auto;
}
}
@media (min-width: 610px) and (max-width: 802px) {
.top-sites-list :nth-child(4n+3) .context-menu {
margin-inline-end: var(--space-xsmall);
margin-inline-start: auto;
inset-inline-end: 0;
inset-inline-start: auto;
}
}
@media (min-width: 866px) and (max-width: 1250px) {
.top-sites-list :nth-child(6n) .context-menu {
margin-inline-end: var(--space-xsmall);
margin-inline-start: auto;
inset-inline-end: 0;
inset-inline-start: auto;
}
}
@media (min-width: 866px) and (max-width: 1058px) {
.top-sites-list :nth-child(6n+5) .context-menu {
margin-inline-end: var(--space-xsmall);
margin-inline-start: auto;
inset-inline-end: 0;
inset-inline-start: auto;
}
}
@media (min-width: 1122px) and (max-width: 1506px) {
.top-sites-list :nth-child(8n) .context-menu {
margin-inline-end: var(--space-xsmall);
margin-inline-start: auto;
inset-inline-end: 0;
inset-inline-start: auto;
}
}
@media (min-width: 1122px) and (max-width: 1314px) {
.top-sites-list :nth-child(8n+7) .context-menu {
margin-inline-end: var(--space-xsmall);
margin-inline-start: auto;
inset-inline-end: 0;
inset-inline-start: auto;
}
}
.top-sites-list .hide-for-narrow {
display: none;
}
@media (min-width: 610px) {
.top-sites-list .hide-for-narrow {
display: none;
}
}
@media (min-width: 866px) {
.top-sites-list .hide-for-narrow {
display: none;
}
}
@media (min-width: 1122px) {
.top-sites-list .hide-for-narrow {
display: inline-block;
}
}
.top-sites-list .hide-for-small {
display: none;
}
@media (min-width: 1390px) {
.top-sites-list .hide-for-small {
display: inline-block;
}
}
.discovery-stream.ds-layout.ds-layout-topsites {
display: flex;
justify-content: center;
}
.discovery-stream.ds-layout.ds-layout-topsites .top-sites-list {
padding-block-start: 0;
}
.nova-enabled .discovery-stream.ds-layout.ds-layout-topsites {
display: contents;
}
.top-site-outer {
width: 120px;
margin-block-end: var(--space-medium);
border-radius: var(--border-radius-large);
display: inline-block;
}
.top-site-outer .top-site-inner {
position: relative;
}
.top-site-outer .top-site-inner > a {
padding: var(--space-large) var(--space-large) var(--space-xsmall);
color: inherit;
display: block;
outline: none;
}
.top-site-outer:hover .context-menu-button, .top-site-outer:focus .context-menu-button {
opacity: 1;
transition: opacity 200ms;
}
.lightWallpaper .top-site-outer:hover .context-menu-button, .lightWallpaper .top-site-outer:focus .context-menu-button {
color-scheme: light;
}
.darkWallpaper .top-site-outer:hover .context-menu-button, .darkWallpaper .top-site-outer:focus .context-menu-button {
color-scheme: dark;
}
.top-site-outer:hover .tile, .top-site-outer:focus .tile {
background-color: var(--newtab-background-color-secondary);
}
.top-site-outer:hover .icon-pin-small, .top-site-outer:focus .icon-pin-small {
opacity: 1;
}
.lightWallpaper .top-site-outer:not(:hover, :active, .active) {
color-scheme: light;
}
.darkWallpaper .top-site-outer:not(:hover, :active, .active) {
color-scheme: dark;
}
.top-site-outer .tile {
color-scheme: initial;
}
.top-site-outer.active .context-menu-button {
opacity: 1;
background-color: var(--newtab-button-active-background);
}
.top-site-outer .tile {
background: var(--newtab-background-card);
border-radius: var(--border-radius-large);
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
height: calc(var(--size-item-large) * 2);
width: calc(var(--size-item-large) * 2);
margin: 0 auto;
position: relative;
display: flex;
align-items: center;
justify-content: center;
text-transform: uppercase;
font-size: var(--font-size-xxlarge);
color: var(--newtab-contextual-text-secondary-color);
cursor: pointer;
}
.top-site-outer .tile .icon-wrapper {
border-radius: var(--border-radius-small);
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
position: relative;
}
.top-site-outer .tile .icon-wrapper.letter-fallback {
border-radius: var(--border-radius-circle);
}
.top-site-outer .tile .icon-wrapper.letter-fallback::before {
content: attr(data-fallback);
font-size: var(--font-size-xlarge);
transform: none;
position: static;
}
.top-site-outer .tile .top-site-icon {
background-color: transparent;
border-radius: var(--border-radius-medium);
background-position: center;
background-repeat: no-repeat;
position: absolute;
}
.top-site-outer .context-menu-button {
background-image: url("chrome://global/skin/icons/more.svg");
border: 0;
border-radius: var(--border-radius-small);
cursor: pointer;
fill: var(--newtab-button-text);
-moz-context-properties: fill;
height: var(--size-item-medium);
width: var(--size-item-medium);
inset-inline-end: 0;
inset-block-start: var(--space-medium);
position: absolute;
opacity: 0;
}
.top-site-outer .context-menu-button:hover {
background-color: var(--newtab-button-hover-background);
}
.top-site-outer .context-menu-button:hover:active {
background-color: var(--newtab-button-active-background);
}
.top-site-outer .context-menu-button:focus-visible {
background-color: var(--newtab-button-focus-background);
outline: var(--focus-outline);
opacity: 1;
}
.lightWallpaper .top-site-outer .context-menu-button:focus-visible::after, .darkWallpaper .top-site-outer .context-menu-button:focus-visible::after {
content: "";
position: absolute;
inset: 0;
border-radius: var(--border-radius-small);
outline: var(--focus-outline);
color-scheme: initial;
}
.top-site-outer .context-menu {
inset-block-start: calc(var(--space-large) + var(--space-xlarge));
}
.top-site-outer .icon-pin-small {
inset-block-start: var(--space-small);
inset-inline-start: var(--space-small);
opacity: 0;
position: absolute;
}
.top-site-outer .top-site-button {
padding: var(--space-large) var(--space-large) var(--space-small);
}
.top-site-outer .top-site-button:focus + div .context-menu-button {
opacity: 1;
}
.lightWallpaper .top-site-outer .top-site-button:focus .tile, .darkWallpaper .top-site-outer .top-site-button:focus .tile {
outline: var(--focus-outline);
color-scheme: initial;
}
.top-site-outer .title {
color: var(--newtab-contextual-text-primary-color);
padding-block-start: var(--space-small);
font: caption;
text-align: center;
position: relative;
}
.top-site-outer .title .icon {
margin-inline-end: var(--space-xxsmall);
fill: currentColor;
}
.top-site-outer .title .sponsored-label {
color: var(--newtab-contextual-text-secondary-color);
font-size: var(--font-size-xsmall);
}
.top-site-outer .title:not(.sponsored) .sponsored-label {
display: none;
}
.top-site-outer .title .search-topsite {
margin-inline-end: var(--space-xxsmall);
fill: currentColor;
background-size: var(--icon-size-xsmall);
height: var(--icon-size-xsmall);
width: var(--icon-size-xsmall);
background-position: center;
background-repeat: no-repeat;
background-color: transparent;
position: static;
display: inline-block;
color: var(--icon-color);
box-shadow: none;
}
.top-site-outer .rich-icon {
background-size: cover;
height: 100%;
width: 100%;
position: absolute;
inset-inline-start: 0;
inset-block-start: 0;
}
.top-site-outer .default-icon,
.top-site-outer .search-topsite {
background-size: 40px;
height: 40px;
width: 40px;
align-items: center;
display: flex;
justify-content: center;
font-size: var(--font-size-xlarge);
}
.top-site-outer .default-icon[data-fallback]::before,
.top-site-outer .search-topsite[data-fallback]::before {
content: attr(data-fallback);
}
.top-site-outer .search-topsite {
background-image: url("chrome://global/skin/icons/search-glass.svg");
background-size: 16px;
background-color: var(--newtab-primary-action-background);
border-radius: var(--border-radius-circle);
-moz-context-properties: fill;
fill: var(--newtab-primary-element-text-color);
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
transition: background-size 150ms, bottom 150ms, inset-inline-end 150ms, height 150ms, width 150ms;
height: 32px;
width: 32px;
inset-block-end: -6px;
inset-inline-end: -6px;
}
.top-site-outer.placeholder .tile {
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
cursor: default;
}
.top-site-outer.add-button .tile {
background-color: var(--button-background-color);
}
.lightWallpaper .top-site-outer.add-button .tile {
color-scheme: light;
}
.darkWallpaper .top-site-outer.add-button .tile {
color-scheme: dark;
}
.top-site-outer.add-button .tile .icon-wrapper {
background-image: url("chrome://global/skin/icons/plus-20.svg");
background-size: cover;
background-repeat: no-repeat;
height: 20px;
width: 20px;
fill: var(--icon-color);
-moz-context-properties: fill;
}
.top-site-outer.add-button:hover .tile {
background-color: var(--newtab-background-color-secondary);
color-scheme: initial;
}
.top-site-outer.search-shortcut .rich-icon {
background-color: var(--color-white);
}
.top-site-outer .edit-button {
background-image: url("chrome://global/skin/icons/edit.svg");
}
.top-site-outer.dragged .tile *, .top-site-outer.dragged .tile::before {
display: none;
}
.top-site-outer.dragged .title {
visibility: hidden;
}
.shortcuts-refresh .top-site-outer {
margin-block-end: 0;
}
.edit-topsites-wrapper .top-site-inner > .top-site-button > .tile {
border: 1px solid var(--border-color);
}
.edit-topsites-wrapper .modal {
border: 0;
min-height: fit-content;
inset-block-start: var(--space-xxlarge);
}
@media (min-width: 610px) {
.edit-topsites-wrapper .modal {
width: 530px;
}
}
@media (min-width: 866px) {
.edit-topsites-wrapper .modal {
width: 786px;
}
}
.topsite-form .section-title {
font-size: inherit;
margin: 0 0 var(--space-large);
}
.topsite-form .form-input-container {
max-width: 492px;
margin: 0 auto;
padding: var(--space-xxlarge);
}
.topsite-form .form-input-container .top-site-outer {
pointer-events: none;
}
.topsite-form .search-shortcuts-container {
max-width: 700px;
margin: 0 auto;
padding: var(--space-xxlarge);
}
.topsite-form .search-shortcuts-container > div {
margin-inline-end: calc(var(--space-xxlarge) * -1);
}
.topsite-form .search-shortcuts-container .top-site-outer {
margin-inline-start: 0;
margin-inline-end: var(--space-xxlarge);
}
.topsite-form .top-site-outer {
padding: 0;
margin: var(--space-xlarge) 0 0;
margin-inline-start: var(--space-xxlarge);
}
.topsite-form .fields-and-preview {
display: flex;
}
.topsite-form label {
font-size: var(--font-size-large);
}
.topsite-form .form-wrapper {
width: 100%;
}
.topsite-form .form-wrapper .field {
position: relative;
}
.topsite-form .form-wrapper .field .icon-clear-input {
position: absolute;
transform: translateY(-50%);
inset-block-start: 50%;
inset-inline-end: var(--space-small);
}
.topsite-form .form-wrapper .url input:dir(ltr) {
padding-inline-end: var(--space-xxlarge);
}
.topsite-form .form-wrapper .url input:dir(rtl) {
padding-inline-start: var(--space-xxlarge);
}
.topsite-form .form-wrapper .url input:dir(rtl):not(:placeholder-shown) {
direction: ltr;
text-align: end;
}
.topsite-form .form-wrapper .enable-custom-image-input {
display: inline-block;
font-size: var(--font-size-small);
margin-block-start: var(--space-xsmall);
cursor: pointer;
}
.topsite-form .form-wrapper .custom-image-input-container {
margin-block-start: var(--space-xsmall);
}
.topsite-form .form-wrapper .custom-image-input-container .loading-container {
width: 16px;
height: 16px;
overflow: hidden;
position: absolute;
transform: translateY(-50%);
inset-block-start: 50%;
inset-inline-end: var(--space-small);
}
.topsite-form .form-wrapper .custom-image-input-container .loading-animation {
width: 960px;
height: 16px;
-moz-context-properties: fill;
fill: var(--newtab-primary-action-background);
background-image: url("chrome://browser/skin/tabbrowser/loading.svg");
animation: tab-throbber-animation 1.05s steps(60) infinite;
}
@keyframes tab-throbber-animation {
100% {
transform: translateX(-960px);
}
}
@keyframes tab-throbber-animation-rtl {
100% {
transform: translateX(960px);
}
}
.topsite-form .form-wrapper .custom-image-input-container .loading-animation:dir(rtl) {
animation-name: tab-throbber-animation-rtl;
}
.topsite-form .form-wrapper input[type=text] {
background-color: var(--newtab-background-color-secondary);
border: 1px solid var(--border-color-interactive);
margin: var(--space-small) 0;
padding: 0 var(--space-small);
height: 32px;
width: 100%;
font-size: inherit;
}
.topsite-form .form-wrapper input[type=text][disabled] {
border: 1px solid var(--border-color-interactive-disabled);
box-shadow: none;
opacity: 0.4;
}
.topsite-form .form-wrapper .invalid input[type=text] {
border: 1px solid var(--border-color-error);
box-shadow: 0 0 0 1px var(--newtab-status-error), 0 0 0 4px rgba(var(--newtab-status-error), 0.3);
}
.topsite-form .form-wrapper .error-tooltip {
animation: fade-up-tt 450ms;
background: var(--newtab-status-error);
border-radius: var(--border-radius-small);
color: var(--color-white);
inset-inline-start: var(--space-xxsmall);
padding: var(--space-xsmall) var(--space-medium);
position: absolute;
inset-block-start: var(--space-xxlarge);
z-index: 1;
}
.topsite-form .form-wrapper .error-tooltip::before {
background: var(--newtab-status-error);
inset-block-end: calc(var(--space-small) * -1);
content: ".";
height: 16px;
inset-inline-start: var(--space-medium);
position: absolute;
text-indent: -999px;
inset-block-start: calc(var(--space-small) * -1);
transform: rotate(45deg);
white-space: nowrap;
width: 16px;
z-index: -1;
}
.topsite-form .actions {
justify-content: flex-end;
padding: var(--space-large) var(--space-xlarge);
}
@media (max-width: 610px) {
.topsite-form .fields-and-preview {
flex-direction: column;
}
.topsite-form .fields-and-preview .top-site-outer {
margin-inline-start: 0;
}
}
.topsite-form .title {
user-select: none;
}
.topsite-form [type=checkbox]:not(:checked),
.topsite-form [type=checkbox]:checked {
inset-inline-start: -9999px;
position: absolute;
}
.topsite-form [type=checkbox]:not(:checked) + label,
.topsite-form [type=checkbox]:checked + label {
cursor: pointer;
display: block;
position: relative;
}
.topsite-form [type=checkbox]:not(:checked) + label::before,
.topsite-form [type=checkbox]:checked + label::before {
background: var(--newtab-background-color);
border: 1px solid var(--border-color);
border-radius: var(--border-radius-small);
content: "";
height: 21px;
inset-inline-start: calc(var(--space-small) * -1);
position: absolute;
inset-block-start: calc(var(--space-small) * -1);
width: 21px;
z-index: 1;
}
[dir=rtl] .topsite-form [type=checkbox]:not(:checked) + label::before,
[dir=rtl] .topsite-form [type=checkbox]:checked + label::before {
inset-inline-start: auto;
inset-inline-end: calc(var(--space-small) * -1);
}
.topsite-form [type=checkbox]:not(:checked) + label::after,
.topsite-form [type=checkbox]:checked + label::after {
background: url("chrome://global/skin/icons/check.svg") no-repeat center center;
content: "";
height: 21px;
inset-inline-start: calc(var(--space-small) * -1);
position: absolute;
inset-block-start: calc(var(--space-small) * -1);
width: 21px;
-moz-context-properties: fill;
fill: var(--newtab-primary-action-background);
z-index: 2;
}
[dir=rtl] .topsite-form [type=checkbox]:not(:checked) + label::after,
[dir=rtl] .topsite-form [type=checkbox]:checked + label::after {
inset-inline-start: auto;
inset-inline-end: calc(var(--space-small) * -1);
}
.topsite-form [type=checkbox]:checked + label .tile {
box-shadow: 0 0 0 2px var(--newtab-primary-action-background-dimmed);
}
.topsite-form [type=checkbox]:not(:checked) + label::after {
opacity: 0;
}
.topsite-form [type=checkbox]:checked + label::after {
opacity: 1;
}
.topsite-form [type=checkbox]:checked:focus + label::before,
.topsite-form [type=checkbox]:not(:checked):focus + label::before {
border: 1px dotted var(--newtab-primary-action-background);
}
.top-sites-list .top-site-outer .top-site-button,
.fields-and-preview .top-site-outer .top-site-button {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.top-sites-list .top-site-outer .title .title-label,
.fields-and-preview .top-site-outer .title .title-label {
display: block;
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
white-space: wrap;
word-break: break-word;
min-height: 2lh;
width: 100px;
padding: 0 var(--space-xsmall);
}
.top-sites-list .top-site-outer .title.sponsored .title-label,
.fields-and-preview .top-site-outer .title.sponsored .title-label {
-webkit-line-clamp: 1;
min-height: 1lh;
}
@keyframes fade-up-tt {
0% {
opacity: 0;
transform: translateY(15px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
.topsite-impression-observer {
position: absolute;
inset-block-start: 0;
width: 100%;
height: 100%;
pointer-events: none;
}
.sections-list .section-list {
display: grid;
grid-gap: var(--space-xxlarge);
grid-template-columns: repeat(auto-fit, 192px);
margin: 0;
padding: 0;
}
@media (max-width: 610px) {
.sections-list .section-list .context-menu {
margin-inline-end: var(--space-xsmall);
margin-inline-start: auto;
inset-inline-end: 0;
inset-inline-start: auto;
}
}
@media (min-width: 610px) and (max-width: 866px) {
.sections-list .section-list :nth-child(2n) .context-menu {
margin-inline-end: var(--space-xsmall);
margin-inline-start: auto;
inset-inline-end: 0;
inset-inline-start: auto;
}
}
@media (min-width: 866px) and (max-width: 1250px) {
.sections-list .section-list :nth-child(3n) .context-menu {
margin-inline-end: var(--space-xsmall);
margin-inline-start: auto;
inset-inline-end: 0;
inset-inline-start: auto;
}
}
@media (min-width: 1122px) and (max-width: 1506px) {
.sections-list .section-list :nth-child(3n) .context-menu,
.sections-list .section-list :nth-child(4n) .context-menu {
margin-inline-end: var(--space-xsmall);
margin-inline-start: auto;
inset-inline-end: 0;
inset-inline-start: auto;
}
}
.sections-list .section-empty-state {
border: 1px solid var(--border-color);
border-radius: var(--border-radius-small);
display: flex;
height: 266px;
width: 100%;
}
.sections-list .section-empty-state .empty-state {
margin: auto;
max-width: 350px;
}
.sections-list .section-empty-state .empty-state .empty-state-message {
color: var(--newtab-text-primary-color);
font-size: var(--font-size-small);
margin-block-end: 0;
text-align: center;
}
@media (min-width: 1122px) {
.sections-list .section-empty-state {
height: 370px;
}
}
.top-stories-bottom-container {
color: var(--newtab-text-primary-color);
font-size: var(--font-size-small);
margin-block-start: var(--space-medium);
display: flex;
justify-content: space-between;
}
.top-stories-bottom-container a {
color: var(--newtab-primary-action-background);
font-weight: var(--font-weight-semibold);
}
.top-stories-bottom-container a.more-recommendations {
font-weight: var(--font-weight);
font-size: var(--font-size-small);
}
@media (max-width: 865px) {
.top-stories-bottom-container .wrapper-topics {
display: none;
}
}
@media (max-width: 609px) {
.top-stories-bottom-container .wrapper-more-recommendations {
width: 100%;
}
.top-stories-bottom-container .wrapper-more-recommendations .more-recommendations {
justify-content: center;
}
.top-stories-bottom-container .wrapper-more-recommendations .more-recommendations::after {
display: none;
}
}
@media (min-width: 1122px) {
.sections-list .normal-cards .section-list {
grid-template-columns: repeat(auto-fit, 309px);
}
}
.search-wrapper {
padding: 0;
margin-block: var(--space-xxlarge);
margin-block-start: 0;
}
.search-wrapper .logo-and-wordmark {
margin-block-end: var(--space-xxlarge);
}
.search-wrapper .logo-and-wordmark-wrapper {
margin-block-end: 0;
}
@media (height <= 700px) {
.search-wrapper {
padding: 0;
margin-block-start: 0;
}
}
@media (height > 700px) {
.search-wrapper {
padding: 0;
}
}
.only-search .search-wrapper {
padding-block-end: calc(var(--space-large) + var(--space-xlarge));
}
.search-wrapper .search-inner-wrapper {
cursor: default;
display: flex;
height: 52px;
margin: 0 auto;
position: relative;
width: 304px;
}
@media (min-width: 610px) {
.search-wrapper .search-inner-wrapper {
width: 360px;
}
}
@media (min-width: 866px) {
.search-wrapper .search-inner-wrapper {
width: 510px;
}
}
@media (min-width: 1122px) {
.search-wrapper .search-inner-wrapper {
width: 720px;
}
}
.search-wrapper content-search-handoff-ui {
--content-search-handoff-ui-background-color: var(--newtab-background-color-secondary);
--content-search-handoff-ui-color: var(--newtab-text-primary-color);
--content-search-handoff-ui-fill: var(--newtab-text-secondary-color);
--content-search-handoff-ui-caret-color: var(--newtab-text-primary-color);
--content-search-handoff-ui-fakefocus-border-color: var(--newtab-primary-action-background);
--content-search-handoff-ui-fakefocus-box-shadow-inner: var(--newtab-primary-action-background-dimmed);
--content-search-handoff-ui-fakefocus-box-shadow-outer: transparent;
}
.search-wrapper.visible-logo .logo-and-wordmark .wordmark {
fill: var(--newtab-wordmark-color);
}
.has-recommended-stories .outer-wrapper:not(.fixed-search) .search-wrapper {
margin-block-start: var(--space-large);
}
.has-recommended-stories .logo-and-wordmark {
position: absolute;
inset-inline-start: var(--space-xxlarge);
inset-block-start: var(--space-xxlarge);
}
@media (min-width: 724px) {
.has-recommended-stories .logo-and-wordmark {
inset-inline-start: var(--space-large);
}
}
@media (min-width: 866px) {
.has-recommended-stories .logo-and-wordmark {
inset-inline-start: var(--space-xxlarge);
}
}
.has-recommended-stories.no-search .body-wrapper {
margin-block-start: 0;
}
@media (min-width: 866px) {
.has-recommended-stories.no-search .body-wrapper {
margin-block-start: calc(var(--space-xlarge) * 4);
}
}
@media (min-width: 1698px) {
.has-recommended-stories.no-search .body-wrapper {
margin-block-start: 0;
}
}
.has-recommended-stories.no-search.has-sections-grid .body-wrapper {
margin-block-start: calc(var(--space-xlarge) * 4);
}
.has-recommended-stories.no-search.has-sections-grid .logo-and-wordmark {
inset-inline-start: var(--space-large);
}
@media (min-width: 510px) {
.has-recommended-stories.no-search.has-sections-grid .logo-and-wordmark {
inset-inline-start: var(--space-xxlarge);
}
}
@media (min-width: 724px) {
.has-recommended-stories.no-search.has-sections-grid .logo-and-wordmark {
inset-inline-start: var(--space-large);
}
}
@media (min-width: 866px) {
.has-recommended-stories.no-search.has-sections-grid .logo-and-wordmark {
inset-inline-start: var(--space-xxlarge);
}
}
.has-recommended-stories .search-inner-wrapper {
width: 200px;
}
@media (min-width: 510px) {
.has-recommended-stories .search-inner-wrapper {
width: 300px;
}
}
@media (min-width: 610px) {
.has-recommended-stories .search-inner-wrapper {
width: 350px;
}
}
@media (min-width: 866px) {
.has-recommended-stories .search-inner-wrapper {
width: 410px;
}
}
@media (min-width: 1122px) {
.has-recommended-stories .search-inner-wrapper {
width: 584px;
}
}
@media (min-width: 1506px) {
.has-recommended-stories .search-inner-wrapper {
width: 720px;
}
}
@media (min-width: 1122px) {
.has-recommended-stories.has-mobile-download-promo .search-inner-wrapper {
width: 497px;
}
}
@media (min-width: 1506px) {
.has-recommended-stories.has-mobile-download-promo .search-inner-wrapper {
width: 720px;
}
}
.has-recommended-stories .logo {
width: 52px;
height: 52px;
background-size: 52px;
}
.has-recommended-stories .wordmark {
display: none;
height: 52px;
}
@media (min-width: 866px) {
.has-recommended-stories .wordmark {
display: block;
}
}
.nova-enabled .search-wrapper {
container-type: normal;
display: grid;
grid-template-columns: subgrid;
}
.nova-enabled .search-inner-wrapper {
grid-column: 1/-1;
margin-inline: auto;
width: calc(4 * var(--col-width) + 3 * var(--space-medium));
}
@container content-grid (inline-size >= calc(6 * 75px + 5 * 0.75rem)) {
.nova-enabled .search-inner-wrapper {
width: calc(6 * var(--col-width) + 5 * var(--space-medium));
}
}
@container content-grid (inline-size >= calc(10 * 75px + 9 * 0.75rem)) {
.nova-enabled .search-inner-wrapper {
width: calc(10 * var(--col-width) + 9 * var(--space-medium));
}
}
.nova-enabled .sticky-search-sentinel {
grid-column: 1/-1;
block-size: 1px;
margin-block-end: -1px;
visibility: hidden;
pointer-events: none;
}
@media (height > 700px) {
.nova-enabled .search-wrapper {
position: sticky;
inset-block-start: 0;
z-index: 3;
padding-block: var(--space-xlarge);
}
}
@media (height > 700px) {
.nova-outer-wrapper.stuck-search::before {
content: "";
position: fixed;
inset-block-start: 0;
inset-inline: 0;
block-size: calc(52px + 2 * var(--space-xlarge));
background-color: var(--newtab-overlay-color);
border-block-end: var(--border-width) solid var(--border-color);
z-index: 2;
pointer-events: none;
}
}
@media (height > 700px) {
.activity-stream .fixed-search .search-wrapper {
border-block-end: solid 1px var(--border-color);
padding: var(--space-xlarge) 0;
background-color: var(--newtab-overlay-color);
min-height: 95px;
inset-inline-start: 0;
position: fixed;
inset-block-start: 0;
width: 100%;
z-index: 3;
display: flex;
align-items: center;
}
.activity-stream .fixed-search .search-wrapper .search-inner-wrapper {
min-height: 52px;
}
.activity-stream .fixed-search .search-wrapper .logo-and-wordmark {
display: none;
}
}
/* stylelint-disable max-nesting-depth */
.context-menu {
background: var(--newtab-background-color-secondary);
border-radius: var(--border-radius-small);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.2);
display: block;
font-size: inherit;
margin-inline-start: var(--space-xsmall);
inset-inline-start: 100%;
position: absolute;
inset-block-start: var(--space-small);
z-index: 2;
}
.context-menu > ul {
list-style: none;
margin: 0;
padding: var(--space-xsmall) 0;
}
.context-menu > ul > li {
margin: 0;
width: 100%;
}
.context-menu > ul > li.separator {
border-block-end: 1px solid var(--border-color);
margin: var(--space-xsmall) 0;
}
.context-menu > ul > li > a,
.context-menu > ul > li > button {
align-items: center;
color: inherit;
cursor: pointer;
display: flex;
width: 100%;
outline: none;
border: 0;
padding: var(--space-xsmall) var(--space-medium);
white-space: nowrap;
}
.context-menu > ul > li > a:is(:focus, :hover),
.context-menu > ul > li > button:is(:focus, :hover) {
background: var(--newtab-element-secondary-hover-color);
}
.context-menu > ul > li > a:active,
.context-menu > ul > li > button:active {
background: var(--newtab-element-secondary-active-color);
}
.context-menu > ul > li > a.disabled,
.context-menu > ul > li > button.disabled {
opacity: 0.4;
pointer-events: none;
}
.nova-enabled ~ .confirmation-dialog {
border-radius: var(--border-radius-large);
}
.confirmation-dialog {
border: 1px solid var(--border-color);
border-radius: var(--border-radius-small);
padding: 0;
width: 400px;
box-shadow: var(--popup-box-shadow);
background: var(--newtab-background-color-secondary);
}
.confirmation-dialog::backdrop {
background: var(--newtab-overlay-color);
}
.confirmation-dialog section {
margin: 0;
}
.confirmation-dialog .modal-message {
display: flex;
padding: var(--space-large);
padding-block-end: 0;
}
.confirmation-dialog .modal-message p {
margin: 0;
margin-block-end: var(--space-large);
}
.confirmation-dialog .modal-message p:first-child {
font-weight: var(--font-weight-semibold);
}
.confirmation-dialog .button-group {
border: 0;
padding: var(--space-large);
}
.confirmation-dialog .icon {
margin-inline-end: var(--space-large);
}
.personalizeButtonWrapper {
margin: 0;
padding: 0;
z-index: 5;
position: fixed;
inset-block-end: var(--space-xlarge);
inset-inline-end: var(--space-xlarge);
}
.personalize-button {
border: 0;
border-radius: var(--border-radius-small);
background-color: var(--button-background-color, rgba(21, 20, 26, 0.07));
box-shadow: 0 0.8px 1.6px 0 rgba(58, 57, 68, 0.2);
padding: calc(5 * var(--space-xxsmall));
position: relative;
background-size: var(--icon-size-medium);
background-position: center;
display: flex;
align-items: center;
overflow: hidden;
transition: background-color 0.3s ease;
}
.lightWallpaper .personalize-button, .darkWallpaper .personalize-button {
background-color: var(--newtab-weather-background-color);
}
@media (prefers-contrast) {
.lightWallpaper .personalize-button, .darkWallpaper .personalize-button {
background-color: var(--background-color-box);
}
}
.personalize-button:hover {
background-color: var(--newtab-button-static-hover-background);
}
.personalize-button:active {
background-color: var(--newtab-button-static-active-background);
}
.personalize-button:focus-visible {
border: 0;
outline: var(--focus-outline);
background-color: var(--newtab-button-static-active-background);
}
.personalize-button.personalize-animate-exit-done {
visibility: hidden;
}
.personalize-button > div {
width: var(--icon-size-medium);
height: var(--icon-size-medium);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.personalize-button > div > img {
-moz-context-properties: fill;
display: inline-block;
color: var(--icon-color);
fill: currentColor;
height: 100%;
object-fit: contain;
vertical-align: middle;
width: 100%;
}
.personalize-button > label {
margin-inline-end: 0;
opacity: 0;
white-space: nowrap;
overflow: hidden;
max-width: 0;
transition: opacity 0.3s ease, margin 0.3s ease, max-width 0.3s ease;
}
.open-customization-button.personalize-animate-exit-done {
visibility: hidden;
}
.open-customization-button::part(moz-button-label) {
opacity: 0;
max-width: 0;
overflow: hidden;
white-space: nowrap;
}
@media (prefers-reduced-motion: no-preference) {
.open-customization-button::part(moz-button-label) {
transition: opacity 0.3s ease, max-width 0.3s ease;
}
}
.lightWallpaper .open-customization-button::part(moz-button-label) {
color-scheme: light;
}
.darkWallpaper .open-customization-button::part(moz-button-label) {
color-scheme: dark;
}
.open-customization-button::part(button) {
min-width: var(--button-size-icon);
max-width: var(--button-size-icon);
height: var(--button-size-icon);
padding-inline: 0 calc((var(--button-size-icon) - var(--icon-size-medium)) / 2);
overflow: hidden;
justify-content: flex-end;
gap: 0;
}
@media (prefers-reduced-motion: no-preference) {
.open-customization-button::part(button) {
transition: max-width 0.3s ease, padding 0.3s ease, gap 0.3s ease;
}
}
.lightWallpaper .open-customization-button::part(button) {
color-scheme: light;
}
.darkWallpaper .open-customization-button::part(button) {
color-scheme: dark;
}
.open-customization-button:hover::part(moz-button-label), .open-customization-button:focus-within::part(moz-button-label), .open-customization-button.activation-window-variant-a::part(moz-button-label), .open-customization-button.activation-window-variant-b::part(moz-button-label) {
opacity: 1;
max-width: 30ch;
}
.open-customization-button:hover::part(button), .open-customization-button:focus-within::part(button), .open-customization-button.activation-window-variant-a::part(button), .open-customization-button.activation-window-variant-b::part(button) {
max-width: calc(30ch + var(--icon-size-medium) + var(--space-small) + var(--space-large) * 2);
padding: var(--space-small) var(--space-large);
gap: var(--space-small);
}
.personalize-button:hover > label,
.personalize-button:focus-visible > label,
.personalize-button:focus-within > label,
.personalize-button.activation-window-variant-a > label,
.personalize-button.activation-window-variant-b > label {
opacity: 1;
margin-inline-end: var(--space-medium);
max-width: 30ch;
}
.customize-menu {
--customize-menu-bg: color-mix(in srgb, var(--newtab-background-color-secondary) 96%, transparent);
color: var(--newtab-text-primary-color);
background-color: var(--newtab-background-color-secondary);
width: 432px;
min-height: 100%;
position: fixed;
inset-block: 0;
inset-inline: auto 0;
z-index: 1001;
padding-block: 0 var(--space-large);
padding-inline: var(--space-large);
transform: translateX(435px);
visibility: hidden;
cursor: default;
overflow: auto;
border: none;
margin: 0;
}
.customize-menu.nova-enabled {
background: var(--customize-menu-bg);
border-radius: var(--border-radius-large);
box-shadow: 0 0 14px 0 var(--box-shadow-color-accent-primary-primary);
width: 418px;
padding-inline: 0;
display: flex;
flex-direction: column;
overflow-y: clip;
overflow-x: hidden;
min-height: calc(100% - var(--space-xsmall));
inset-block: var(--space-xxsmall);
inset-inline: auto var(--space-xxsmall);
}
.customize-menu::backdrop {
background: transparent;
}
@media (prefers-reduced-motion: no-preference) {
.customize-menu.customize-animate-enter, .customize-menu.customize-animate-exit, .customize-menu.customize-animate-enter-done, .customize-menu.customize-animate-exit-done {
transition: transform 250ms cubic-bezier(0.46, 0.03, 0.52, 0.96), visibility 250ms;
}
}
@media (forced-colors: active) {
.customize-menu {
border-inline-start: solid 1px;
}
}
.customize-menu:dir(rtl) {
transform: translateX(-435px);
}
.customize-menu.customize-animate-enter-done, .customize-menu.customize-animate-enter-active {
box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.2);
visibility: visible;
transform: translateX(0);
}
.customize-menu.customize-animate-exit-active {
box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.2);
}
.customize-menu-content {
height: 100%;
overflow: auto;
}
.nova-enabled .customize-menu-content {
display: flex;
flex-direction: column;
flex: 1;
height: unset;
}
.customize-menu-content.subpanel-open {
overflow: clip;
}
.customize-menu-content .close-button-wrapper {
position: sticky;
inset-block-start: 0;
padding-block-start: var(--space-large);
background-color: var(--newtab-background-color-secondary);
z-index: 1;
}
.nova-enabled .customize-menu-content .close-button-wrapper {
background: transparent;
}
.customize-menu-content .close-button-wrapper moz-button {
margin-inline-start: auto;
margin-inline-end: var(--space-large);
display: block;
}
.customize-menu-content *:focus-visible {
outline: var(--focus-outline);
}
.customize-menu-content .manage-settings-footer {
padding: var(--space-xlarge);
display: flex;
position: absolute;
inset-block-end: 0;
inset-inline-start: 0;
width: 100%;
background: linear-gradient(to right, var(--customize-menu-bg) calc(100% - var(--space-xxlarge)), transparent);
}
.customize-menu-content .manage-settings-footer:dir(rtl) {
background: linear-gradient(to left, var(--customize-menu-bg) calc(100% - var(--space-xxlarge)), transparent);
}
.customize-menu-content .manage-settings-footer::before {
content: "";
pointer-events: none;
position: absolute;
inset-block-start: calc((var(--space-xlarge) + var(--space-large)) * -1);
inset-inline: 0;
height: calc(var(--space-xlarge) + var(--space-large));
background: linear-gradient(to bottom, transparent, var(--customize-menu-bg));
mask-image: linear-gradient(to right, black calc(100% - var(--space-xxlarge)), transparent);
}
.customize-menu-content .manage-settings-footer:dir(rtl)::before {
mask-image: linear-gradient(to left, black calc(100% - var(--space-xxlarge)), transparent);
}
.grid-skip {
display: contents;
}
.home-section {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: repeat(4, auto);
grid-row-gap: var(--space-xxlarge);
padding-block: var(--space-xsmall) var(--space-large);
padding-inline: var(--space-large);
}
.nova-enabled .home-section {
align-content: start;
flex: 1;
min-height: 0;
overflow-y: auto;
padding-inline: var(--space-xlarge);
}
.home-section .wallpapers-section h2 {
font-size: inherit;
}
.home-section .widgets-section h2 {
font-size: inherit;
margin-block-start: 0;
font-weight: var(--font-weight-heading);
}
.home-section .settings-widgets,
.home-section .settings-toggles {
display: flex;
flex-direction: column;
gap: var(--space-xlarge);
}
.home-section .settings-widgets {
gap: var(--space-large);
}
.home-section .settings-widgets .divider {
margin-block-start: var(--space-large);
}
.home-section [slot=nested] {
margin-block-start: 0;
}
.home-section .section .customize-menu-checkbox-label {
font-size: inherit;
margin-inline-start: var(--space-xsmall);
}
.home-section .section .check-wrapper {
position: relative;
display: flex;
}
.home-section .section .customize-menu-checkbox {
margin-inline-start: var(--space-xxsmall);
width: 16px;
height: 16px;
vertical-align: middle;
border: 1px solid rgba(0, 0, 0, 0.15);
box-sizing: border-box;
border-radius: var(--border-radius-small);
appearance: none;
background-color: var(--newtab-element-secondary-color);
flex-shrink: 0;
}
.home-section .section .customize-menu-checkbox:hover {
background-color: var(--newtab-element-secondary-hover-color);
}
.home-section .section .customize-menu-checkbox:checked {
-moz-context-properties: fill;
fill: var(--newtab-primary-element-text-color);
background: url("chrome://global/skin/icons/check.svg") center no-repeat;
background-color: var(--newtab-primary-action-background);
}
.home-section .section .customize-menu-checkbox:checked:hover {
background-color: var(--newtab-primary-element-hover-color);
}
.home-section .section .customize-menu-checkbox:checked:active {
background-color: var(--newtab-primary-element-active-color);
}
@media (forced-colors: active) {
.home-section .section .customize-menu-checkbox:checked {
fill: #000;
}
}
.home-section .section .customize-menu-checkbox:active + .checkmark {
fill: var(--newtab-element-secondary-color);
}
.home-section .section #shortcuts-toggle {
display: flex;
flex-direction: column;
}
.home-section .section #shortcuts-toggle #row-selector {
width: 138px;
}
.home-section .section .more-info-top-wrapper > .more-information {
padding: var(--space-small);
}
.home-section .section .more-info-top-wrapper,
.home-section .section .more-info-pocket-wrapper,
.home-section .section .more-info-widgets-wrapper {
margin-inline-start: calc(var(--space-xxsmall) * -1);
overflow: hidden;
}
.home-section .section .more-info-top-wrapper .more-information,
.home-section .section .more-info-pocket-wrapper .more-information,
.home-section .section .more-info-widgets-wrapper .more-information {
position: relative;
transition: margin-block-start 250ms cubic-bezier(0.82, 0.085, 0.395, 0.895);
}
.home-section .section .more-info-pocket-wrapper .more-information,
.home-section .section .more-info-widgets-wrapper .more-information {
position: static;
}
.home-section .section .more-info-pocket-wrapper .more-information {
padding-block: var(--space-medium);
}
.home-section .section .more-info-pocket-wrapper .check-wrapper {
margin-block-end: var(--space-small);
}
.home-section .section .more-info-pocket-wrapper:has(moz-box-button:focus-within) {
overflow: visible;
}
.home-section .section .more-info-top-wrapper .check-wrapper {
margin-block-start: var(--space-large);
}
.home-section .sponsored-content-info {
display: flex;
gap: var(--space-small);
font-size: var(--font-size-small);
border-radius: var(--border-radius-medium);
background-color: var(--newtab-element-secondary-color);
padding: var(--space-small) var(--space-large);
}
.home-section .sponsored-content-info .icon-help {
flex-shrink: 0;
color: var(--color-accent-primary);
height: 20px;
}
.home-section .sponsored-content-info a {
color: var(--newtab-primary-action-background);
}
.home-section .divider {
border-block-start: 1px var(--border-color) solid;
margin: 0 calc(var(--space-large) * -1);
}
.external-link {
-moz-context-properties: fill;
background: url("chrome://global/skin/icons/settings.svg") left no-repeat;
background-size: 16px;
border: 1px solid transparent;
border-radius: var(--border-radius-small);
color: var(--link-color);
cursor: pointer;
fill: var(--link-color);
font-size: var(--font-size-small);
padding-inline-start: var(--space-xlarge);
text-decoration: underline;
}
.external-link:hover {
color: var(--link-color-hover);
text-decoration: none;
}
.external-link:active {
color: var(--link-color-active);
}
@media (forced-colors: active) {
.external-link {
padding: var(--space-small) var(--space-medium);
padding-inline-start: var(--space-xlarge);
}
}
.external-link:dir(rtl) {
background-position-x: right;
}
.external-link:focus-visible,
.close-button:focus-visible {
border: 1px solid var(--newtab-primary-action-background);
outline: 0;
box-shadow: 0 0 0 2px var(--newtab-primary-action-background-dimmed);
}
.home-section .section .customize-menu-checkbox {
outline: 0;
box-shadow: 0 0 0 2px light-dark(var(--newtab-background-color), var(--newtab-background-color-dark));
}
.home-section .section .selector {
margin-block-start: var(--space-xxsmall);
}
.home-section .section .customize-menu-checkbox:is(:focus-visible) {
box-shadow: 0 0 0 2px var(--color-accent-primary);
outline: var(--focus-outline);
}
.home-section .section .customize-menu-checkbox:is(:active) {
box-shadow: 0 0 0 2px var(--color-accent-primary-active);
outline: 0;
}
.sections-mgmt-panel,
.widgets-mgmt-panel {
height: 100%;
inset-inline-start: var(--space-xlarge);
position: absolute;
inset-block-start: 0;
width: 380px;
z-index: 2;
transform: translateX(100%);
margin-block: var(--space-large) 0;
padding: 0;
background-color: var(--newtab-background-color-secondary);
overflow-y: auto;
}
.nova-enabled .sections-mgmt-panel,
.nova-enabled .widgets-mgmt-panel {
height: 100vh;
inset-inline-start: 0;
position: fixed;
width: 100%;
margin-block: 0;
}
.sections-mgmt-panel:dir(rtl),
.widgets-mgmt-panel:dir(rtl) {
transform: translateX(-100%);
}
.sections-mgmt-panel h3,
.widgets-mgmt-panel h3 {
font-size: inherit;
margin-block: 0 var(--space-small);
}
.sections-mgmt-panel button.arrow-button,
.widgets-mgmt-panel button.arrow-button {
background: url("chrome://global/skin/icons/arrow-left.svg") no-repeat left center;
border: none;
cursor: pointer;
margin-block-end: var(--space-xlarge);
padding-inline-start: var(--space-xlarge);
-moz-context-properties: fill;
fill: currentColor;
min-height: var(--size-item-small);
margin-inline-start: var(--space-xsmall);
margin-block-start: var(--space-xsmall);
}
.sections-mgmt-panel button.arrow-button:dir(rtl),
.widgets-mgmt-panel button.arrow-button:dir(rtl) {
background: url("chrome://global/skin/icons/arrow-right.svg") no-repeat right center;
}
.sections-mgmt-panel button.arrow-button h1,
.widgets-mgmt-panel button.arrow-button h1 {
font-size: var(--font-size-root);
margin-block: 0;
font-weight: var(--button-font-weight);
}
.nova-enabled .sections-mgmt-panel .panel-content,
.nova-enabled .widgets-mgmt-panel .panel-content {
padding: var(--space-xlarge);
}
.nova-enabled .sections-mgmt-panel .arrow-wrapper,
.nova-enabled .widgets-mgmt-panel .arrow-wrapper {
display: flex;
align-items: center;
margin-block-end: var(--space-xlarge);
}
.nova-enabled .sections-mgmt-panel .arrow-wrapper .arrow-button,
.nova-enabled .widgets-mgmt-panel .arrow-wrapper .arrow-button {
margin-inline-end: var(--space-small);
}
.nova-enabled .sections-mgmt-panel .arrow-wrapper h2,
.nova-enabled .widgets-mgmt-panel .arrow-wrapper h2 {
font-size: var(--font-size-heading-medium);
margin-block: 0;
font-weight: var(--button-font-weight);
}
@media (prefers-reduced-motion: no-preference) {
.sections-mgmt-panel.sections-mgmt-panel-enter, .sections-mgmt-panel.sections-mgmt-panel-exit, .sections-mgmt-panel.sections-mgmt-panel-enter-done, .sections-mgmt-panel.sections-mgmt-panel-exit-done, .sections-mgmt-panel.widgets-mgmt-panel-enter, .sections-mgmt-panel.widgets-mgmt-panel-exit, .sections-mgmt-panel.widgets-mgmt-panel-enter-done, .sections-mgmt-panel.widgets-mgmt-panel-exit-done,
.widgets-mgmt-panel.sections-mgmt-panel-enter,
.widgets-mgmt-panel.sections-mgmt-panel-exit,
.widgets-mgmt-panel.sections-mgmt-panel-enter-done,
.widgets-mgmt-panel.sections-mgmt-panel-exit-done,
.widgets-mgmt-panel.widgets-mgmt-panel-enter,
.widgets-mgmt-panel.widgets-mgmt-panel-exit,
.widgets-mgmt-panel.widgets-mgmt-panel-enter-done,
.widgets-mgmt-panel.widgets-mgmt-panel-exit-done {
transition: transform 300ms;
}
}
.sections-mgmt-panel.sections-mgmt-panel-enter-done, .sections-mgmt-panel.sections-mgmt-panel-enter-active, .sections-mgmt-panel.widgets-mgmt-panel-enter-done, .sections-mgmt-panel.widgets-mgmt-panel-enter-active,
.widgets-mgmt-panel.sections-mgmt-panel-enter-done,
.widgets-mgmt-panel.sections-mgmt-panel-enter-active,
.widgets-mgmt-panel.widgets-mgmt-panel-enter-done,
.widgets-mgmt-panel.widgets-mgmt-panel-enter-active {
transform: translateX(0);
}
.sections-mgmt-panel .topic-list {
list-style: none;
display: flex;
flex-direction: column;
gap: var(--space-small);
margin-block: 0 var(--space-xxlarge);
padding-inline: 0;
width: 100%;
}
.sections-mgmt-panel .topic-list li {
display: flex;
justify-content: space-between;
align-items: center;
}
.sections-mgmt-panel .topic-list-empty-state {
display: block;
margin-block-end: var(--space-xxlarge);
color: var(--text-color-deemphasized);
}
.sections-mgmt-panel .section-block .section-button-blocked-text,
.sections-mgmt-panel .section-block .section-button-following-text,
.sections-mgmt-panel .section-follow .section-button-blocked-text,
.sections-mgmt-panel .section-follow .section-button-following-text {
display: none;
}
.sections-mgmt-panel .section-block .section-button-unblock-text,
.sections-mgmt-panel .section-block .section-button-unfollow-text,
.sections-mgmt-panel .section-follow .section-button-unblock-text,
.sections-mgmt-panel .section-follow .section-button-unfollow-text {
display: none;
}
.sections-mgmt-panel .section-block.following .section-button-follow-text,
.sections-mgmt-panel .section-follow.following .section-button-follow-text {
display: none;
}
.sections-mgmt-panel .section-block.following .section-button-following-text,
.sections-mgmt-panel .section-follow.following .section-button-following-text {
display: block;
}
.sections-mgmt-panel .section-block.following:not(:hover) moz-button,
.sections-mgmt-panel .section-follow.following:not(:hover) moz-button {
--button-background-color-destructive: var(--button-background-color);
--button-text-color-destructive: var(--button-text-color);
--button-border-color-destructive: var(--button-border-color);
}
.sections-mgmt-panel .section-block.following:hover .section-button-following-text,
.sections-mgmt-panel .section-follow.following:hover .section-button-following-text {
display: none;
}
.sections-mgmt-panel .section-block.following:hover .section-button-unfollow-text,
.sections-mgmt-panel .section-follow.following:hover .section-button-unfollow-text {
display: block;
}
.sections-mgmt-panel .section-block.blocked .section-button-block-text,
.sections-mgmt-panel .section-follow.blocked .section-button-block-text {
display: none;
}
.sections-mgmt-panel .section-block.blocked .section-button-blocked-text,
.sections-mgmt-panel .section-follow.blocked .section-button-blocked-text {
display: block;
}
.sections-mgmt-panel .section-block.blocked:hover .section-button-blocked-text,
.sections-mgmt-panel .section-follow.blocked:hover .section-button-blocked-text {
display: none;
}
.sections-mgmt-panel .section-block.blocked:hover .section-button-unblock-text,
.sections-mgmt-panel .section-follow.blocked:hover .section-button-unblock-text {
display: block;
}
.widgets-mgmt-panel .settings-widgets {
display: flex;
flex-direction: column;
gap: var(--space-large);
}
.widgets-mgmt-panel-container {
padding-block: var(--space-medium);
}
.nova-enabled #wallpapers-section,
.nova-enabled #shortcuts-section,
.nova-enabled #widgets-section,
.nova-enabled #pocket-section {
margin-block: var(--space-medium);
}
.nova-enabled .section #shortcuts-toggle #row-selector {
width: 100%;
}
.nova-enabled #wallpapers-toggle {
margin-block-end: var(--space-large);
}
.category-list {
border: none;
display: grid;
gap: calc(var(--space-xlarge) * 2) var(--space-large);
grid-auto-rows: 86px;
grid-template-columns: 1fr 1fr 1fr;
margin-block-end: var(--space-large);
padding: 0;
}
.category-list label {
display: inline-block;
font-size: var(--font-size-small);
text-align: center;
width: 100%;
}
.nova-enabled .category-list {
gap: calc(var(--space-xlarge) * 2) var(--space-medium);
}
.category-header {
display: flex;
justify-content: space-between;
}
.category-header .wallpapers-reset {
margin: unset;
}
.nova-enabled .category-header {
justify-content: unset;
}
.nova-enabled .category-header .wallpapers-reset {
margin-block-end: var(--space-medium);
margin-inline-start: auto;
}
button.arrow-button {
background: url("chrome://global/skin/icons/arrow-left.svg") no-repeat left center;
border: none;
cursor: pointer;
margin-block-end: var(--space-xlarge);
padding-inline-start: var(--space-xlarge);
-moz-context-properties: fill;
fill: currentColor;
min-height: 1rem;
margin-inline-start: var(--space-xsmall);
margin-block-start: var(--space-xsmall);
}
button.arrow-button:dir(rtl) {
background: url("chrome://global/skin/icons/arrow-right.svg") no-repeat right center;
}
.wallpapers-arrow-button {
margin-block-end: var(--space-xlarge);
}
.wallpaper-input {
appearance: none;
background-clip: content-box;
background-repeat: no-repeat;
background-size: cover;
border-radius: var(--border-radius-medium);
border: none;
box-shadow: 0 1px 4px 0 rgba(12, 12, 13, 0.2);
cursor: pointer;
height: 86px;
margin: 0;
outline: 2px solid transparent;
padding: 0;
width: 100%;
}
.wallpaper-input:checked, .wallpaper-input.selected {
box-shadow: inset 0 0 0 3px var(--color-accent-primary);
}
.wallpaper-input.theme-custom-wallpaper {
border: 2px dashed var(--border-color-default, #CFCFD8);
box-shadow: none;
position: relative;
}
.wallpaper-input.theme-custom-wallpaper::after {
content: "";
-moz-context-properties: fill;
fill: var(--icon-color);
width: calc(var(--icon-size) * 1.25);
height: calc(var(--icon-size) * 1.25);
display: block;
position: absolute;
inset-block-start: 50%;
inset-inline-start: 50%;
transform: translate(-50%, -50%);
}
.wallpaper-input.theme-custom-wallpaper:focus {
outline-color: var(--focus-outline-color);
outline-offset: var(--focus-outline-offset);
}
.wallpaper-input.theme-custom-wallpaper::after {
background: url("chrome://global/skin/icons/plus-20.svg") center no-repeat;
}
.wallpaper-input.dark-landscape {
background-image: url("chrome://newtab/content/data/content/assets/wallpapers/dark-landscape.avif");
}
.wallpaper-input.dark-color {
background-image: url("chrome://newtab/content/data/content/assets/wallpapers/dark-color.avif");
}
.wallpaper-input.dark-mountain {
background-image: url("chrome://newtab/content/data/content/assets/wallpapers/dark-mountain.avif");
}
.wallpaper-input.dark-panda {
background-image: url("chrome://newtab/content/data/content/assets/wallpapers/dark-panda.avif");
}
.wallpaper-input.dark-sky {
background-image: url("chrome://newtab/content/data/content/assets/wallpapers/dark-sky.avif");
}
.wallpaper-input.dark-beach {
background-image: url("chrome://newtab/content/data/content/assets/wallpapers/dark-beach.avif");
}
.wallpaper-input.light-beach {
background-image: url("chrome://newtab/content/data/content/assets/wallpapers/light-beach.avif");
}
.wallpaper-input.light-color {
background-image: url("chrome://newtab/content/data/content/assets/wallpapers/light-color.avif");
}
.wallpaper-input.light-landscape {
background-image: url("chrome://newtab/content/data/content/assets/wallpapers/light-landscape.avif");
}
.wallpaper-input.light-mountain {
background-image: url("chrome://newtab/content/data/content/assets/wallpapers/light-mountain.avif");
}
.wallpaper-input.light-panda {
background-image: url("chrome://newtab/content/data/content/assets/wallpapers/light-panda.avif");
}
.wallpaper-input.light-sky {
background-image: url("chrome://newtab/content/data/content/assets/wallpapers/light-sky.avif");
}
.wallpaper-input:focus-visible {
outline-offset: var(--focus-outline-offset);
}
.wallpaper-input:hover {
filter: brightness(55%);
outline-color: transparent;
}
.nova-enabled .wallpaper-input {
border-radius: var(--border-radius-small);
}
.theme-custom-color-picker {
background-color: var(--newtab-background-color-secondary);
background-clip: content-box;
border-radius: var(--border-radius-medium);
outline: 2px dashed var(--border-color-default, #CFCFD8);
outline-offset: 2px;
position: relative;
}
.theme-custom-color-picker .wallpaper-input {
box-shadow: none;
}
.theme-custom-color-picker .wallpaper-input:focus {
outline-color: var(--focus-outline-color);
outline-offset: 6px;
}
.theme-custom-color-picker.default-color-set #solid-color-picker {
opacity: 0;
}
@media (prefers-color-scheme: dark) {
.theme-custom-color-picker.default-color-set::after {
color-scheme: dark;
}
}
.theme-custom-color-picker.custom-color-dark::after {
color-scheme: dark;
}
.theme-custom-color-picker.is-dark::after {
color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
.theme-custom-color-picker.is-dark::after {
color: #FBFBFE;
}
}
.theme-custom-color-picker::after {
background: url("chrome://global/skin/icons/color-picker-20.svg") center no-repeat;
content: "";
-moz-context-properties: fill;
fill: var(--icon-color);
width: calc(var(--icon-size) * 1.25);
height: calc(var(--icon-size) * 1.25);
display: block;
position: absolute;
inset-block-start: 50%;
inset-inline-start: 50%;
transform: translate(-50%, -50%);
pointer-events: none;
cursor: pointer;
color-scheme: light;
}
.theme-custom-color-picker label {
display: inline-block;
font-size: var(--font-size-small);
text-align: center;
width: 100%;
}
.theme-custom-color-picker ::-moz-color-swatch {
border-color: transparent;
border-radius: var(--border-radius-medium);
}
.wallpaper-list {
display: grid;
gap: var(--space-large);
grid-template-columns: 1fr 1fr 1fr;
grid-auto-rows: 86px;
margin: 0;
padding: 0;
border: none;
}
.wallpaper-list.category {
background-color: var(--newtab-background-color-secondary);
color: var(--newtab-text-primary-color);
display: unset;
gap: unset;
grid-auto-rows: unset;
grid-template-columns: unset;
height: 100%;
padding: var(--space-xlarge);
position: absolute;
inset-block-start: 0;
inset-inline-start: 100%;
width: 100%;
z-index: 2;
overflow-y: auto;
}
.wallpaper-list.category fieldset {
border: none;
display: grid;
gap: var(--space-large);
grid-auto-rows: 86px;
grid-template-columns: 1fr 1fr 1fr;
padding: 0;
}
@media (prefers-reduced-motion: no-preference) {
.wallpaper-list.category.wallpaper-list-enter, .wallpaper-list.category.wallpaper-list-exit, .wallpaper-list.category.wallpaper-list-enter-done, .wallpaper-list.category.wallpaper-list-exit-done {
transition: inset-inline-start 300ms;
}
}
.wallpaper-list.category.wallpaper-list-enter-done, .wallpaper-list.category.wallpaper-list-enter-active {
inset-inline-start: 0;
}
.wallpaper-list:not(.ignore-color-mode) .wallpaper-input.theme-light, .wallpaper-list:not(.ignore-color-mode) .sr-only.theme-light {
display: inline-block;
}
[lwt-newtab-brighttext] .wallpaper-list:not(.ignore-color-mode) .wallpaper-input.theme-light, [lwt-newtab-brighttext] .wallpaper-list:not(.ignore-color-mode) .sr-only.theme-light {
display: none;
}
.wallpaper-list:not(.ignore-color-mode) .wallpaper-input.theme-dark, .wallpaper-list:not(.ignore-color-mode) .sr-only.theme-dark {
display: none;
}
[lwt-newtab-brighttext] .wallpaper-list:not(.ignore-color-mode) .wallpaper-input.theme-dark, [lwt-newtab-brighttext] .wallpaper-list:not(.ignore-color-mode) .sr-only.theme-dark {
display: inline-block;
}
.wallpaper-list .sr-only {
opacity: 0;
overflow: hidden;
position: absolute;
pointer-events: none;
}
.wallpapers-reset {
background: none;
border: none;
text-decoration: underline;
margin-inline: auto;
display: block;
font-size: var(--font-size-small);
color: var(--newtab-text-primary-color);
cursor: pointer;
}
.wallpapers-reset:hover {
text-decoration: none;
}
.wallpapers-reset:focus-visible {
outline-offset: -2px;
}
.custom-wallpaper-error {
padding-block-start: var(--space-xlarge);
font-size: var(--font-size-small);
display: flex;
gap: var(--space-small);
align-items: center;
}
.custom-wallpaper-error .icon {
width: var(--button-size-icon-small);
height: var(--button-size-icon-small);
fill: var(--icon-color-critical);
}
:root {
--newtab-weather-content-font-size: var(--font-size-small);
--newtab-weather-sponsor-font-size: 8px;
}
.weather {
font-size: inherit;
display: inline-block;
margin-inline-start: 0;
position: absolute;
inset-inline-end: var(--space-xxlarge);
inset-block-start: var(--space-xxlarge);
margin-block-start: 0;
z-index: 1;
}
@media (min-width: 724px) {
.weather {
inset-inline-end: var(--space-large);
}
}
@media (min-width: 866px) {
.weather {
inset-inline-end: var(--space-xxlarge);
}
}
.no-search .weather {
position: absolute;
inset-block-start: var(--space-xxlarge);
margin-block-start: 0;
margin-inline-start: 0;
inset-inline-end: var(--space-large);
}
@media (min-width: 510px) {
.no-search .weather {
inset-inline-end: var(--space-xxlarge);
}
}
@media (min-width: 724px) {
.no-search .weather {
inset-inline-end: var(--space-large);
}
}
@media (min-width: 866px) {
.no-search .weather {
inset-inline-end: var(--space-xxlarge);
}
}
.weather-placeholder {
width: 240px;
height: 98px;
padding: var(--space-small) var(--space-medium);
border-radius: var(--border-radius-medium);
background: var(--newtab-background-color-secondary);
display: flex;
overflow: hidden;
}
.weather-placeholder .placeholder-image {
height: 100%;
width: 80px;
margin-inline-end: var(--space-medium);
flex-shrink: 0;
}
.weather-placeholder .placeholder-context {
width: 100%;
display: flex;
flex-direction: column;
}
.weather-placeholder .placeholder-header {
height: 45px;
width: 100%;
margin-block-end: var(--space-small);
}
.weather-placeholder .placeholder-description {
flex-grow: 1;
width: 100%;
}
.weather-placeholder .placeholder-fill {
color: var(--newtab-text-primary-color);
background: var(--newtab-button-active-background);
border-radius: var(--border-radius-small);
}
.weather-placeholder.placeholder-seen::before {
content: "";
display: block;
position: absolute;
inset-block-start: 0;
inset-inline-start: -100%;
height: 100%;
width: 100%;
background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, var(--newtab-background-color-secondary) 50%, rgba(255, 255, 255, 0) 100%);
z-index: 2;
}
@media (prefers-reduced-motion: no-preference) {
.weather-placeholder.placeholder-seen::before {
animation: loading 1.5s infinite;
}
}
@keyframes loading {
0% {
inset-inline-start: -100%;
}
50%, 100% {
inset-inline-start: 100%;
}
}
.has-mobile-download-promo {
--mobile-download-promo-width: var(--space-xxlarge);
}
@media (min-width: 610px) {
.has-mobile-download-promo .weather {
inset-inline-end: calc(var(--mobile-download-promo-width) + var(--space-medium));
}
}
@media (min-width: 724px) {
.has-mobile-download-promo .weather {
inset-inline-end: calc(var(--space-xxlarge) + var(--mobile-download-promo-width) + var(--space-medium));
}
}
@media (min-width: 866px) {
.has-mobile-download-promo.no-search .weather {
inset-inline-end: calc(var(--space-xxlarge) + var(--mobile-download-promo-width) + var(--space-medium));
}
}
.has-weather.has-search .weatherDetailedSummaryRow {
display: block;
}
@media (min-width: 610px) {
.has-weather.has-search .weatherDetailedSummaryRow {
display: none;
}
}
@media (min-width: 866px) {
.has-weather.has-search .weatherDetailedSummaryRow {
display: block;
}
}
.has-weather.has-search .weatherIconCol {
display: flex;
}
@media (min-width: 610px) {
.has-weather.has-search .weatherIconCol {
display: none;
}
}
@media (min-width: 866px) {
.has-weather.has-search .weatherIconCol {
display: flex;
}
}
.weatherNotAvailable {
font-size: var(--newtab-weather-content-font-size);
align-items: center;
border-radius: var(--border-radius-medium);
height: 52px;
max-width: 205px;
display: none;
}
@media (min-width: 866px) {
.weatherNotAvailable {
display: flex;
}
}
.weatherNotAvailable:hover {
background-color: var(--button-background-color-ghost-hover);
}
.weatherNotAvailable:active {
background-color: var(--button-background-color-ghost-active);
}
.weatherNotAvailable .icon {
margin-inline-start: var(--space-small);
min-width: var(--size-item-small);
}
.weatherNotAvailable p {
margin-inline-start: var(--space-small);
}
.weatherNotAvailable .weatherButtonContextMenuWrapper {
align-self: stretch;
padding-inline: var(--space-small);
}
.lightWallpaper .weatherNotAvailable, .darkWallpaper .weatherNotAvailable {
background-color: var(--newtab-weather-background-color);
}
@media (prefers-contrast) {
.lightWallpaper .weatherNotAvailable, .darkWallpaper .weatherNotAvailable {
background-color: var(--background-color-box);
}
}
.weatherCard {
margin-block-end: var(--space-xsmall);
display: flex;
flex-wrap: nowrap;
align-items: stretch;
border-radius: var(--border-radius-medium);
}
.weatherCard:hover ~ .weatherSponsorText, .weatherCard:focus-within ~ .weatherSponsorText {
visibility: visible;
}
.weatherCard:has(.staticWeatherInfo):hover {
box-shadow: none;
}
.weatherCard:has(.staticWeatherInfo):hover ~ .weatherSponsorText {
visibility: hidden;
}
.weatherCard:hover {
box-shadow: var(--card-box-shadow);
}
.weatherCard a {
color: var(--text-color);
}
.weatherSponsorText {
visibility: hidden;
font-size: var(--newtab-weather-sponsor-font-size);
color: var(--newtab-contextual-text-primary-color);
float: inline-end;
}
.lightWallpaper .weatherSponsorText {
color-scheme: light;
}
.darkWallpaper .weatherSponsorText {
color-scheme: dark;
}
.weatherSponsorText span {
color: var(--text-color-deemphasized);
inset-inline-end: 0;
}
.weatherOptIn {
position: absolute;
inset-block-end: calc(var(--space-medium) * -1.5);
inset-inline-start: calc(var(--space-xxlarge) * -9);
}
.weatherOptIn dialog {
background: var(--newtab-background-color-secondary);
border: 1px solid var(--card-border-color);
border-radius: var(--border-radius-medium);
box-shadow: var(--card-box-shadow);
display: flex;
width: 332px;
}
.weatherOptIn dialog .weatherOptInImg {
-webkit-mask: url("chrome://browser/skin/weather/mostly-sunny.svg") no-repeat center;
mask: url("chrome://browser/skin/weather/mostly-sunny.svg") no-repeat center;
background-color: var(--button-icon-fill);
mask-size: cover;
margin-inline-end: var(--space-medium);
height: var(--icon-size-xlarge);
width: var(--icon-size-xlarge);
}
.weatherOptIn dialog:focus-visible {
outline: var(--focus-outline);
}
.weatherOptIn dialog:focus-visible::after {
border-block-end: var(--focus-outline);
border-inline-end: var(--focus-outline);
}
.weatherOptIn dialog .weatherOptInContent {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.weatherOptIn dialog .weatherOptInContent h3 {
font-size: var(--button-font-size);
font-weight: var(--font-weight-heading);
margin-block: 0 var(--space-medium);
}
.weatherOptIn dialog .weatherOptInContent moz-button-group {
align-self: flex-end;
}
.weatherOptIn dialog .weatherOptInContent moz-button-group moz-button:first-of-type {
margin-inline-end: var(--space-small);
}
@media (min-width: 866px) {
.weatherOptIn {
inset-block-end: calc(var(--space-medium) * -1);
inset-inline-start: calc(var(--space-xxlarge) * -5.5);
}
}
dialog::after {
content: "";
position: absolute;
inset-block-start: -9%;
inset-inline-end: 5%;
transform: translateX(-50%) rotate(225deg);
height: 16px;
width: 16px;
background: var(--newtab-background-color-secondary);
box-shadow: 4px 4px 6px -2px var(--card-box-shadow);
border-inline-end: 1px solid var(--card-border-color);
border-block-end: 1px solid var(--card-border-color);
}
dialog:dir(rtl)::after {
border-inline-start: 1px solid var(--card-border-color);
border-block-end: 1px solid var(--card-border-color);
border-inline-end: none;
inset-inline-end: 10%;
}
.weatherInfoLink, .weatherButtonContextMenuWrapper {
appearance: none;
background-color: var(--background-color-ghost);
border: 0;
padding: var(--space-small);
cursor: pointer;
}
.weatherInfoLink:hover, .weatherButtonContextMenuWrapper:hover {
background-color: var(--newtab-background-color-secondary);
}
.weatherInfoLink:hover::after, .weatherButtonContextMenuWrapper:hover::after {
background-color: transparent;
}
.weatherInfoLink:hover:active, .weatherButtonContextMenuWrapper:hover:active {
background-color: var(--button-background-color-ghost-active);
}
.lightWallpaper .weatherInfoLink, .darkWallpaper .weatherInfoLink, .lightWallpaper .weatherButtonContextMenuWrapper, .darkWallpaper .weatherButtonContextMenuWrapper {
background-color: var(--newtab-weather-background-color);
}
.lightWallpaper .weatherInfoLink:hover, .darkWallpaper .weatherInfoLink:hover, .lightWallpaper .weatherButtonContextMenuWrapper:hover, .darkWallpaper .weatherButtonContextMenuWrapper:hover {
background-color: var(--newtab-button-static-hover-background);
}
.lightWallpaper .weatherInfoLink:hover:active, .darkWallpaper .weatherInfoLink:hover:active, .lightWallpaper .weatherButtonContextMenuWrapper:hover:active, .darkWallpaper .weatherButtonContextMenuWrapper:hover:active {
background-color: var(--newtab-button-static-active-background);
}
@media (prefers-contrast) {
.lightWallpaper .weatherInfoLink, .darkWallpaper .weatherInfoLink, .lightWallpaper .weatherButtonContextMenuWrapper, .darkWallpaper .weatherButtonContextMenuWrapper {
background-color: var(--background-color-box);
}
}
.weatherInfoLink {
display: flex;
gap: var(--space-medium);
padding: var(--space-small) var(--space-medium);
border-radius: var(--border-radius-medium);
text-decoration: none;
color: var(--text-color);
min-width: 130px;
max-width: 190px;
text-overflow: ellipsis;
}
@media (min-width: 610px) {
.weatherInfoLink {
min-width: unset;
}
}
@media (min-width: 866px) {
.weatherInfoLink {
border-start-end-radius: 0;
border-end-end-radius: 0;
}
}
.weatherInfoLink:hover ~ .weatherButtonContextMenuWrapper::after {
background-color: transparent;
}
.weatherInfoLink:focus-visible {
border-radius: var(--border-radius-medium);
outline: var(--focus-outline);
z-index: 1;
}
.weatherInfoLink:focus-visible ~ .weatherButtonContextMenuWrapper::after {
background-color: transparent;
}
.weatherInfoLink.staticWeatherInfo .weatherIcon {
filter: opacity(60%);
}
.weatherInfoLink.staticWeatherInfo .weatherText {
color: var(--text-color-disabled);
}
.weatherInfoLink.staticWeatherInfo:hover, .weatherInfoLink.staticWeatherInfo:active {
box-shadow: none;
cursor: default;
background-color: var(--newtab-weather-background-color);
}
.weatherButtonContextMenuWrapper {
position: relative;
cursor: pointer;
border-start-start-radius: 0;
border-start-end-radius: var(--border-radius-medium);
border-end-end-radius: var(--border-radius-medium);
border-end-start-radius: 0;
display: flex;
align-items: stretch;
width: 50px;
padding: 0;
}
.weatherButtonContextMenuWrapper::after {
content: "";
inset-inline-start: 0;
inset-block-start: var(--space-small);
height: calc(100% - 20px);
width: 1px;
background-color: var(--newtab-button-static-background);
display: block;
position: absolute;
z-index: 0;
}
.weatherButtonContextMenuWrapper:hover::after {
background-color: transparent;
}
.weatherButtonContextMenuWrapper:has(:focus-visible) {
border-radius: var(--border-radius-medium);
outline: var(--focus-outline);
}
.weatherButtonContextMenuWrapper:has(:focus-visible)::after {
background-color: transparent;
}
.weatherButtonContextMenu {
background-image: url("chrome://global/skin/icons/more.svg");
background-repeat: no-repeat;
background-size: var(--size-item-small) auto;
background-position: center;
background-color: transparent;
cursor: pointer;
fill: var(--icon-color);
-moz-context-properties: fill;
width: 100%;
height: 100%;
border: 0;
appearance: none;
min-width: var(--size-item-large);
}
.weatherButtonContextMenu:focus {
outline: none;
}
.weatherText {
height: min-content;
}
.weatherCityRow, .weatherForecastRow, .weatherDetailedSummaryRow {
display: flex;
justify-content: space-between;
align-items: center;
gap: var(--space-small);
}
.weatherForecastRow {
text-transform: uppercase;
font-weight: var(--font-weight-semibold);
}
.weatherCityRow {
color: var(--text-color-deemphasized);
}
.weatherCity {
-webkit-line-clamp: 1;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-word;
font-size: var(--font-size-small);
}
.weatherCityRow + .weatherDetailedSummaryRow {
margin-block-start: var(--space-xsmall);
}
.weatherDetailedSummaryRow {
font-size: var(--newtab-weather-content-font-size);
gap: var(--space-large);
}
.weatherHighLowTemps {
display: inline-flex;
gap: var(--space-xxsmall);
text-transform: uppercase;
word-spacing: var(--space-xxsmall);
margin-inline-end: var(--space-small);
}
.weatherTextSummary {
display: inline;
text-align: center;
max-width: 90px;
}
.weatherTemperature {
font-size: var(--font-size-large);
}
.weatherIconCol {
width: var(--size-item-large);
height: var(--size-item-large);
aspect-ratio: 1;
display: flex;
align-items: center;
justify-content: center;
align-self: center;
}
.weatherIcon {
width: var(--size-item-large);
height: auto;
vertical-align: middle;
}
@media (prefers-contrast) {
.weatherIcon {
-moz-context-properties: fill, stroke;
fill: currentColor;
stroke: currentColor;
}
}
.weatherIcon.iconId1 {
content: url("chrome://browser/skin/weather/sunny.svg");
}
.weatherIcon.iconId2 {
content: url("chrome://browser/skin/weather/mostly-sunny.svg");
}
.weatherIcon:is(.iconId3, .iconId4, .iconId6) {
content: url("chrome://browser/skin/weather/partly-sunny.svg");
}
.weatherIcon.iconId5 {
content: url("chrome://browser/skin/weather/hazy-sunshine.svg");
}
.weatherIcon:is(.iconId7, .iconId8) {
content: url("chrome://browser/skin/weather/cloudy.svg");
}
.weatherIcon.iconId11 {
content: url("chrome://browser/skin/weather/fog.svg");
}
.weatherIcon.iconId12 {
content: url("chrome://browser/skin/weather/showers.svg");
}
.weatherIcon:is(.iconId13, .iconId14) {
content: url("chrome://browser/skin/weather/mostly-cloudy-with-showers.svg");
}
.weatherIcon.iconId15 {
content: url("chrome://browser/skin/weather/thunderstorms.svg");
}
.weatherIcon:is(.iconId16, .iconId17) {
content: url("chrome://browser/skin/weather/mostly-cloudy-with-thunderstorms.svg");
}
.weatherIcon.iconId18 {
content: url("chrome://browser/skin/weather/rain.svg");
}
.weatherIcon:is(.iconId19, .iconId20, .iconId25) {
content: url("chrome://browser/skin/weather/flurries.svg");
}
.weatherIcon.iconId21 {
content: url("chrome://browser/skin/weather/partly-sunny-with-flurries.svg");
}
.weatherIcon:is(.iconId22, .iconId23) {
content: url("chrome://browser/skin/weather/snow.svg");
}
.weatherIcon:is(.iconId24, .iconId31) {
content: url("chrome://browser/skin/weather/ice.svg");
}
.weatherIcon:is(.iconId26, .iconId29) {
content: url("chrome://browser/skin/weather/freezing-rain.svg");
}
.weatherIcon.iconId30 {
content: url("chrome://browser/skin/weather/hot.svg");
}
.weatherIcon.iconId32 {
content: url("chrome://browser/skin/weather/windy.svg");
}
.weatherIcon.iconId33 {
content: url("chrome://browser/skin/weather/night-clear.svg");
}
.weatherIcon:is(.iconId34, .iconId35, .iconId36, .iconId38) {
content: url("chrome://browser/skin/weather/night-mostly-clear.svg");
}
.weatherIcon.iconId37 {
content: url("chrome://browser/skin/weather/night-hazy-moonlight.svg");
}
.weatherIcon:is(.iconId39, .iconId40) {
content: url("chrome://browser/skin/weather/night-partly-cloudy-with-showers.svg");
height: var(--size-item-large);
}
.weatherIcon:is(.iconId41, .iconId42) {
content: url("chrome://browser/skin/weather/night-partly-cloudy-with-thunderstorms.svg");
}
.weatherIcon:is(.iconId43, .iconId44) {
content: url("chrome://browser/skin/weather/night-mostly-cloudy-with-flurries.svg");
}
.weatherWrapper .location-input-wrapper,
.weather-forecast-widget .location-input-wrapper {
background-color: light-dark(var(--color-white), var(--newtab-background-color-secondary));
color: var(--newtab-text-primary-color);
border-radius: var(--border-radius-medium);
padding: var(--space-small);
position: relative;
}
.lightWallpaper .weatherWrapper .location-input-wrapper, .darkWallpaper .weatherWrapper .location-input-wrapper,
.lightWallpaper .weather-forecast-widget .location-input-wrapper,
.darkWallpaper .weather-forecast-widget .location-input-wrapper {
background-color: var(--newtab-weather-background-color);
}
.lightWallpaper .weatherWrapper .location-input-wrapper:hover, .darkWallpaper .weatherWrapper .location-input-wrapper:hover,
.lightWallpaper .weather-forecast-widget .location-input-wrapper:hover,
.darkWallpaper .weather-forecast-widget .location-input-wrapper:hover {
background-color: var(--newtab-button-static-hover-background);
}
.lightWallpaper .weatherWrapper .location-input-wrapper:hover:active, .darkWallpaper .weatherWrapper .location-input-wrapper:hover:active,
.lightWallpaper .weather-forecast-widget .location-input-wrapper:hover:active,
.darkWallpaper .weather-forecast-widget .location-input-wrapper:hover:active {
background-color: var(--newtab-button-static-active-background);
}
@media (prefers-contrast) {
.lightWallpaper .weatherWrapper .location-input-wrapper, .darkWallpaper .weatherWrapper .location-input-wrapper,
.lightWallpaper .weather-forecast-widget .location-input-wrapper,
.darkWallpaper .weather-forecast-widget .location-input-wrapper {
background-color: var(--background-color-box);
}
}
.weatherWrapper .location-input-wrapper .search-icon,
.weather-forecast-widget .location-input-wrapper .search-icon {
content: url("chrome://global/skin/icons/search-glass.svg");
-moz-context-properties: fill;
fill: var(--icon-color);
position: absolute;
inset-block-start: 50%;
transform: translateY(-50%);
inset-inline-start: var(--space-large);
}
.weatherWrapper .location-input-wrapper .close-icon,
.weather-forecast-widget .location-input-wrapper .close-icon {
position: absolute;
inset-block-start: 50%;
transform: translateY(-50%);
inset-inline-end: var(--space-medium);
}
.weatherWrapper .location-input-wrapper .close-icon:focus-visible,
.weather-forecast-widget .location-input-wrapper .close-icon:focus-visible {
outline: var(--focus-outline);
}
.weatherWrapper .location-input-wrapper input,
.weather-forecast-widget .location-input-wrapper input {
border-radius: var(--border-radius-medium);
background-color: light-dark(var(--color-white), var(--newtab-background-color-secondary));
padding: var(--space-small) var(--space-xxlarge);
border: 1px solid var(--border-color);
}
.weatherWrapper .location-input-wrapper input:focus-visible,
.weather-forecast-widget .location-input-wrapper input:focus-visible {
outline: var(--focus-outline);
}
.has-weather.has-search .weatherCityRow,
.has-weather.has-search .weatherButtonContextMenuWrapper,
.has-weather .weatherCityRow,
.has-weather .weatherButtonContextMenuWrapper {
display: none;
}
@media (min-width: 866px) {
.has-weather.has-search .weatherCityRow,
.has-weather.has-search .weatherButtonContextMenuWrapper,
.has-weather .weatherCityRow,
.has-weather .weatherButtonContextMenuWrapper {
display: flex;
}
}
.has-weather.has-search .weatherIconCol,
.has-weather .weatherIconCol {
display: none;
}
@media (min-width: 1122px) {
.has-weather.has-search .weatherIconCol,
.has-weather .weatherIconCol {
display: flex;
}
}
.has-weather.has-search .weatherDetailedSummaryRow,
.has-weather .weatherDetailedSummaryRow {
display: none;
}
@media (min-width: 1122px) {
.has-weather.has-search .weatherDetailedSummaryRow,
.has-weather .weatherDetailedSummaryRow {
display: block;
}
}
.has-weather.has-search .weatherCard,
.has-weather .weatherCard {
min-height: 55px;
}
.has-weather.has-search .weatherInfoLink,
.has-weather .weatherInfoLink {
min-width: auto;
max-width: none;
}
@media (min-width: 1122px) {
.has-weather.has-search .weatherInfoLink,
.has-weather .weatherInfoLink {
min-width: 130px;
max-width: 190px;
}
}
.has-weather.has-search .weatherForecastRow,
.has-weather .weatherForecastRow {
margin-block: var(--space-small);
}
@media (min-width: 866px) {
.has-weather.has-search .weatherForecastRow,
.has-weather .weatherForecastRow {
margin-block: unset;
}
}
.has-weather.has-search .weatherSponsorText,
.has-weather .weatherSponsorText {
position: relative;
}
.has-weather.has-search .weatherSponsorText span,
.has-weather .weatherSponsorText span {
position: absolute;
white-space: nowrap;
inset-block-start: var(--space-small);
}
@media (min-width: 866px) {
.has-weather.has-search .weatherSponsorText span,
.has-weather .weatherSponsorText span {
inset-block-start: unset;
position: relative;
}
}
.mobileDownloadPromoWrapper {
display: none;
height: 55px;
}
@media (min-width: 1122px) {
.mobileDownloadPromoWrapper.is-tall {
height: 74px;
}
}
@media (min-width: 610px) {
.mobileDownloadPromoWrapper {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
inset-inline-start: auto;
inset-block-start: var(--space-xxlarge);
inset-inline-end: var(--space-medium);
margin-block-start: 0;
margin-inline-start: 0;
z-index: 1;
}
}
@media (min-width: 724px) {
.mobileDownloadPromoWrapper {
inset-inline-end: var(--space-xxlarge);
}
}
.no-search .mobileDownloadPromoWrapper {
display: none;
}
@media (min-width: 866px) {
.no-search .mobileDownloadPromoWrapper {
display: flex;
inset-block-start: var(--space-xxlarge);
inset-inline-start: auto;
inset-inline-end: var(--space-xxlarge);
}
}
.mobile-download-promo {
width: 32px;
height: 32px;
appearance: none;
border: 0;
border-radius: var(--border-radius-small);
padding: 0;
cursor: pointer;
}
.mobile-download-promo:hover {
background-color: var(--button-background-color-ghost-hover);
}
.mobile-download-promo:hover:active {
background-color: var(--button-background-color-ghost-active);
}
.mobile-download-promo.is-active {
background-color: var(--button-background-color-ghost-active);
}
.lightWallpaper .mobile-download-promo, .darkWallpaper .mobile-download-promo {
background-color: var(--newtab-weather-background-color);
}
@media (prefers-contrast) {
.lightWallpaper .mobile-download-promo, .darkWallpaper .mobile-download-promo {
background-color: var(--background-color-box);
}
}
/* stylelint-disable max-nesting-depth */
.card-outer {
background: var(--newtab-background-color-secondary);
border-radius: var(--border-radius-medium);
display: inline-block;
height: 266px;
margin-inline-end: var(--space-xxlarge);
position: relative;
width: 100%;
}
.card-outer .context-menu-button {
background-clip: padding-box;
background-color: var(--newtab-button-background);
background-image: url("chrome://global/skin/icons/more.svg");
background-position: 50.1%;
border: 0;
outline: 1px solid var(--border-color);
outline-width: 0;
border-radius: var(--border-radius-circle);
cursor: pointer;
color: var(--button-text-color);
fill: var(--newtab-button-text);
height: 27px;
inset-inline-end: calc(var(--space-medium) * -1);
opacity: 0;
position: absolute;
inset-block-start: calc(var(--space-medium) * -1);
transform: scale(0.25);
transition-duration: 150ms;
transition-property: transform, opacity;
width: 27px;
}
.card-outer .context-menu-button:is(:active, :focus-visible, :hover) {
opacity: 1;
transform: scale(1);
}
.card-outer .context-menu-button:is(:hover) {
background-color: var(--newtab-button-hover-background);
}
.card-outer .context-menu-button:is(:focus-visible) {
outline-color: var(--newtab-button-focus-border);
background-color: var(--newtab-button-focus-background);
outline-width: 4px;
}
.card-outer .context-menu-button:is(:active) {
background-color: var(--newtab-button-active-background);
}
.card-outer:is(:focus):not(.placeholder) {
border: 0;
outline: var(--focus-outline);
transition: none;
}
.card-outer:hover {
box-shadow: none;
transition: none;
}
.card-outer.placeholder {
background: transparent;
}
.card-outer.placeholder .card-preview-image-outer,
.card-outer.placeholder .card-context {
display: none;
}
.card-outer .card {
border-radius: var(--border-radius-medium);
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
height: 100%;
}
.card-outer > a {
color: inherit;
display: block;
height: 100%;
outline: none;
position: absolute;
width: 100%;
}
.card-outer > a:is(:focus) .card {
border: 0;
outline: var(--focus-outline);
}
.card-outer > a:is(.active, :focus) .card {
box-shadow: 0 0 0 5px var(--newtab-element-secondary-color);
transition: box-shadow 150ms;
}
.card-outer > a:is(.active, :focus) .card-title {
color: var(--newtab-primary-action-background);
}
.card-outer:is(:hover, :focus, .active):not(.placeholder) {
outline: none;
}
.card-outer:is(:hover, :focus, .active):not(.placeholder) .context-menu-button {
opacity: 1;
transform: scale(1);
transition-delay: 333ms;
}
.card-outer:is(:hover, :focus, .active):not(.placeholder) .card-title {
color: var(--newtab-primary-action-background);
}
.card-outer:is(:hover, :focus, .active):not(.placeholder) .alternate ~ .card-host-name {
display: none;
}
.card-outer:is(:hover, :focus, .active):not(.placeholder) .card-host-name.alternate {
display: block;
}
.card-outer .card-preview-image-outer {
background-color: var(--newtab-element-secondary-color);
border-radius: var(--border-radius-medium) var(--border-radius-medium) 0 0;
height: 122px;
overflow: hidden;
position: relative;
}
.card-outer .card-preview-image-outer::after {
border-block-end: 1px solid var(--newtab-card-hairline-color);
inset-block-end: 0;
content: "";
position: absolute;
width: 100%;
}
.card-outer .card-preview-image-outer .card-preview-image {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
height: 100%;
opacity: 0;
transition: opacity 1s cubic-bezier(0.07, 0.95, 0, 1);
width: 100%;
}
.card-outer .card-preview-image-outer .card-preview-image.loaded {
opacity: 1;
}
.card-outer .card-details {
padding: var(--space-large) var(--space-large) var(--space-medium);
}
.card-outer .card-text {
max-height: 78px;
overflow: hidden;
}
.card-outer .card-text.no-host-name, .card-outer .card-text.no-context {
max-height: 97px;
}
.card-outer .card-text.no-host-name.no-context {
max-height: 116px;
}
.card-outer .card-text:not(.no-description) .card-title {
max-height: 57px;
overflow: hidden;
}
.card-outer .card-host-name {
color: var(--newtab-text-secondary-color);
font-size: var(--font-size-small);
overflow: hidden;
padding-block-end: var(--space-xsmall);
text-overflow: ellipsis;
text-transform: uppercase;
white-space: nowrap;
}
.card-outer .card-host-name.alternate {
display: none;
}
.card-outer .card-title {
font-size: inherit;
font-weight: var(--font-weight-heading);
line-height: 19px;
margin: 0 0 var(--space-xxsmall);
word-wrap: break-word;
}
.card-outer .card-description {
font-size: var(--font-size-small);
line-height: 19px;
margin: 0;
overflow: hidden;
word-wrap: break-word;
}
.card-outer .card-context {
inset-block-end: 0;
color: var(--newtab-text-secondary-color);
display: flex;
font-size: var(--font-size-small);
inset-inline-start: 0;
padding: var(--space-small) var(--space-large);
position: absolute;
}
.card-outer .card-context-icon {
fill: var(--newtab-text-secondary-color);
height: 22px;
margin-inline-end: var(--space-xsmall);
}
.card-outer .card-context-label {
flex-grow: 1;
line-height: 22px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
@media (min-width: 1122px) {
.normal-cards .card-outer {
height: 370px;
}
.normal-cards .card-outer .card-preview-image-outer {
height: 155px;
}
.normal-cards .card-outer .card-details {
padding: var(--space-medium) var(--space-large);
}
.normal-cards .card-outer .card-text {
max-height: 140px;
}
.normal-cards .card-outer .card-host-name {
font-size: var(--font-size-small);
padding-block-end: var(--space-xsmall);
}
.normal-cards .card-outer .card-title {
font-size: var(--font-size-large);
line-height: 23px;
margin-block-end: 0;
}
.normal-cards .card-outer .card-text:not(.no-description) .card-title {
max-height: 69px;
}
.normal-cards .card-outer .card-description {
font-size: inherit;
line-height: 23px;
}
.normal-cards .card-outer .card-context {
inset-block-end: var(--space-xsmall);
font-size: inherit;
line-height: 23px;
}
}
.compact-cards .card-outer {
height: 160px;
}
.compact-cards .card-outer .card-preview-image-outer {
height: 108px;
}
.compact-cards .card-outer .card-details {
padding: var(--space-medium) var(--space-large);
}
.compact-cards .card-outer .card-host-name {
line-height: 10px;
}
.compact-cards .card-outer .card-text .card-title, .compact-cards .card-outer .card-text:not(.no-description) .card-title {
font-size: var(--font-size-small);
line-height: calc(var(--font-size-small) + 1px);
max-height: calc(var(--font-size-small) + 5px);
overflow: hidden;
padding: 0 0 var(--space-xsmall);
text-overflow: ellipsis;
white-space: nowrap;
}
.compact-cards .card-outer .card-description {
display: none;
}
.compact-cards .card-outer .card-context {
background-color: var(--newtab-background-color-secondary);
border-radius: var(--border-radius-medium);
clip-path: inset(-1px -1px 4px);
height: 32px;
width: 32px;
padding: var(--space-small);
inset-block-start: 91px;
inset-inline-end: var(--space-medium);
inset-inline-start: auto;
}
.compact-cards .card-outer .card-context::after {
border: 1px solid var(--newtab-card-hairline-color);
border-block-end: 0;
border-radius: var(--border-radius-medium);
content: "";
position: absolute;
height: 17px;
width: 34px;
inset-block-start: calc(var(--space-xxsmall) * -1);
inset-inline-start: calc(var(--space-xxsmall) * -1);
}
.compact-cards .card-outer .card-context .card-context-icon {
margin-inline-end: 0;
height: 16px;
width: 16px;
}
.compact-cards .card-outer .card-context .card-context-icon.icon-bookmark-added {
fill: var(--color-blue-40);
}
.compact-cards .card-outer .card-context .card-context-icon.icon-download {
fill: var(--color-green-40);
}
.compact-cards .card-outer .card-context .card-context-icon.icon-pocket {
fill: #EF4056;
}
.compact-cards .card-outer .card-context .card-context-label {
display: none;
}
@media not all and (min-width: 1122px) {
.compact-cards .hide-for-narrow {
display: none;
}
}
/* stylelint-disable max-nesting-depth */
.collapsible-section {
padding: 0 var(--space-xlarge);
margin-block-end: var(--space-xxlarge);
}
.collapsible-section .section-title-container {
margin: 0;
}
.collapsible-section .section-title-container.has-subtitle {
display: flex;
flex-direction: column;
}
@media (min-width: 866px) {
.collapsible-section .section-title-container.has-subtitle {
flex-direction: row;
align-items: baseline;
justify-content: space-between;
}
}
.collapsible-section .section-title {
font-size: var(--font-size-large);
font-weight: var(--font-weight-heading);
color: var(--newtab-text-primary-color);
}
.collapsible-section .section-title.grey-title {
color: var(--newtab-text-primary-color);
display: inline-block;
fill: var(--newtab-text-primary-color);
vertical-align: middle;
}
.collapsible-section .section-title .section-title-contents {
vertical-align: top;
}
@media (max-width: 609px) {
.collapsible-section .section-title .section-title-contents {
display: block;
}
.collapsible-section .section-title .section-title-contents .learn-more-link-wrapper {
display: block;
text-align: center;
}
.collapsible-section .section-title .section-title-contents .learn-more-link-wrapper .learn-more-link {
margin-inline-start: 0;
}
}
.collapsible-section .section-sub-title {
font-size: inherit;
color: var(--newtab-text-secondary-color);
opacity: 0.3;
}
.collapsible-section .section-top-bar {
min-height: 19px;
margin-block-end: var(--space-medium);
position: relative;
display: flex;
justify-content: space-between;
align-items: center;
}
@media (max-width: 609px) {
.collapsible-section .section-top-bar {
flex-direction: column;
gap: var(--space-small);
align-items: flex-start;
}
}
.collapsible-section.active {
background: var(--newtab-element-hover-color);
border-radius: var(--border-radius-small);
}
.collapsible-section .learn-more-link {
font-size: var(--font-size-small);
margin-inline-start: var(--space-medium);
}
.collapsible-section .learn-more-link a {
color: var(--newtab-primary-action-background);
}
.collapsible-section .section-body-fallback {
height: 266px;
}
.collapsible-section .section-body {
margin: 0 calc(var(--space-xsmall) * -1);
padding: 0 var(--space-small);
}
.collapsible-section .section-body.animating {
overflow: hidden;
pointer-events: none;
}
.collapsible-section[data-section-id=topsites] .section-top-bar {
display: none;
}
@media (min-width: 610px) and (max-width: 865px) {
.collapsible-section[data-section-id=topstories] .card-outer:first-child {
display: none;
}
}
.collapsible-section .button-topic-selection {
display: none;
}
@media (min-width: 724px) {
.collapsible-section .button-topic-selection {
display: block;
}
}
.lightWallpaper .collapsible-section .button-topic-selection moz-button[type=default]::part(button), .darkWallpaper .collapsible-section .button-topic-selection moz-button[type=default]::part(button) {
background-color: var(--newtab-weather-background-color);
}
.lightWallpaper .collapsible-section .button-topic-selection moz-button[type=default]::part(button):hover, .darkWallpaper .collapsible-section .button-topic-selection moz-button[type=default]::part(button):hover {
background-color: var(--newtab-button-static-hover-background);
}
.lightWallpaper .collapsible-section .button-topic-selection moz-button[type=default]::part(button):hover:active, .darkWallpaper .collapsible-section .button-topic-selection moz-button[type=default]::part(button):hover:active {
background-color: var(--newtab-button-static-active-background);
}
@media (prefers-contrast) {
.lightWallpaper .collapsible-section .button-topic-selection moz-button[type=default]::part(button), .darkWallpaper .collapsible-section .button-topic-selection moz-button[type=default]::part(button) {
background-color: var(--background-color-box);
}
}
/* stylelint-disable max-nesting-depth */
.discoverystream-admin-toggle {
position: fixed;
inset-block-end: calc(var(--button-size-icon) + var(--space-xxlarge) + var(--space-small));
inset-inline-end: var(--space-xlarge);
appearance: none;
border: 0;
border-radius: var(--border-radius-small);
background-color: var(--button-background-color, rgba(21, 20, 26, 0.07));
box-shadow: 0 0.8px 1.6px 0 rgba(58, 57, 68, 0.2);
padding: calc(5 * var(--space-xxsmall));
z-index: 4;
display: flex;
align-items: center;
}
.lightWallpaper .discoverystream-admin-toggle, .darkWallpaper .discoverystream-admin-toggle {
background-color: var(--newtab-weather-background-color);
}
@media (prefers-contrast) {
.lightWallpaper .discoverystream-admin-toggle, .darkWallpaper .discoverystream-admin-toggle {
background-color: var(--background-color-box);
}
}
.discoverystream-admin-toggle:hover {
background-color: var(--newtab-button-static-hover-background);
}
.discoverystream-admin-toggle:active {
background-color: var(--newtab-button-static-active-background);
}
.discoverystream-admin-toggle:focus-visible {
border: 0;
outline: var(--focus-outline);
background-color: var(--newtab-button-static-active-background);
}
.discoverystream-admin-toggle:dir(rtl) {
transform: scaleX(-1);
}
.discoverystream-admin-toggle > div {
width: var(--icon-size-medium);
height: var(--icon-size-medium);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.discoverystream-admin-toggle > div > img {
-moz-context-properties: fill;
display: inline-block;
color: var(--icon-color);
fill: currentColor;
height: 100%;
object-fit: contain;
vertical-align: middle;
width: 100%;
}
.discoverystream-admin {
position: fixed;
inset-block-start: 0;
inset-inline-start: 0;
width: 100%;
background: var(--newtab-background-color);
height: 100%;
overflow-y: scroll;
margin: 0 auto;
color: var(--newtab-text-primary-color);
z-index: 3;
}
.discoverystream-admin .personalization-data {
padding-block-end: var(--space-xlarge);
}
.discoverystream-admin.collapsed {
display: none;
}
.discoverystream-admin main.main-panel {
margin: 0 auto;
width: 274px;
}
@media (min-width: 610px) {
.discoverystream-admin main.main-panel {
width: 530px;
}
}
@media (min-width: 866px) {
.discoverystream-admin main.main-panel {
width: 786px;
}
}
@media (min-width: 1122px) {
.discoverystream-admin main.main-panel {
width: 1042px;
}
}
.discoverystream-admin h1 {
font-size: var(--font-size-xxlarge);
}
.discoverystream-admin h2 .button,
.discoverystream-admin p .button {
font-size: inherit;
padding: var(--space-xsmall) var(--space-medium);
margin-inline-start: var(--space-xsmall);
margin-block-end: 0;
}
.discoverystream-admin .toggle-wrapper {
margin-block: var(--space-large);
width: 200px;
}
.discoverystream-admin .inferred-personalization-overrides {
margin-block: var(--space-large);
}
.discoverystream-admin .inferred-overrides-header {
display: flex;
align-items: center;
gap: var(--space-medium);
}
.discoverystream-admin .inferred-overrides-title {
margin: 0;
}
.discoverystream-admin .inferred-overrides-actions {
display: flex;
align-items: center;
gap: var(--space-medium);
}
.discoverystream-admin .inferred-overrides-actions .button {
margin: 0;
}
.discoverystream-admin .inferred-overrides-toggle-row td:first-child {
font-weight: var(--font-weight-bold);
}
.discoverystream-admin .inferred-overrides-last-refreshed {
display: flex;
align-items: center;
gap: var(--space-small);
font-size: var(--font-size-small);
margin-block: var(--space-small) var(--space-medium);
padding-inline-start: var(--space-small);
}
.discoverystream-admin .inferred-overrides-last-refreshed-label {
font-weight: var(--font-weight-bold);
}
.discoverystream-admin .inferred-vectors-row {
display: flex;
align-items: stretch;
gap: var(--space-xlarge);
margin-block-start: var(--space-xlarge);
}
.discoverystream-admin .inferred-vector-column {
flex: 1 1 0;
min-width: 0;
display: flex;
flex-direction: column;
gap: var(--space-small);
}
.discoverystream-admin .inferred-vector-panel {
border: 1px solid var(--border-color);
padding: var(--space-small);
flex: 1;
display: flex;
flex-direction: column;
}
.discoverystream-admin .inferred-vector-panel pre {
margin-block-start: 0;
flex: 1;
overflow: auto;
}
.discoverystream-admin .inferred-vector-title {
font-weight: var(--font-weight-bold);
}
.discoverystream-admin .inferred-overrides-table-header td {
font-weight: var(--font-weight-bold);
}
.discoverystream-admin .inferred-score-col {
width: 1%;
white-space: nowrap;
text-align: center;
padding-inline: 0;
}
.discoverystream-admin .inferred-overrides-toggle-row td {
vertical-align: middle;
}
.discoverystream-admin .inferred-override-controls {
display: flex;
align-items: center;
gap: var(--space-medium);
}
.discoverystream-admin .inferred-override-slider {
width: 160px;
}
.discoverystream-admin .inferred-override-value {
min-width: 2ch;
text-align: end;
}
.discoverystream-admin .details-section {
margin-block: var(--space-large);
}
.discoverystream-admin .details-section summary {
font-size: var(--font-size-large);
}
.discoverystream-admin table {
border-collapse: collapse;
width: 100%;
}
.discoverystream-admin table.minimal-table {
border-collapse: collapse;
border: 1px solid var(--border-color);
}
.discoverystream-admin table.minimal-table td {
padding: var(--space-small);
}
.discoverystream-admin table.minimal-table td:first-child {
width: 1%;
white-space: nowrap;
}
.discoverystream-admin table.minimal-table td:not(:first-child) {
font-family: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace;
}
.discoverystream-admin table.errorReporting tr {
border: 1px solid var(--newtab-background-color-secondary);
}
.discoverystream-admin table.errorReporting td {
padding: var(--space-xsmall);
}
.discoverystream-admin table.errorReporting td[rowspan] {
border: 1px solid var(--newtab-background-color-secondary);
}
.discoverystream-admin .large-data-container {
max-height: 500px;
overflow-y: scroll;
}
.discoverystream-admin .message-item:first-child td {
border-block-start: 1px solid var(--border-color);
}
.discoverystream-admin .message-item td {
vertical-align: top;
padding: var(--space-small);
border-block-end: 1px solid var(--border-color);
}
.discoverystream-admin .message-item td.min {
width: 1%;
white-space: nowrap;
}
.discoverystream-admin .message-item td.message-summary {
width: 60%;
}
.discoverystream-admin .message-item td.button-column {
width: 15%;
}
.discoverystream-admin .message-item td:first-child {
border-inline-start: 1px solid var(--border-color);
}
.discoverystream-admin .message-item td:last-child {
border-inline-end: 1px solid var(--border-color);
}
.discoverystream-admin .message-item.blocked .message-id,
.discoverystream-admin .message-item.blocked .message-summary {
opacity: 0.5;
}
.discoverystream-admin .message-item.blocked .message-id {
opacity: 0.5;
}
.discoverystream-admin .message-item .message-id {
font-family: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace;
font-size: var(--font-size-small);
}
.discoverystream-admin pre {
background: var(--newtab-background-color-secondary);
margin: 0;
padding: var(--space-small);
font-size: var(--font-size-small);
max-width: 750px;
overflow: auto;
font-family: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", "Source Code Pro", monospace;
}
.discoverystream-admin .helpLink {
padding: var(--space-medium);
display: flex;
background: rgba(0, 0, 0, 0.1);
border-radius: var(--border-radius-small);
align-items: center;
}
.discoverystream-admin .helpLink a {
text-decoration: underline;
}
.discoverystream-admin .helpLink .icon {
min-width: 18px;
min-height: 18px;
}
.discoverystream-admin .ds-component {
margin-block-end: var(--space-large);
}
.discoverystream-admin .collapsed {
display: none;
}
.discoverystream-admin .icon {
display: inline-table;
width: 18px;
height: 18px;
}
.discoverystream-admin .button:disabled, .discoverystream-admin .button:disabled:active {
opacity: 0.5;
cursor: unset;
box-shadow: none;
}
.discoverystream-admin .weather-section {
margin-block-end: var(--space-xlarge);
}
.discoverystream-admin .weather-section form {
display: flex;
}
.discoverystream-admin .weather-section form label {
margin-inline-end: var(--space-medium);
}
.more-recommendations {
display: flex;
align-items: center;
white-space: nowrap;
line-height: 1.2307692308;
}
.more-recommendations::after {
background: url("chrome://global/skin/icons/arrow-right-12.svg") no-repeat center center;
content: "";
-moz-context-properties: fill;
display: inline-block;
fill: var(--newtab-primary-action-background);
height: 16px;
margin-inline-start: var(--space-xsmall);
vertical-align: top;
width: var(--icon-size-xsmall);
}
.more-recommendations:dir(rtl)::after {
background-image: url("chrome://global/skin/icons/arrow-left-12.svg");
}
.discovery-stream.ds-layout {
--gridColumnGap: 48px;
--gridRowGap: 24px;
grid-template-columns: repeat(12, 1fr);
grid-column-gap: var(--gridColumnGap);
grid-row-gap: var(--gridRowGap);
margin: 0 auto;
}
.nova-enabled .discovery-stream.ds-layout {
display: grid;
}
.discovery-stream.ds-layout .ds-column-12 {
grid-column-start: auto;
grid-column-end: span 12;
}
.discovery-stream.ds-layout .ds-column-11 {
grid-column-start: auto;
grid-column-end: span 11;
}
.discovery-stream.ds-layout .ds-column-10 {
grid-column-start: auto;
grid-column-end: span 10;
}
.discovery-stream.ds-layout .ds-column-9 {
grid-column-start: auto;
grid-column-end: span 9;
}
.discovery-stream.ds-layout .ds-column-8 {
grid-column-start: auto;
grid-column-end: span 8;
}
.discovery-stream.ds-layout .ds-column-7 {
grid-column-start: auto;
grid-column-end: span 7;
}
.discovery-stream.ds-layout .ds-column-6 {
grid-column-start: auto;
grid-column-end: span 6;
}
.discovery-stream.ds-layout .ds-column-5 {
grid-column-start: auto;
grid-column-end: span 5;
}
.discovery-stream.ds-layout .ds-column-4 {
grid-column-start: auto;
grid-column-end: span 4;
}
.discovery-stream.ds-layout .ds-column-3 {
grid-column-start: auto;
grid-column-end: span 3;
}
.discovery-stream.ds-layout .ds-column-2 {
grid-column-start: auto;
grid-column-end: span 2;
}
.discovery-stream.ds-layout .ds-column-1 {
grid-column-start: auto;
grid-column-end: span 1;
}
.discovery-stream.ds-layout .ds-column-grid {
display: flex;
flex-direction: column;
grid-row-gap: var(--gridRowGap);
}
.discovery-stream.ds-layout .ds-column-grid > div:empty {
display: none;
}
.ds-header {
margin: var(--space-small) 0;
}
.ds-header .ds-context {
font-weight: var(--font-weight);
}
.ds-header,
.ds-layout .section-title span {
color: var(--newtab-contextual-text-primary-color);
font-size: var(--font-size-large);
font-weight: var(--font-weight-heading);
}
.lightWallpaper .ds-header,
.lightWallpaper .ds-layout .section-title span {
color-scheme: light;
}
.darkWallpaper .ds-header,
.darkWallpaper .ds-layout .section-title span {
color-scheme: dark;
}
.ds-header .icon,
.ds-layout .section-title span .icon {
fill: var(--newtab-text-secondary-color);
}
.collapsible-section.ds-layout {
margin: auto;
}
.lightWallpaper .collapsible-section.ds-layout .section-top-bar .learn-more-link {
color-scheme: light;
}
.darkWallpaper .collapsible-section.ds-layout .section-top-bar .learn-more-link {
color-scheme: dark;
}
.collapsible-section.ds-layout .section-top-bar .learn-more-link a {
color: var(--newtab-primary-action-background);
font-weight: var(--font-weight-semibold);
}
.collapsible-section.ds-layout .section-top-bar .learn-more-link a:is(:focus, :hover) {
text-decoration: none;
}
.nova-enabled .content .ds-layout:not(.discovery-stream) {
display: contents;
}
.nova-enabled .content .ds-layout:not(.discovery-stream) > div {
display: contents;
}
.nova-enabled .content .discovery-stream.ds-layout {
display: contents;
grid-column: 1/-1;
}
.nova-enabled .content .discovery-stream.ds-layout .ds-column {
display: contents;
}
.nova-enabled .content .discovery-stream.ds-layout .ds-column-grid {
display: contents;
}
.nova-enabled .content .discovery-stream.ds-layout .ds-column-grid > div {
display: contents;
}
.nova-enabled .content .ds-top-sites {
display: contents;
}
.nova-enabled .content .top-sites {
grid-column: 1/-1;
}
.nova-enabled .content .ds-section-wrapper {
display: grid;
grid-template-columns: repeat(auto-fill, calc(4 * var(--col-width) + 3 * var(--space-medium)));
gap: var(--space-medium);
justify-content: center;
grid-column: 1/-1;
}
.nova-enabled .content .ds-card-grid-container {
display: grid;
grid-template-columns: repeat(auto-fill, calc(4 * var(--col-width) + 3 * var(--space-medium)));
gap: var(--space-medium);
justify-content: center;
grid-column: 1/-1;
}
.modalOverlayOuter {
border: none;
box-shadow: var(--popup-box-shadow);
padding: 0;
border-radius: var(--border-radius-medium);
}
.modalOverlayOuter::backdrop {
background: var(--newtab-overlay-color);
}
.notification-wrapper {
position: fixed;
inset-inline-end: var(--space-medium);
inset-block-end: var(--space-medium);
z-index: 10;
}
.notification-feed-item {
position: relative;
animation: toastSlideInSlideOut 4s ease-in-out forwards;
}
.nova-enabled ~ .notification-wrapper .newtab-toast-success {
--message-bar-background-color: var(--background-color-box);
--message-bar-icon-color: var(--icon-color-success);
}
@keyframes toastSlideInSlideOut {
0%, 100% {
opacity: 0;
inset-block-start: 50%;
}
15%, 85% {
opacity: 1;
inset-block-start: 0;
}
}
/* 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/. */
.discovery-stream.ds-layout.ds-layout-widgets {
margin-inline: 0;
}
.widgets-wrapper {
margin-inline: auto;
padding-block-end: var(--space-large);
}
.classic-enabled .widgets-wrapper {
max-width: max-content;
}
.nova-enabled .widgets-wrapper {
display: contents;
}
.classic-enabled .widgets-section-container {
padding-block: var(--space-xsmall) var(--space-large);
padding-inline: var(--space-large);
background-color: var(--button-background-color);
border-radius: var(--border-radius-large);
}
.lightWallpaper .classic-enabled .widgets-section-container, .darkWallpaper .classic-enabled .widgets-section-container {
background-color: var(--newtab-weather-background-color);
}
@media (prefers-contrast) {
.lightWallpaper .classic-enabled .widgets-section-container, .darkWallpaper .classic-enabled .widgets-section-container {
background-color: var(--background-color-box);
}
}
.nova-enabled .widgets-section-container {
grid-column: 1/-1;
display: grid;
grid-template-columns: repeat(auto-fill, calc(4 * var(--col-width) + 3 * var(--space-medium)));
gap: var(--space-medium);
justify-content: center;
}
.widgets-section-container .widgets-title-container {
display: flex;
justify-content: flex-end;
align-items: center;
gap: var(--space-medium);
}
.nova-enabled .widgets-section-container .widgets-title-container {
grid-column: 1/-1;
}
.widgets-section-container .widgets-title-container .widgets-title-container-text {
display: inline-block;
margin-inline-end: auto;
position: relative;
}
.widgets-section-container .widgets-title-container .widgets-title-heading {
display: flex;
align-items: center;
gap: var(--space-medium);
}
.widgets-section-container .widgets-title-container .widgets-title-actions {
display: flex;
align-items: center;
gap: var(--space-medium);
position: relative;
}
.widgets-section-container h1 {
font-size: var(--font-size-large);
font-weight: var(--font-weight-bold);
}
.nova-enabled .widgets-section-container h1 {
font-size: var(--font-size-heading-large);
font-weight: var(--font-weight-heading);
color: var(--newtab-contextual-text-primary-color);
}
@container content-grid (inline-size >= calc(12 * 75px + 11 * 0.75rem)) {
.nova-enabled .widgets-section-container h1 {
font-size: var(--font-size-heading-xlarge);
}
}
.lightWallpaper .nova-enabled .widgets-section-container h1 {
color-scheme: light;
}
.darkWallpaper .nova-enabled .widgets-section-container h1 {
color-scheme: dark;
}
.nova-enabled .widgets-section-container #hide-all-widgets-button,
.nova-enabled .widgets-section-container #toggle-widgets-size-button {
color: var(--newtab-contextual-text-primary-color);
}
.lightWallpaper .nova-enabled .widgets-section-container #hide-all-widgets-button,
.lightWallpaper .nova-enabled .widgets-section-container #toggle-widgets-size-button {
color-scheme: light;
}
.darkWallpaper .nova-enabled .widgets-section-container #hide-all-widgets-button,
.darkWallpaper .nova-enabled .widgets-section-container #toggle-widgets-size-button {
color-scheme: dark;
}
.widgets-expand-button {
appearance: none;
align-items: center;
background-color: transparent;
border: 1px solid var(--newtab-primary-action-background);
border-radius: var(--border-radius-circle);
color: var(--newtab-primary-action-background);
cursor: pointer;
display: inline-flex;
height: var(--size-item-large);
justify-content: center;
margin: 0;
padding: 0;
width: var(--size-item-large);
}
.widgets-expand-button::before {
background-color: currentColor;
content: "";
height: var(--size-item-small);
mask: url("chrome://global/skin/icons/arrow-down.svg") center/contain no-repeat;
transition: transform 160ms ease;
width: var(--size-item-small);
}
.widgets-expand-button.is-maximized::before {
transform: rotate(180deg);
}
.widgets-expand-button:hover {
background-color: var(--newtab-element-secondary-hover-color);
}
.widgets-expand-button:active {
background-color: var(--newtab-element-secondary-active-color);
}
.widgets-expand-button:focus {
outline: none;
}
.widgets-expand-button:focus-visible {
outline: var(--focus-outline);
outline-offset: var(--focus-outline-offset);
}
@media (prefers-reduced-motion: reduce) {
.widgets-expand-button::before {
transition: none;
}
}
.widgets-header-context-menu {
position: relative;
}
.lightWallpaper .widgets-header-context-menu {
color-scheme: light;
}
.darkWallpaper .widgets-header-context-menu {
color-scheme: dark;
}
.widgets-header-context-menu .widgets-header-context-menu-button::part(button) {
background-color: transparent;
}
.widgets-header-context-menu .widgets-header-context-menu-button::part(button):hover {
background-color: var(--button-background-color-hover);
}
.widgets-header-context-menu .widgets-header-context-menu-button::part(button):active {
background-color: var(--button-background-color-active);
}
.widgets-header-context-menu panel-list {
min-width: 256px;
}
.widgets-header-context-menu panel-item::part(button) {
min-block-size: 30px;
}
@media (min-width: 1122px) {
.classic-enabled .widgets-section-container {
padding-block-end: var(--space-xlarge);
padding-inline: var(--space-xlarge);
}
}
@media (min-width: 1122px) {
.has-sections-grid .classic-enabled .widgets-section-container {
padding-block-end: var(--space-large);
padding-inline: var(--space-large);
}
}
.nova-enabled .widgets-container {
grid-column: 1/-1;
display: grid;
grid-template-columns: repeat(auto-fill, var(--col-width));
grid-auto-rows: var(--row-height);
gap: var(--space-medium);
}
.classic-enabled .widgets-container {
--widgets-card-width: var(--newtab-card-grid-layout-width);
--widgets-max-cols: 3;
--widgets-grid-gap: var(--space-large);
--widgets-small-card-height: var(--newtab-card-height-small);
}
.classic-enabled .widgets-container:has(.lists), .classic-enabled .widgets-container:has(.focus-timer), .classic-enabled .widgets-container:has(.sports) {
display: grid;
grid-template-columns: repeat(auto-fit, var(--widgets-card-width));
gap: var(--widgets-grid-gap);
}
@media (min-width: 610px) {
.classic-enabled .widgets-container:has(.lists), .classic-enabled .widgets-container:has(.focus-timer), .classic-enabled .widgets-container:has(.sports) {
max-width: calc(var(--widgets-max-cols) * var(--widgets-card-width) + (var(--widgets-max-cols) - 1) * var(--widgets-grid-gap));
justify-content: center;
}
}
@media (min-width: 1122px) {
.classic-enabled .widgets-container:has(.lists), .classic-enabled .widgets-container:has(.focus-timer), .classic-enabled .widgets-container:has(.sports) {
--widgets-grid-gap: var(--space-xlarge);
}
}
.classic-enabled .widgets-container .is-small {
height: var(--widgets-small-card-height);
}
.classic-enabled .has-sections-grid .widgets-container {
--widgets-card-width: var(--newtab-card-width-medium);
}
@media (min-width: 1122px) {
.classic-enabled .has-sections-grid .widgets-container:has(.lists), .classic-enabled .has-sections-grid .widgets-container:has(.focus-timer), .classic-enabled .has-sections-grid .widgets-container:has(.sports) {
--widgets-grid-gap: var(--space-large);
}
}
.nova-enabled .widget-draggable.is-dragging {
opacity: 0.5;
}
.widgets-feedback-link {
display: inline-block;
margin-block-start: var(--space-medium);
font-size: var(--font-size-small);
}
.nova-enabled .widgets-row-toggle {
display: none;
grid-column: 1/-1;
justify-self: center;
margin-block-start: var(--space-medium);
}
.lightWallpaper .nova-enabled .widgets-row-toggle {
color-scheme: light;
}
.darkWallpaper .nova-enabled .widgets-row-toggle {
color-scheme: dark;
}
@container content-grid (inline-size < calc(8 * 75px + 7 * 0.75rem)) {
.nova-enabled .widgets-section-container[data-overflow-1] .widgets-row-toggle {
display: block;
}
.nova-enabled .widgets-container[data-row-collapsed] .widget-wrapper[data-hidden-1] {
display: none;
}
}
@container content-grid ((inline-size >= calc(8 * 75px + 7 * 0.75rem)) and (inline-size < calc(12 * 75px + 11 * 0.75rem))) {
.nova-enabled .widgets-section-container[data-overflow-2] .widgets-row-toggle {
display: block;
}
.nova-enabled .widgets-container[data-row-collapsed] .widget-wrapper[data-hidden-2] {
display: none;
}
}
@container content-grid ((inline-size >= calc(12 * 75px + 11 * 0.75rem)) and (inline-size < calc(16 * 75px + 15 * 0.75rem))) {
.nova-enabled .widgets-section-container[data-overflow-3] .widgets-row-toggle {
display: block;
}
.nova-enabled .widgets-container[data-row-collapsed] .widget-wrapper[data-hidden-3] {
display: none;
}
}
@container content-grid (inline-size >= calc(16 * 75px + 15 * 0.75rem)) {
.nova-enabled .widgets-section-container[data-overflow-4] .widgets-row-toggle {
display: block;
}
.nova-enabled .widgets-container[data-row-collapsed] .widget-wrapper[data-hidden-4] {
display: none;
}
}
@container content-grid (inline-size >= calc(8 * 75px + 7 * 0.75rem)) {
.nova-enabled .widgets-container:has(> :nth-child(2)):not(:has(> :nth-child(3))) > .widgets-add-button {
display: flex;
}
}
@container content-grid (inline-size >= calc(12 * 75px + 11 * 0.75rem)) {
.nova-enabled .widgets-container:has(> :nth-child(3)):not(:has(> :nth-child(4))) > .widgets-add-button {
display: flex;
}
}
@container content-grid (inline-size >= calc(16 * 75px + 15 * 0.75rem)) {
.nova-enabled .widgets-container:has(> :nth-child(4)):not(:has(> :nth-child(5))) > .widgets-add-button {
display: flex;
}
}
.nova-enabled .widgets-add-button {
display: none;
align-items: center;
justify-content: center;
padding: 0;
opacity: 0;
transition: opacity 0.2s ease;
background: var(--newtab-background-card);
border: 1px dashed var(--border-color);
border-radius: var(--border-radius-large);
color: var(--icon-color-accent-primary-desaturated, light-dark(var(--color-violet-desaturated-60), var(--color-violet-desaturated-50)));
}
@media (prefers-reduced-motion: reduce) {
.nova-enabled .widgets-add-button {
transition: none;
}
}
.nova-enabled .widgets-add-button.medium-widget {
grid-row: span 2;
}
.nova-enabled .widgets-add-button.large-widget {
grid-row: span 4;
}
.nova-enabled .widgets-add-button:hover, .nova-enabled .widgets-add-button:focus-within {
opacity: 1;
background: var(--newtab-background-color-secondary);
outline: 1px solid var(--border-color-deemphasized);
box-shadow: var(--card-box-shadow-hover);
}
.nova-enabled .widgets-add-button:focus-visible {
outline: var(--focus-outline);
outline-offset: var(--focus-outline-offset);
}
.nova-enabled .widgets-add-button .widgets-add-button-icon {
display: inline-block;
width: var(--icon-size-large);
height: var(--icon-size-large);
background-color: currentColor;
mask: url("chrome://global/skin/icons/plus.svg") center/contain no-repeat;
}
.feature-highlight .feature-highlight-modal.widget-highlight-wrapper {
width: auto;
max-width: min-content;
border-radius: var(--border-radius-medium);
}
.feature-highlight .feature-highlight-modal.widget-highlight-wrapper.inset-block-end {
margin-block-start: var(--space-large);
}
.feature-highlight .feature-highlight-modal.widget-highlight-wrapper .content-wrapper {
margin: 0;
padding: var(--space-medium);
}
.feature-highlight .feature-highlight-modal.widget-highlight-wrapper .widget-highlight img {
border-radius: var(--border-radius-medium);
margin-block-end: var(--space-small);
}
.feature-highlight .feature-highlight-modal.widget-highlight-wrapper .widget-highlight h3 {
margin-block: 0 var(--space-xsmall);
font-size: var(--font-size-root);
}
.feature-highlight .feature-highlight-modal.widget-highlight-wrapper .widget-highlight p {
margin-block: 0;
font-size: var(--font-size-root);
}
.feature-highlight .feature-highlight-modal.widget-highlight-wrapper .message-icon {
display: none;
}
.feature-highlight .feature-highlight-modal.widget-highlight-wrapper moz-button {
position: absolute;
inset-inline-end: var(--space-medium);
inset-block-start: var(--space-medium);
--button-icon-fill: var(--color-gray-0);
}
.feature-highlight .feature-highlight-modal.widget-highlight-wrapper.no-image {
min-width: 370px;
padding-block-start: var(--space-small);
}
.feature-highlight .feature-highlight-modal.widget-highlight-wrapper.no-image moz-button {
--button-icon-fill: var(--icon-color);
}
/* 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/. */
.nova-enabled .widget-wrapper.small-widget {
grid-column: span 2;
grid-row: span 2;
}
.nova-enabled .widget-wrapper.medium-widget {
grid-row: span 2;
}
.nova-enabled .widget-wrapper.large-widget {
grid-row: span 4;
}
.nova-enabled .widget-wrapper:has(> .large-widget) {
grid-column: span 4;
grid-row: span 4;
}
.widget-error-fallback {
block-size: 100%;
padding: var(--space-large);
text-align: center;
}
/* 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/. */
@keyframes widget-celebration-confetti-fall {
0% {
opacity: 0;
translate: 0 0;
rotate: 0deg;
}
12% {
opacity: 1;
}
85% {
opacity: 1;
}
100% {
opacity: 0;
translate: var(--confetti-drift) var(--confetti-fall, 360px);
rotate: var(--confetti-rotate);
}
}
@keyframes widget-celebration-lifecycle {
from {
opacity: 1;
}
to {
opacity: 1;
}
}
@keyframes widget-celebration-border-draw {
from {
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
opacity: 0.4;
stroke-dashoffset: 100;
}
to {
opacity: 1;
stroke-dashoffset: 0;
}
}
@keyframes widget-celebration-border-fade {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes widget-celebration-border-orbit-in {
from {
opacity: 0;
}
to {
opacity: var(--opacity-deemphasized-strong);
}
}
@keyframes widget-celebration-border-orbit-loop {
from {
stroke-dashoffset: 100;
}
to {
stroke-dashoffset: 0;
}
}
@keyframes widget-celebration-border-orbit-out {
from {
opacity: var(--opacity-deemphasized-strong);
}
to {
opacity: 0;
}
}
@keyframes widget-celebration-copy-in {
from {
opacity: 0;
transform: translateY(8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes widget-celebration-copy-out {
from {
opacity: 1;
transform: translateY(0);
}
to {
opacity: 0;
transform: translateY(-4px);
}
}
@keyframes widget-celebration-copy-panel-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes widget-celebration-copy-panel-out {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes widget-celebration-illustration-in {
from {
opacity: 0;
transform: translateY(12px) scale(0.96);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
}
@keyframes widget-celebration-illustration-out {
from {
opacity: 1;
transform: translateY(0) scale(1);
}
to {
opacity: 0;
transform: translateY(8px) scale(0.98);
}
}
@keyframes widget-celebration-tint-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes widget-celebration-tint-out {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
/* 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/. */
.lists {
background: var(--newtab-background-card);
transition: opacity 0.2s ease;
--lists-surface-color: light-dark(
var(--color-white),
var(--newtab-background-card)
);
--lists-text-color: light-dark(
color-mix(in srgb, var(--color-violet-desaturated-90) 70%, transparent),
color-mix(in srgb, var(--color-violet-desaturated-0) 70%, transparent)
);
--lists-checkbox-border-color: light-dark(
var(--text-color),
var(--newtab-text-primary-color)
);
--lists-button-background: light-dark(var(--color-violet-50), var(--color-violet-30));
--lists-button-background-hover: var(--color-accent-primary-hover);
--lists-button-background-active: var(--color-accent-primary-active);
--lists-button-text-color: var(--button-text-color-primary);
--widget-celebration-accent-color: var(--color-accent-primary);
--widget-celebration-copy-color: var(--lists-text-color);
--widget-celebration-surface-color: var(--lists-surface-color);
--widget-celebration-headline-gradient-angle: 90deg;
--widget-celebration-headline-gradient-start: var(--color-orange-20);
--widget-celebration-headline-gradient-mid-start: var(--color-orange-30);
--widget-celebration-headline-gradient-mid-end: var(--color-pink-30);
--widget-celebration-headline-gradient-end: var(--color-pink-40);
--widget-celebration-tint-color: color-mix(
in srgb,
var(--lists-surface-color) 92%,
transparent
);
--widget-celebration-glow-color: color-mix(
in srgb,
var(--widget-celebration-accent-color) 35%,
transparent
);
--widget-celebration-orbit-color: color-mix(
in srgb,
var(--color-violet-40) 70%,
transparent
);
--widget-celebration-border-draw-duration: 1900ms;
--widget-celebration-orbit-duration: 1900ms;
--widget-celebration-track-color: color-mix(
in srgb,
var(--widget-celebration-accent-color) 45%,
transparent
);
--widget-celebration-hold-duration: 3400ms;
--widget-celebration-exit-duration: 1200ms;
--widget-celebration-enter-ease: cubic-bezier(0.2, 0.9, 0.2, 1);
--widget-celebration-headline-delay: 80ms;
--widget-celebration-panel-delay: var(--widget-celebration-headline-delay);
--widget-celebration-illustration-delay: 180ms;
--widget-celebration-subhead-delay: 280ms;
border-radius: var(--border-radius-large);
padding-block-start: var(--space-medium);
box-shadow: var(--card-box-shadow, var(--box-shadow-card));
position: relative;
display: flex;
flex-direction: column;
}
.lists:hover {
background: var(--newtab-background-color-secondary);
}
.nova-enabled .lists {
--widget-size-transition-duration: 180ms;
--widget-size-transition-easing: ease;
background: var(--newtab-background-card);
transition: opacity 0.2s ease;
padding: var(--space-medium);
border-radius: var(--border-radius-large);
box-shadow: var(--box-shadow-level-2);
color: var(--text-color);
display: flex;
flex-direction: column;
position: relative;
transition: height var(--widget-size-transition-duration) var(--widget-size-transition-easing);
}
.nova-enabled .lists:hover {
background: var(--newtab-background-color-secondary);
}
.nova-enabled .lists.small-widget, .nova-enabled .lists.medium-widget {
height: var(--newtab-card-height-small);
}
.nova-enabled .lists.large-widget {
height: var(--newtab-card-height);
}
.nova-enabled .lists:hover, .nova-enabled .lists:focus-within {
outline: 1px solid var(--border-color-deemphasized);
box-shadow: var(--card-box-shadow-hover);
}
@media (prefers-reduced-motion: reduce) {
.nova-enabled .lists {
transition: none;
}
}
.classic-enabled .lists {
grid-column: span 1;
width: var(--newtab-card-grid-layout-width);
height: var(--newtab-card-height);
padding: var(--space-medium);
box-shadow: var(--card-box-shadow);
}
.has-sections-grid .classic-enabled .lists {
width: var(--newtab-card-width-medium);
}
.lightWallpaper .classic-enabled .lists .empty-list {
color-scheme: light;
}
.darkWallpaper .classic-enabled .lists .empty-list {
color-scheme: dark;
}
@media (forced-colors: active) {
.lists {
--lists-surface-color: Canvas;
--lists-text-color: CanvasText;
--lists-checkbox-border-color: ButtonText;
--lists-button-background: ButtonFace;
--lists-button-background-hover: SelectedItem;
--lists-button-background-active: SelectedItem;
--lists-button-text-color: ButtonText;
}
.lists .lists-celebration-headline {
background: none;
-webkit-text-fill-color: CanvasText;
color: CanvasText;
}
}
.lists .lists-celebration {
animation: widget-celebration-lifecycle calc(var(--widget-celebration-hold-duration) + var(--widget-celebration-exit-duration)) linear forwards;
position: absolute;
inset: 0;
width: 100%;
height: 100%;
border-radius: inherit;
overflow: hidden;
pointer-events: none;
z-index: 3;
}
.lists .lists-celebration::before {
content: "";
position: absolute;
inset: 0;
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
background: var(--widget-celebration-tint-color);
opacity: 0;
animation: widget-celebration-tint-in 260ms var(--widget-celebration-enter-ease) forwards, widget-celebration-tint-out var(--widget-celebration-exit-duration) ease forwards;
animation-delay: 0ms, var(--widget-celebration-hold-duration);
}
.lists .lists-celebration-effects {
inset: 0;
position: absolute;
}
.lists .lists-celebration-effects svg {
display: block;
filter: drop-shadow(0 0 10px var(--widget-celebration-glow-color));
height: 100%;
width: 100%;
}
.lists .lists-celebration-stroke-track,
.lists .lists-celebration-stroke,
.lists .lists-celebration-stroke-orbit {
fill: none;
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 3;
}
.lists .lists-celebration-stroke-track {
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
opacity: 0.22;
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
stroke: var(--widget-celebration-track-color);
}
.lists .lists-celebration-stroke {
stroke-dasharray: 100;
stroke-dashoffset: 100;
animation-name: widget-celebration-border-draw, widget-celebration-border-fade;
animation-duration: var(--widget-celebration-border-draw-duration), var(--widget-celebration-exit-duration);
animation-timing-function: var(--widget-celebration-enter-ease), ease;
animation-fill-mode: forwards, forwards;
animation-delay: 0ms, var(--widget-celebration-hold-duration);
}
.lists .lists-celebration-stroke-orbit {
opacity: 0;
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
stroke: var(--widget-celebration-orbit-color);
stroke-dasharray: 14 86;
stroke-dashoffset: 100;
stroke-width: 3;
animation: widget-celebration-border-orbit-in 240ms var(--widget-celebration-enter-ease) 160ms forwards, widget-celebration-border-orbit-loop var(--widget-celebration-orbit-duration) linear 260ms infinite, widget-celebration-border-orbit-out var(--widget-celebration-exit-duration) ease var(--widget-celebration-hold-duration) forwards;
}
.lists .lists-celebration-copy {
align-items: center;
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
color: var(--widget-celebration-copy-color);
display: flex;
flex-direction: column;
inset-block-start: 52%;
inset-inline: var(--space-large);
padding-block: var(--space-small);
padding-inline: var(--space-medium);
position: absolute;
text-align: center;
transform: translateY(-50%);
z-index: 1;
}
.lists .lists-celebration-copy::before {
display: none;
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
background: color-mix(in srgb, var(--widget-celebration-surface-color) 88%, transparent);
border-radius: var(--border-radius-large);
content: "";
inset: 0;
opacity: 0;
position: absolute;
animation: widget-celebration-copy-panel-in 320ms var(--widget-celebration-enter-ease) forwards, widget-celebration-copy-panel-out var(--widget-celebration-exit-duration) ease forwards;
animation-delay: var(--widget-celebration-panel-delay), var(--widget-celebration-hold-duration);
}
.lists .lists-celebration-headline,
.lists .lists-celebration-subhead {
opacity: 0;
position: relative;
transform: translateY(8px);
z-index: 1;
}
.lists .lists-celebration-headline {
display: inline-block;
background-image: linear-gradient(var(--widget-celebration-headline-gradient-angle), var(--widget-celebration-headline-gradient-start), var(--widget-celebration-headline-gradient-mid-start) 28%, var(--widget-celebration-headline-gradient-mid-end) 64%, var(--widget-celebration-headline-gradient-end));
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
color: transparent;
font-size: var(--font-size-xlarge);
font-weight: var(--font-weight-bold);
line-height: 1.2;
animation: widget-celebration-copy-in 320ms var(--widget-celebration-enter-ease) forwards, widget-celebration-copy-out var(--widget-celebration-exit-duration) ease forwards;
animation-delay: var(--widget-celebration-headline-delay), var(--widget-celebration-hold-duration);
}
.lists .lists-celebration-subhead {
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
color: var(--widget-celebration-copy-color);
font-size: var(--font-size-large);
font-weight: var(--font-weight-semibold);
line-height: 1.2;
margin-block-start: var(--space-xxsmall);
animation: widget-celebration-copy-in 320ms var(--widget-celebration-enter-ease) forwards, widget-celebration-copy-out var(--widget-celebration-exit-duration) ease forwards;
animation-delay: var(--widget-celebration-subhead-delay), var(--widget-celebration-hold-duration);
}
.lists .lists-celebration-illustration {
/* stylelint-disable stylelint-plugin-mozilla/use-design-tokens */
block-size: 132px;
inset-block-end: var(--space-xxsmall);
inline-size: auto;
max-inline-size: 209px;
/* stylelint-enable stylelint-plugin-mozilla/use-design-tokens */
inset-inline-end: var(--space-small);
opacity: 0;
position: absolute;
transform: translateY(12px) scale(0.96);
transform-origin: bottom right;
animation: widget-celebration-illustration-in 360ms var(--widget-celebration-enter-ease) forwards, widget-celebration-illustration-out var(--widget-celebration-exit-duration) ease forwards;
animation-delay: var(--widget-celebration-illustration-delay), var(--widget-celebration-hold-duration);
}
.lists .lists-celebration-confetti {
position: absolute;
inset: 0;
overflow: hidden;
border-radius: inherit;
pointer-events: none;
}
.lists .lists-celebration-confetti-defs {
position: absolute;
inline-size: 0;
block-size: 0;
}
.lists .lists-celebration-confetti-piece {
position: absolute;
inset-block-start: -12%;
/* stylelint-disable stylelint-plugin-mozilla/use-design-tokens */
inset-inline-start: var(--confetti-x);
inline-size: var(--confetti-w);
block-size: var(--confetti-h);
/* stylelint-enable stylelint-plugin-mozilla/use-design-tokens */
opacity: 0;
animation-name: widget-celebration-confetti-fall;
animation-duration: var(--confetti-duration);
animation-timing-function: cubic-bezier(0.3, 0.45, 0.55, 1);
animation-delay: var(--confetti-delay);
animation-fill-mode: forwards;
}
.lists i.lists-celebration-confetti-piece {
/* stylelint-disable stylelint-plugin-mozilla/use-design-tokens */
background-color: var(--confetti-color);
border-radius: var(--confetti-radius);
/* stylelint-enable stylelint-plugin-mozilla/use-design-tokens */
clip-path: var(--confetti-clip);
}
.lists svg.lists-celebration-confetti-piece {
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
color: var(--confetti-color);
}
.lists .lists-header {
display: flex;
align-items: center;
gap: var(--space-xsmall);
margin-block-end: var(--space-xsmall);
min-height: 24px;
position: relative;
z-index: 1;
}
.lists .lists-header > :first-child {
flex: 1;
min-width: 0;
}
.lists .lists-header > .lists-switcher {
flex: 0 1 auto;
max-inline-size: min(100%, 320px);
}
.lists .lists-header .lists-switcher {
align-items: center;
display: inline-flex;
gap: var(--space-xxsmall);
min-width: 0;
}
.lists .lists-header .lists-switcher .lists-title {
flex: 0 1 auto;
}
.lists .lists-header moz-button.lists-switcher-button {
flex: 0 0 auto;
margin: 0;
min-height: 24px;
min-width: 24px;
}
.lists .lists-header #lists-switcher-panel panel-item::part(button) {
padding-inline-start: var(--space-xxlarge);
}
.lists .lists-header .lists-title {
color: var(--lists-text-color);
display: block;
font-size: var(--font-size-small);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.lists .lists-header moz-button.lists-panel-button {
margin-inline-start: auto;
visibility: hidden;
}
.lists:hover .lists-header moz-button.lists-panel-button, .lists:focus-within .lists-header moz-button.lists-panel-button {
visibility: visible;
}
.lists .edit-list-wrapper {
position: relative;
width: 100%;
}
.lists .edit-list-wrapper .edit-list {
padding-inline-end: var(--space-xxlarge);
}
.lists .edit-list-wrapper moz-button.edit-list-clear {
position: absolute;
inset-block-start: 50%;
transform: translateY(-50%);
inset-inline-end: var(--space-xxsmall);
--focus-outline-offset: var(--focus-outline-inset);
}
.lists .edit-list {
background: none;
border: none;
box-sizing: border-box;
color: var(--lists-text-color);
font-size: var(--font-size-small);
outline: var(--focus-outline);
padding-inline: var(--space-small);
width: 100%;
min-height: 24px;
}
.lists .lists-add-action {
display: flex;
flex-direction: column;
gap: var(--space-xsmall);
margin-block-end: var(--space-xsmall);
}
.lists .add-task-container {
display: none;
position: relative;
}
.lists .add-task-container .icon.icon-add {
inset-block-start: 50%;
inset-inline-start: var(--space-small);
position: absolute;
transform: translateY(-50%);
}
.lists .add-task-container .icon.icon-add.icon-disabled {
fill: var(--text-color-disabled);
}
.lists .add-task-container .add-task-input {
background: var(--button-background-color);
border: none;
border-radius: var(--border-radius-medium);
outline: none;
padding-block: var(--space-small);
padding-inline-end: var(--space-large);
padding-inline-start: calc(var(--space-large) * 2 + var(--space-xsmall));
width: 100%;
}
.lists .add-task-container .add-task-input:focus {
outline: var(--focus-outline);
}
.lists .add-task-container .add-task-input:focus::placeholder {
color: var(--newtab-text-primary-color);
}
.lists .add-task-container .add-task-input:disabled {
background-color: var(--button-background-color-ghost);
color: var(--text-color-disabled);
outline: var(--border-width) solid var(--border-color-interactive-disabled);
}
.lists.is-adding-task .lists-add-action .add-task-container {
display: block;
}
.lists.is-adding-task .lists-add-action .lists-add-button {
display: none;
}
.lists .lists-add-button {
appearance: none;
align-items: center;
align-self: flex-start;
background: var(--lists-button-background);
border: var(--border-width) solid transparent;
border-radius: var(--border-radius-large);
color: var(--lists-button-text-color);
display: inline-flex;
font-family: inherit;
font-size: var(--font-size-root);
font-weight: var(--font-weight-semibold);
gap: var(--space-small);
min-height: 32px;
padding-block: var(--space-xsmall);
padding-inline: var(--space-large);
}
.lists .lists-add-button .icon.icon-add {
color: inherit;
margin: 0;
-moz-context-properties: fill;
fill: currentColor;
position: static;
}
.lists .lists-add-button:hover:not(:disabled) {
background: var(--lists-button-background-hover);
color: var(--lists-button-text-color);
}
.lists .lists-add-button:active:not(:disabled) {
background: var(--lists-button-background-active);
color: var(--lists-button-text-color);
}
.lists .lists-add-button:focus-visible {
outline: var(--focus-outline);
outline-offset: var(--focus-outline-offset);
}
.lists .lists-add-button:disabled {
background: var(--lists-button-background);
color: var(--lists-button-text-color);
opacity: var(--button-opacity-disabled);
}
.lists .lists-add-button.icon-only {
align-items: center;
border-radius: var(--border-radius-circle);
justify-content: center;
min-height: 24px;
min-width: 24px;
padding: var(--space-small);
}
.lists .lists-add-button.icon-only .sr-only {
border: 0;
clip: rect(0, 0, 0, 0);
height: var(--size-item-xsmall);
margin: calc(-1 * var(--border-width));
overflow: hidden;
padding: 0;
position: absolute;
white-space: nowrap;
width: var(--size-item-xsmall);
}
.lists .lists-completed-button {
appearance: none;
align-items: center;
align-self: flex-start;
background: var(--lists-button-background);
border: var(--border-width) solid transparent;
border-radius: var(--border-radius-circle);
color: var(--lists-button-text-color);
display: inline-flex;
font-family: inherit;
font-size: var(--font-size-small);
font-weight: var(--font-weight-semibold);
justify-content: center;
line-height: 1;
min-height: 24px;
min-width: 24px;
padding: var(--space-small);
}
.lists .lists-completed-button:hover:not(:disabled) {
background: var(--lists-button-background-hover);
}
.lists .lists-completed-button:active:not(:disabled), .lists .lists-completed-button.is-active {
background: var(--button-background-color-active);
color: var(--lists-text-color);
}
.lists .lists-completed-button:focus-visible {
outline: var(--focus-outline);
outline-offset: var(--focus-outline-offset);
}
.lists .lists-completed-button .lists-completed-button-label {
line-height: 1;
}
.lists .lists-completed-button .sr-only {
border: 0;
clip: rect(0, 0, 0, 0);
height: var(--size-item-xsmall);
margin: calc(-1 * var(--border-width));
overflow: hidden;
padding: 0;
position: absolute;
white-space: nowrap;
width: var(--size-item-xsmall);
}
.lists .task-list-wrapper {
display: flex;
flex: 1;
height: 100%;
min-height: 0;
}
.lists moz-reorderable-list {
display: block;
flex: 1;
min-height: 0;
}
.lists fieldset {
display: flex;
flex-direction: column;
gap: var(--space-xxsmall);
height: 100%;
margin: 0;
padding: 0;
padding-block-start: var(--space-small);
padding-inline-end: var(--space-small);
border: none;
overflow-y: auto;
scrollbar-width: none;
}
.lists fieldset:hover {
scrollbar-width: thin;
}
.lists fieldset:focus {
outline: var(--focus-outline);
}
.lists .task-item {
align-items: center;
background: transparent;
border-radius: var(--border-radius-medium);
display: flex;
justify-content: space-between;
min-height: 32px;
transition: opacity 300ms ease;
}
.lists .task-item.task-type-tasks:last-of-type {
margin-block-end: 0;
}
@media (prefers-reduced-motion: no-preference) {
.lists .task-item.exiting {
opacity: 0;
}
}
.lists .task-item .checkbox-wrapper {
display: flex;
align-items: flex-start;
flex-grow: 2;
gap: var(--space-small);
padding-block: var(--space-small);
padding-inline: var(--space-small);
}
.lists .task-item .checkbox-wrapper span {
-webkit-line-clamp: 3;
color: var(--lists-text-color);
display: -webkit-box;
font-size: var(--font-size-small);
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
word-break: break-word;
white-space: normal;
width: 100%;
}
.lists .task-item input[type=checkbox] {
-moz-appearance: none;
appearance: none;
background-color: transparent;
background-position: center;
background-repeat: no-repeat;
background-size: var(--size-item-xsmall) var(--size-item-xsmall);
border: var(--border-width) solid var(--lists-checkbox-border-color);
border-radius: var(--border-radius-small);
box-sizing: border-box;
display: block;
flex: none;
height: 16px;
margin: 0;
opacity: 1;
padding: 0;
width: 16px;
}
.lists .task-item input[type=checkbox]:checked {
-moz-context-properties: fill;
background-color: var(--lists-button-background);
background-image: url("chrome://global/skin/icons/check.svg");
border-color: var(--lists-button-background);
fill: var(--lists-button-text-color);
}
.lists .task-item input[type=checkbox]:focus-visible {
outline: var(--focus-outline);
outline-offset: var(--focus-outline-inset);
}
.lists .task-item .task-label {
color: var(--lists-text-color);
display: -webkit-box;
font-size: var(--font-size-small);
-webkit-box-orient: vertical;
overflow: hidden;
position: relative;
text-decoration: none;
word-break: break-word;
}
.lists .task-item .task-label:is(a) {
color: var(--link-color);
text-decoration: underline;
}
.lists .task-item input:checked ~ .task-label {
color: var(--lists-text-color);
text-decoration: line-through;
text-decoration-thickness: 2px;
}
.lists .task-item moz-button {
margin-inline-end: var(--space-xsmall);
visibility: hidden;
}
.lists .task-item moz-button:has(+ panel-list[open]) {
visibility: visible;
}
.lists .task-item:hover, .lists .task-item:focus-visible, .lists .task-item:focus-within {
background: var(--button-background-color);
}
.lists .task-item:hover moz-button, .lists .task-item:focus-visible moz-button, .lists .task-item:focus-within moz-button {
visibility: visible;
}
.lists .task-item panel-list[open] ~ moz-button {
visibility: visible;
}
.lists .task-item .edit-task {
margin-inline-start: var(--space-small);
max-width: 180px;
border: none;
border-radius: 0;
user-select: text;
}
.lists .task-item .edit-task:focus {
outline: var(--focus-outline);
}
.lists .empty-list {
display: flex;
flex: 1;
justify-content: center;
align-items: center;
height: 100%;
padding-block-end: var(--space-medium);
}
.lightWallpaper .lists .empty-list {
color-scheme: light;
}
.darkWallpaper .lists .empty-list {
color-scheme: dark;
}
.lists .empty-list .empty-list-illustration {
height: auto;
width: 75px;
-moz-context-properties: fill;
fill: light-dark(#DADBDF, #3B3B43);
}
.lists .completed-task-wrapper {
display: flex;
flex-direction: column;
gap: var(--space-small);
margin-block-start: var(--space-small);
}
.lists .completed-task-wrapper summary {
list-style: none;
}
.lists .completed-task-wrapper summary:focus {
outline: var(--focus-outline);
}
.lists .completed-task-wrapper summary .completed-title {
color: var(--lists-text-color);
position: relative;
}
.lists .completed-task-wrapper summary .completed-title::after {
content: "";
-moz-context-properties: fill;
fill: var(--button-icon-fill);
background-image: url("chrome://global/skin/icons/arrow-right.svg");
height: var(--icon-size-small);
width: var(--icon-size-small);
position: absolute;
inset-inline-end: calc(-1 * var(--space-xlarge));
inset-block-start: 50%;
transform: translateY(-50%);
transition: transform 160ms ease;
}
.lists .completed-task-wrapper summary .completed-title:dir(rtl)::after {
background-image: url("chrome://global/skin/icons/arrow-left.svg");
}
.lists .completed-task-wrapper[open] .completed-title::after {
background-image: url("chrome://global/skin/icons/arrow-down.svg");
transform: translateY(-50%) rotate(90deg);
}
.lists .completed-task-wrapper[open] .completed-title:dir(rtl)::after {
transform: translateY(-50%) rotate(-90deg);
}
.nova-enabled .lists.compact-widget {
height: var(--newtab-card-height-small);
}
.lists.compact-widget .lists-celebration-copy {
inset-block-start: 46%;
inset-inline: var(--space-medium);
}
.lists.compact-widget .lists-celebration-headline {
font-size: var(--font-size-large);
}
.lists.compact-widget .lists-celebration-subhead {
font-size: var(--font-size-small);
}
.lists.compact-widget .lists-celebration-illustration {
block-size: 80px;
inline-size: auto;
max-inline-size: 127px;
inset-inline-end: var(--space-large);
}
.lists.compact-widget .lists-header {
align-items: center;
gap: var(--space-small);
}
.lists.compact-widget .lists-header > :first-child {
flex: 0 1 auto;
}
.lists.compact-widget .lists-add-button.icon-only,
.lists.compact-widget .lists-completed-button {
block-size: 32px;
inline-size: 32px;
min-height: 32px;
min-width: 32px;
padding: 0;
}
.lists.compact-widget .lists-add-action {
margin-block-end: var(--space-xxsmall);
}
.lists.compact-widget fieldset {
padding-block-start: var(--space-medium);
}
.lists.compact-widget.has-visible-tasks:not(.is-adding-task) fieldset {
-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 calc(100% - 32px), transparent 100%);
mask-image: linear-gradient(180deg, #000 0%, #000 calc(100% - 32px), transparent 100%);
}
@media (forced-colors: active) {
.lists.compact-widget.has-visible-tasks:not(.is-adding-task) fieldset {
-webkit-mask-image: none;
mask-image: none;
}
}
.lists.compact-widget .task-item {
min-height: 24px;
}
.lists.compact-widget .task-item .checkbox-wrapper {
padding-block: var(--space-small);
padding-inline: 0;
}
.lists.compact-widget .task-item .checkbox-wrapper span,
.lists.compact-widget .task-label {
-webkit-line-clamp: 2;
}
.lists.compact-widget .empty-list {
align-items: flex-end;
justify-content: flex-end;
padding-block-end: var(--space-xsmall);
}
.lists.compact-widget .empty-list-illustration {
width: 48px;
}
/* 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/. */
.focus-timer {
background: var(--newtab-background-card);
transition: opacity 0.2s ease;
border-radius: var(--border-radius-large);
padding-block: var(--space-medium);
display: flex;
flex-direction: column;
align-items: center;
height: 100%;
}
.focus-timer:hover {
background: var(--newtab-background-color-secondary);
}
.nova-enabled .focus-timer {
--widget-size-transition-duration: 180ms;
--widget-size-transition-easing: ease;
background: var(--newtab-background-card);
transition: opacity 0.2s ease;
padding: var(--space-medium);
border-radius: var(--border-radius-large);
box-shadow: var(--box-shadow-level-2);
color: var(--text-color);
display: flex;
flex-direction: column;
position: relative;
transition: height var(--widget-size-transition-duration) var(--widget-size-transition-easing);
}
.nova-enabled .focus-timer:hover {
background: var(--newtab-background-color-secondary);
}
.nova-enabled .focus-timer.small-widget, .nova-enabled .focus-timer.medium-widget {
height: var(--newtab-card-height-small);
}
.nova-enabled .focus-timer.large-widget {
height: var(--newtab-card-height);
}
.nova-enabled .focus-timer:hover, .nova-enabled .focus-timer:focus-within {
outline: 1px solid var(--border-color-deemphasized);
box-shadow: var(--card-box-shadow-hover);
}
@media (prefers-reduced-motion: reduce) {
.nova-enabled .focus-timer {
transition: none;
}
}
.classic-enabled .focus-timer {
grid-column: span 1;
width: var(--newtab-card-grid-layout-width);
height: var(--newtab-card-height);
box-shadow: var(--card-box-shadow);
}
.has-sections-grid .classic-enabled .focus-timer {
width: var(--newtab-card-width-medium);
}
.nova-enabled .focus-timer {
--timer-focus-color: var(--color-orange-30, #FF8D5B);
--timer-break-color: var(--color-violet-50, #764EDD);
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
--timer-celebration-leading: #B89CFF;
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
--timer-celebration-trailing: #FF9565;
--timer-ring-idle-color: light-dark(var(--color-gray-20), var(--color-gray-30));
--widget-celebration-accent-color: var(--timer-celebration-leading);
--widget-celebration-copy-color: var(--text-color-deemphasized);
--widget-celebration-surface-color: var(--newtab-background-card);
--widget-celebration-headline-gradient-angle: 96deg;
--widget-celebration-headline-gradient-start: var(--timer-celebration-leading);
--widget-celebration-headline-gradient-mid-start: var(--timer-celebration-leading);
--widget-celebration-headline-gradient-mid-end: var(--timer-celebration-trailing);
--widget-celebration-headline-gradient-end: var(--timer-celebration-trailing);
--widget-celebration-tint-color: transparent;
--widget-celebration-glow-color: color-mix(
in srgb,
var(--widget-celebration-accent-color) 35%,
transparent
);
--widget-celebration-orbit-color: color-mix(
in srgb,
var(--timer-celebration-trailing) 70%,
transparent
);
--widget-celebration-border-draw-duration: 800ms;
--widget-celebration-orbit-duration: 1900ms;
--widget-celebration-track-color: color-mix(
in srgb,
var(--widget-celebration-accent-color) 45%,
transparent
);
--widget-celebration-hold-duration: 3400ms;
--widget-celebration-exit-duration: 1200ms;
--widget-celebration-enter-ease: cubic-bezier(0.2, 0.9, 0.2, 1);
--widget-celebration-headline-delay: 1ms;
--widget-celebration-panel-delay: var(--widget-celebration-headline-delay);
--widget-celebration-illustration-delay: 1ms;
--widget-celebration-subhead-delay: 1ms;
align-items: center;
background: var(--newtab-background-card);
border-radius: var(--border-radius-large);
gap: var(--space-medium);
justify-content: center;
padding: var(--space-medium);
position: relative;
}
.nova-enabled .focus-timer .focus-timer-celebration {
animation: widget-celebration-lifecycle calc(var(--widget-celebration-hold-duration) + var(--widget-celebration-exit-duration)) linear forwards;
position: absolute;
inset: 0;
width: 100%;
height: 100%;
border-radius: inherit;
overflow: hidden;
pointer-events: none;
z-index: 3;
}
.nova-enabled .focus-timer .focus-timer-celebration::before {
content: "";
position: absolute;
inset: 0;
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
background: var(--widget-celebration-tint-color);
opacity: 0;
animation: widget-celebration-tint-in 260ms var(--widget-celebration-enter-ease) forwards, widget-celebration-tint-out var(--widget-celebration-exit-duration) ease forwards;
animation-delay: 0ms, var(--widget-celebration-hold-duration);
}
.nova-enabled .focus-timer .focus-timer-celebration-effects {
inset: 0;
position: absolute;
}
.nova-enabled .focus-timer .focus-timer-celebration-effects svg {
display: block;
filter: drop-shadow(0 0 10px var(--widget-celebration-glow-color));
height: 100%;
width: 100%;
}
.nova-enabled .focus-timer .focus-timer-celebration-stroke-track,
.nova-enabled .focus-timer .focus-timer-celebration-stroke,
.nova-enabled .focus-timer .focus-timer-celebration-stroke-orbit {
fill: none;
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 3;
}
.nova-enabled .focus-timer .focus-timer-celebration-stroke-track {
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
opacity: 0.22;
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
stroke: var(--widget-celebration-track-color);
}
.nova-enabled .focus-timer .focus-timer-celebration-stroke {
stroke-dasharray: 100;
stroke-dashoffset: 100;
animation-name: widget-celebration-border-draw, widget-celebration-border-fade;
animation-duration: var(--widget-celebration-border-draw-duration), var(--widget-celebration-exit-duration);
animation-timing-function: var(--widget-celebration-enter-ease), ease;
animation-fill-mode: forwards, forwards;
animation-delay: 0ms, var(--widget-celebration-hold-duration);
}
.nova-enabled .focus-timer .focus-timer-celebration-stroke-orbit {
opacity: 0;
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
stroke: var(--widget-celebration-orbit-color);
stroke-dasharray: 14 86;
stroke-dashoffset: 100;
stroke-width: 3;
animation: widget-celebration-border-orbit-in 240ms var(--widget-celebration-enter-ease) 160ms forwards, widget-celebration-border-orbit-loop var(--widget-celebration-orbit-duration) linear 260ms infinite, widget-celebration-border-orbit-out var(--widget-celebration-exit-duration) ease var(--widget-celebration-hold-duration) forwards;
}
.nova-enabled .focus-timer .focus-timer-celebration-copy {
align-items: center;
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
color: var(--widget-celebration-copy-color);
display: flex;
flex-direction: column;
inset-block-start: 52%;
inset-inline: var(--space-large);
padding-block: var(--space-small);
padding-inline: var(--space-medium);
position: absolute;
text-align: center;
transform: translateY(-50%);
z-index: 1;
}
.nova-enabled .focus-timer .focus-timer-celebration-copy::before {
display: none;
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
background: color-mix(in srgb, var(--widget-celebration-surface-color) 88%, transparent);
border-radius: var(--border-radius-large);
content: "";
inset: 0;
opacity: 0;
position: absolute;
animation: widget-celebration-copy-panel-in 320ms var(--widget-celebration-enter-ease) forwards, widget-celebration-copy-panel-out var(--widget-celebration-exit-duration) ease forwards;
animation-delay: var(--widget-celebration-panel-delay), var(--widget-celebration-hold-duration);
}
.nova-enabled .focus-timer .focus-timer-celebration-headline,
.nova-enabled .focus-timer .focus-timer-celebration-subhead {
opacity: 0;
position: relative;
transform: translateY(8px);
z-index: 1;
}
.nova-enabled .focus-timer .focus-timer-celebration-headline {
display: inline-block;
background-image: linear-gradient(var(--widget-celebration-headline-gradient-angle), var(--widget-celebration-headline-gradient-start), var(--widget-celebration-headline-gradient-mid-start) 28%, var(--widget-celebration-headline-gradient-mid-end) 64%, var(--widget-celebration-headline-gradient-end));
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
color: transparent;
font-size: var(--font-size-xlarge);
font-weight: var(--font-weight-bold);
line-height: 1.2;
animation: widget-celebration-copy-in 320ms var(--widget-celebration-enter-ease) forwards, widget-celebration-copy-out var(--widget-celebration-exit-duration) ease forwards;
animation-delay: var(--widget-celebration-headline-delay), var(--widget-celebration-hold-duration);
}
.nova-enabled .focus-timer .focus-timer-celebration-subhead {
/* stylelint-disable-next-line stylelint-plugin-mozilla/use-design-tokens */
color: var(--widget-celebration-copy-color);
font-size: var(--font-size-large);
font-weight: var(--font-weight-semibold);
line-height: 1.2;
margin-block-start: var(--space-xxsmall);
animation: widget-celebration-copy-in 320ms var(--widget-celebration-enter-ease) forwards, widget-celebration-copy-out var(--widget-celebration-exit-duration) ease forwards;
animation-delay: var(--widget-celebration-subhead-delay), var(--widget-celebration-hold-duration);
}
.nova-enabled .focus-timer .focus-timer-celebration-illustration {
/* stylelint-disable stylelint-plugin-mozilla/use-design-tokens */
block-size: 132px;
inset-block-end: var(--space-xxsmall);
inline-size: auto;
max-inline-size: 209px;
/* stylelint-enable stylelint-plugin-mozilla/use-design-tokens */
inset-inline-end: var(--space-small);
opacity: 0;
position: absolute;
transform: translateY(12px) scale(0.96);
transform-origin: bottom right;
animation: widget-celebration-illustration-in 360ms var(--widget-celebration-enter-ease) forwards, widget-celebration-illustration-out var(--widget-celebration-exit-du | |