590 lines
15 KiB
CSS
590 lines
15 KiB
CSS
/* 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/. */
|
|
#onboarding-overlay * {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
#onboarding-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
/* Ensuring we can put the overlay over elements using
|
|
z-index on original page */
|
|
z-index: 20999;
|
|
color: #4d4d4d;
|
|
background: var(--newtab-overlay-color, rgb(245, 245, 247, 0.9)); /* #f7f7f5, 0.9 opacity */
|
|
display: none;
|
|
}
|
|
|
|
#onboarding-overlay.onboarding-opened {
|
|
display: block;
|
|
}
|
|
|
|
#onboarding-overlay-button {
|
|
padding: 10px 0 0 0;
|
|
position: fixed;
|
|
cursor: pointer;
|
|
top: 4px;
|
|
inset-inline-start: 12px;
|
|
border: none;
|
|
/* Set to none so no grey contrast background in the high-contrast mode */
|
|
background: none;
|
|
/* make sure the icon stay above the activity-stream searchbar */
|
|
/* We want this always under #onboarding-overlay */
|
|
z-index: 10;
|
|
}
|
|
|
|
/* Keyboard focus styling */
|
|
#onboarding-overlay-button:-moz-focusring {
|
|
outline: solid 2px rgba(0, 0, 0, 0.1);
|
|
-moz-outline-radius: 5px;
|
|
outline-offset: 5px;
|
|
transition: outline-offset 150ms;
|
|
}
|
|
|
|
#onboarding-overlay-button > img {
|
|
width: 32px;
|
|
vertical-align: top;
|
|
}
|
|
|
|
#onboarding-overlay-button::after {
|
|
content: " ";
|
|
border-radius: 50%;
|
|
margin-top: -1px;
|
|
margin-inline-start: -13px;
|
|
border: 2px solid #f2f2f2;
|
|
background: #0A84FF;
|
|
padding: 0;
|
|
width: 10px;
|
|
height: 10px;
|
|
min-width: unset;
|
|
max-width: unset;
|
|
display: block;
|
|
box-sizing: content-box;
|
|
float: inline-end;
|
|
position: relative;
|
|
}
|
|
|
|
#onboarding-overlay-button:hover::after,
|
|
#onboarding-overlay-button.onboarding-speech-bubble::after {
|
|
background: #0060df;
|
|
font-size: 13px;
|
|
text-align: center;
|
|
color: #fff;
|
|
box-sizing: content-box;
|
|
font-weight: 400;
|
|
content: attr(aria-label);
|
|
border: 1px solid transparent;
|
|
border-radius: 2px;
|
|
padding: 10px 16px;
|
|
width: auto;
|
|
height: auto;
|
|
min-width: 100px;
|
|
max-width: 140px;
|
|
white-space: pre-line;
|
|
margin-inline-start: 4px;
|
|
margin-top: -10px;
|
|
box-shadow: -2px 0 5px 0 rgba(74, 74, 79, 0.25);
|
|
}
|
|
|
|
#onboarding-overlay-button:dir(rtl)::after {
|
|
box-shadow: 2px 0 5px 0 rgba(74, 74, 79, 0.25);
|
|
}
|
|
|
|
#onboarding-overlay-button-watermark-icon {
|
|
-moz-context-properties: fill;
|
|
fill: var(--newtab-icon-tertiary-color, #d7d7db);
|
|
}
|
|
|
|
#onboarding-overlay-button-watermark-icon,
|
|
#onboarding-overlay-button.onboarding-watermark::after,
|
|
#onboarding-overlay-button.onboarding-watermark:not(:hover) > #onboarding-overlay-button-icon {
|
|
display: none;
|
|
}
|
|
|
|
#onboarding-overlay-button.onboarding-watermark:not(:hover) > #onboarding-overlay-button-watermark-icon {
|
|
display: block;
|
|
}
|
|
|
|
#onboarding-overlay-dialog,
|
|
.onboarding-hidden,
|
|
#onboarding-tour-sync-page[data-login-state=logged-in] .show-on-logged-out,
|
|
#onboarding-tour-sync-page[data-login-state=logged-out] .show-on-logged-in {
|
|
display: none;
|
|
}
|
|
|
|
.onboarding-close-btn {
|
|
position: absolute;
|
|
top: 15px;
|
|
inset-inline-end: 15px;
|
|
cursor: pointer;
|
|
width: 16px;
|
|
height: 16px;
|
|
border: none;
|
|
background: none;
|
|
padding: 0;
|
|
}
|
|
|
|
.onboarding-close-btn::before {
|
|
content: url("chrome://global/skin/icons/close.svg");
|
|
-moz-context-properties: fill, fill-opacity;
|
|
fill-opacity: 0;
|
|
fill: var(--newtab-icon-primary-color, currentColor);
|
|
}
|
|
|
|
.onboarding-close-btn:-moz-any(:hover, :active, :focus, :-moz-focusring)::before {
|
|
fill-opacity: 0.1;
|
|
}
|
|
|
|
#onboarding-overlay.onboarding-opened > #onboarding-overlay-dialog {
|
|
width: 960px;
|
|
height: 510px;
|
|
background: #fff;
|
|
border: 1px solid rgba(9, 6, 13, 0.2); /* #09060D, 0.2 opacity */
|
|
border-radius: 3px;
|
|
position: relative;
|
|
margin: 0 calc(50% - 480px);
|
|
top: calc(50% - 255px);
|
|
display: grid;
|
|
grid-template-rows: [dialog-start] 70px [page-start] 1fr [footer-start] 30px [dialog-end];
|
|
grid-template-columns: [dialog-start] 230px [page-start] 1fr [dialog-end];
|
|
box-shadow: 0 3px rgba(0, 0, 0, 0.04);
|
|
}
|
|
|
|
#onboarding-overlay.onboarding-opened > #onboarding-overlay-dialog:-moz-focusring {
|
|
outline: none;
|
|
}
|
|
|
|
@media (max-height: 510px) {
|
|
#onboarding-overlay.onboarding-opened > #onboarding-overlay-dialog {
|
|
top: 0;
|
|
}
|
|
}
|
|
|
|
#onboarding-overlay-dialog > header {
|
|
grid-row: dialog-start / page-start;
|
|
grid-column: dialog-start / tour-end;
|
|
margin-top: 22px;
|
|
margin-bottom: 0;
|
|
margin-inline-end: 0;
|
|
margin-inline-start: 36px;
|
|
font-size: 22px;
|
|
font-weight: 200;
|
|
}
|
|
|
|
#onboarding-overlay-dialog > nav {
|
|
grid-row: dialog-start / footer-start;
|
|
grid-column-start: dialog-start;
|
|
margin-top: 40px;
|
|
margin-bottom: 0;
|
|
margin-inline-end: 0;
|
|
margin-inline-start: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
#onboarding-overlay-dialog > footer {
|
|
grid-column: dialog-start / tour-end;
|
|
font-size: 13px;
|
|
}
|
|
|
|
#onboarding-skip-tour-button {
|
|
margin-inline-start: 27px;
|
|
margin-bottom: 27px;
|
|
}
|
|
|
|
/* Onboarding tour list */
|
|
#onboarding-tour-list {
|
|
margin: 40px 0 0 0;
|
|
padding: 0;
|
|
margin-inline-start: 16px;
|
|
}
|
|
|
|
#onboarding-tour-list .onboarding-tour-item-container {
|
|
list-style: none;
|
|
outline: none;
|
|
position: relative;
|
|
}
|
|
|
|
#onboarding-tour-list .onboarding-tour-item {
|
|
pointer-events: none;
|
|
display: list-item;
|
|
padding-inline-start: 49px;
|
|
padding-top: 14px;
|
|
padding-bottom: 14px;
|
|
margin-bottom: 9px;
|
|
font-size: 16px;
|
|
cursor: pointer;
|
|
max-height: 54px;
|
|
--onboarding-tour-item-active-color: #0A84FF;
|
|
}
|
|
|
|
#onboarding-tour-list .onboarding-tour-item:dir(rtl) {
|
|
background-position-x: right 17px;
|
|
}
|
|
|
|
#onboarding-tour-list .onboarding-tour-item.onboarding-complete::before {
|
|
content: url("img/icons_tour-complete.svg");
|
|
position: relative;
|
|
inset-inline-start: 3px;
|
|
top: -10px;
|
|
float: inline-start;
|
|
}
|
|
|
|
#onboarding-tour-list .onboarding-tour-item.onboarding-complete {
|
|
padding-inline-start: 29px;
|
|
}
|
|
|
|
#onboarding-tour-list .onboarding-tour-item::after {
|
|
content: "";
|
|
display: block;
|
|
width: 48px;
|
|
height: 48px;
|
|
position: absolute;
|
|
inset-inline-start: 0px;
|
|
top: 0px;
|
|
background-color: #3E3D40;
|
|
mask-repeat: no-repeat;
|
|
mask-position: left 17px top 14px;
|
|
mask-size: 20px;
|
|
}
|
|
|
|
#onboarding-tour-list .onboarding-tour-item:dir(rtl)::after {
|
|
mask-position: right 17px top 14px;
|
|
}
|
|
|
|
#onboarding-tour-list .onboarding-tour-item.onboarding-active::after,
|
|
#onboarding-tour-list .onboarding-tour-item-container:hover .onboarding-tour-item::after {
|
|
background-color: var(--onboarding-tour-item-active-color);
|
|
}
|
|
|
|
#onboarding-tour-list .onboarding-tour-item.onboarding-active,
|
|
#onboarding-tour-list .onboarding-tour-item-container:hover .onboarding-tour-item {
|
|
color: var(--onboarding-tour-item-active-color);
|
|
/* With 1px transparent outline, could see a border in the high-constrast mode */
|
|
outline: 1px solid transparent;
|
|
}
|
|
|
|
/* Default browser tour */
|
|
#onboarding-tour-is-default-browser-msg {
|
|
font-size: 16px;
|
|
line-height: 21px;
|
|
float: inline-end;
|
|
margin-inline-end: 26px;
|
|
margin-top: -32px;
|
|
text-align: center;
|
|
}
|
|
|
|
/* Sync tour */
|
|
#onboarding-tour-sync-page form {
|
|
text-align: center;
|
|
}
|
|
|
|
#onboarding-tour-sync-page form > h3 {
|
|
text-align: center;
|
|
margin: 0;
|
|
font-size: 22px;
|
|
font-weight: normal;
|
|
}
|
|
|
|
#onboarding-tour-sync-page form > p {
|
|
text-align: center;
|
|
margin: 3px 0 0 0;
|
|
font-size: 15px;
|
|
font-weight: normal;
|
|
}
|
|
|
|
#onboarding-tour-sync-page form > input {
|
|
margin-top: 10px;
|
|
height: 40px;
|
|
width: 80%;
|
|
padding: 7px;
|
|
}
|
|
|
|
#onboarding-tour-sync-page form > #onboarding-tour-sync-button {
|
|
padding: 10px 20px;
|
|
min-width: 40%;
|
|
margin: 15px 0;
|
|
float: none;
|
|
}
|
|
|
|
/* Onboarding tour pages */
|
|
.onboarding-tour-page {
|
|
grid-row: page-start / footer-end;
|
|
grid-column: page-start;
|
|
display: grid;
|
|
grid-template-rows: [tour-page-start] 393px [tour-button-start] 1fr [tour-page-end];
|
|
grid-template-columns: [tour-page-start] 368px [tour-content-start] 1fr [tour-page-end];
|
|
}
|
|
|
|
.onboarding-tour-description {
|
|
grid-row: tour-page-start / tour-page-end;
|
|
grid-column: tour-page-start / tour-content-start;
|
|
font-size: 15px;
|
|
line-height: 22px;
|
|
padding-inline-start: 40px;
|
|
padding-inline-end: 28px;
|
|
max-height: 360px;
|
|
overflow: auto;
|
|
}
|
|
|
|
.onboarding-tour-description > h1 {
|
|
font-size: 36px;
|
|
margin-top: 16px;
|
|
font-weight: 300;
|
|
line-height: 44px;
|
|
}
|
|
|
|
.onboarding-tour-content {
|
|
grid-row: tour-page-start / tour-button-start;
|
|
grid-column: tour-content-start / tour-page-end;
|
|
padding: 0;
|
|
text-align: end;
|
|
}
|
|
|
|
.onboarding-tour-content > img {
|
|
width: 352px;
|
|
margin: 0;
|
|
}
|
|
|
|
/* These illustrations need to be stuck on the right side to the border. Thus we
|
|
need to flip them horizontally on RTL . */
|
|
.onboarding-tour-content > img:dir(rtl) {
|
|
transform: scaleX(-1);
|
|
}
|
|
|
|
.onboarding-tour-content > iframe {
|
|
width: 100%;
|
|
height: 100%;
|
|
border: none;
|
|
}
|
|
|
|
.onboarding-tour-button-container {
|
|
/* Get higher z-index in order to ensure buttons within container are selectable */
|
|
z-index: 2;
|
|
grid-row: tour-button-start / tour-page-end;
|
|
grid-column: tour-content-start / tour-page-end;
|
|
}
|
|
|
|
.onboarding-tour-action-button {
|
|
background: #0060df;
|
|
/* With 1px transparent border, could see a border in the high-constrast mode */
|
|
border: 1px solid transparent;
|
|
border-radius: 2px;
|
|
padding: 10px 20px;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
line-height: 16px;
|
|
color: #fff;
|
|
float: inline-end;
|
|
margin-inline-end: 26px;
|
|
margin-top: -32px;
|
|
}
|
|
|
|
/* Remove default dotted outline around buttons' text */
|
|
#onboarding-overlay button::-moz-focus-inner,
|
|
#onboarding-overlay-button::-moz-focus-inner {
|
|
border: 0;
|
|
}
|
|
|
|
/* Keyboard focus specific outline */
|
|
#onboarding-overlay button:-moz-focusring,
|
|
.onboarding-action-button:-moz-focusring,
|
|
#onboarding-tour-list .onboarding-tour-item:focus {
|
|
outline: 2px solid rgba(0,149,221,0.5);
|
|
outline-offset: 1px;
|
|
-moz-outline-radius: 2px;
|
|
}
|
|
|
|
.onboarding-tour-action-button:hover:not([disabled]) {
|
|
background: #003eaa;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.onboarding-tour-action-button:active:not([disabled]) {
|
|
background: #002275;
|
|
}
|
|
|
|
.onboarding-tour-action-button:disabled {
|
|
opacity: 0.5;
|
|
}
|
|
|
|
/* Tour Icons */
|
|
#onboarding-tour-singlesearch.onboarding-tour-item::after,
|
|
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-singlesearch] #onboarding-notification-tour-title::before {
|
|
mask-image: url("img/icons_singlesearch.svg");
|
|
}
|
|
|
|
#onboarding-tour-private-browsing.onboarding-tour-item::after,
|
|
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-private-browsing] #onboarding-notification-tour-title::before {
|
|
mask-image: url("img/icons_private.svg");
|
|
}
|
|
|
|
#onboarding-tour-addons.onboarding-tour-item::after,
|
|
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-addons] #onboarding-notification-tour-title::before {
|
|
mask-image: url("img/icons_addons.svg");
|
|
}
|
|
|
|
#onboarding-tour-customize.onboarding-tour-item::after,
|
|
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-customize] #onboarding-notification-tour-title::before {
|
|
mask-image: url("img/icons_customize.svg");
|
|
}
|
|
|
|
#onboarding-tour-default-browser.onboarding-tour-item::after,
|
|
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-default-browser] #onboarding-notification-tour-title::before {
|
|
mask-image: url("img/icons_default.svg");
|
|
}
|
|
|
|
#onboarding-tour-sync.onboarding-tour-item::after,
|
|
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-sync] #onboarding-notification-tour-title::before {
|
|
mask-image: url("img/icons_sync.svg");
|
|
}
|
|
|
|
#onboarding-tour-library.onboarding-tour-item::after,
|
|
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-library] #onboarding-notification-tour-title::before {
|
|
mask-image: url("img/icons_library.svg");
|
|
}
|
|
|
|
#onboarding-tour-performance.onboarding-tour-item::after,
|
|
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-performance] #onboarding-notification-tour-title::before {
|
|
mask-image: url("img/icons_performance.svg");
|
|
}
|
|
|
|
#onboarding-tour-screenshots.onboarding-tour-item::after,
|
|
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-screenshots] #onboarding-notification-tour-title::before {
|
|
mask-image: url("img/icons_screenshots.svg");
|
|
}
|
|
|
|
a#onboarding-tour-screenshots-button,
|
|
a#onboarding-tour-screenshots-button:hover,
|
|
a#onboarding-tour-screenshots-button:visited {
|
|
color: #fff;
|
|
text-decoration: none;
|
|
}
|
|
|
|
/* Tour Notifications */
|
|
#onboarding-notification-bar {
|
|
position: fixed;
|
|
z-index: 20998; /* We want this always under #onboarding-overlay */
|
|
left: 0;
|
|
bottom: 0;
|
|
width: 100%;
|
|
height: 100px;
|
|
min-width: 640px;
|
|
background: var(--newtab-snippets-background-color, rgba(255, 255, 255, 0.97));
|
|
border-top: 1px solid var(--newtab-snippets-hairline-color, #e9e9e9);
|
|
box-shadow: 0 -1px 4px 0 rgba(12, 12, 13, 0.1);
|
|
transition: transform 0.8s;
|
|
transform: translateY(122px);
|
|
}
|
|
|
|
#onboarding-notification-bar.onboarding-opened {
|
|
transition: none;
|
|
transform: translateY(0px);
|
|
}
|
|
|
|
#onboarding-notification-close-btn {
|
|
position: absolute;
|
|
inset-block-start: 50%;
|
|
inset-inline-end: 24px;
|
|
transform: translateY(-50%);
|
|
}
|
|
|
|
#onboarding-notification-message-section {
|
|
height: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
|
|
#onboarding-notification-body {
|
|
width: 500px;
|
|
margin: 0 18px;
|
|
color: var(--newtab-text-primary-color, #0c0c0d);
|
|
display: inline-block;
|
|
max-height: 120px;
|
|
overflow: auto;
|
|
padding: 15px 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
#onboarding-notification-body * {
|
|
font-size: 12px;
|
|
font-weight: normal;
|
|
margin-top: 5px;
|
|
}
|
|
|
|
#onboarding-notification-tour-title {
|
|
margin: 0;
|
|
font-weight: bold;
|
|
color: var(--newtab-text-primary-color, #0f1126);
|
|
font-size: 14px;
|
|
}
|
|
|
|
#onboarding-notification-tour-title::before {
|
|
content: "";
|
|
background-color: var(--newtab-text-primary-color, #0f1126);
|
|
mask-repeat: no-repeat;
|
|
mask-size: 14px;
|
|
height: 16px;
|
|
width: 16px;
|
|
float: inline-start;
|
|
margin-top: 2px;
|
|
margin-inline-end: 2px;
|
|
}
|
|
|
|
#onboarding-notification-tour-icon {
|
|
min-width: 64px;
|
|
height: 64px;
|
|
background-size: 64px;
|
|
background-repeat: no-repeat;
|
|
background-image: url("chrome://branding/content/icon64.png");
|
|
}
|
|
|
|
.onboarding-action-button {
|
|
background: #fbfbfb;
|
|
/* With 1px border, could see a border in the high-constrast mode */
|
|
border: 1px solid #c1c1c1;
|
|
border-radius: 2px;
|
|
padding: 10px 20px;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
line-height: 16px;
|
|
color: #202340;
|
|
min-width: 130px;
|
|
}
|
|
|
|
.onboarding-action-button:hover {
|
|
background-color: #ebebeb;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.onboarding-action-button:active {
|
|
background-color: #dadada;
|
|
}
|
|
|
|
#onboarding-notification-bar .onboarding-action-button {
|
|
background-color: var(--newtab-button-secondary-color);
|
|
border-color: var(--newtab-border-primary-color);
|
|
border-radius: 4px;
|
|
color: var(--newtab-text-primary-color);
|
|
}
|
|
|
|
#onboarding-notification-bar .onboarding-action-button:hover,
|
|
#onboarding-notification-bar .onboarding-action-button:active {
|
|
background-color: var(--newtab-button-secondary-color);
|
|
box-shadow: 0 0 0 5px var(--newtab-card-active-outline-color);
|
|
transition: box-shadow 150ms;
|
|
}
|
|
|
|
@media (min-resolution: 2dppx) {
|
|
#onboarding-notification-tour-icon {
|
|
background-image: url("chrome://branding/content/icon128.png");
|
|
}
|
|
}
|