/* 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"); } }