/* - 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/. */ @namespace html "http://www.w3.org/1999/xhtml"; /* Global rules */ :root { user-select: text; } #preferences-root { text-rendering: optimizeLegibility; } @media not print { #preferences-root, #preferences-body { height: 100%; overflow: hidden; } } #preferences-root, #preferences-body { margin: 0; padding: 0; width: 100%; } #preferences-body { vertical-align: top; /* See bug 1606130 */ display: flex; flex-direction: column; --main-pane-width: 664px; } /* The stack has some very tall content but it shouldn't be taller than the viewport (and we know the tall content will still be accessible via scrollbars regardless if the stack has a shorter height). So we use min-height: 0 to allow the stack to be smaller than its content height so it can fit the viewport size. */ #preferences-stack { min-height: 0; } .main-content { padding-top: 0; /* the 32px min-height, plus 20+30px margin below, plus some leeway: */ scroll-padding-top: 90px; contain: inline-size; } .pane-container { /* A workaround to keep the container always float on the `top: 0` (Bug 1377009) */ display: block; width: min(100%, var(--main-pane-width)); min-width: min-content; } #mainPrefPane { width: 100%; padding: 0; } groupbox[data-category] { margin: 0 0 32px; } html|h1 { margin: 0 0 8px; font-size: 1.46em; font-weight: 300; line-height: 1.3em; } html|h2 { margin: 16px 0 4px; font-size: 1.14em; line-height: normal; } description.indent, .indent:not(#browserPrivateEngineSelection) > description { color: var(--text-color-deemphasized); } button, treecol, menulist, html|select { /* override the root rule */ user-select: none; } /* Buttons get a default min-width in XUL. When they also have flex, they will * be large enough anyway, and we don't want them to become smaller than their inner * text which would then overflow the button. Set min-width back to auto for that: */ button[flex] { min-width: auto; } description, label { line-height: 1.8em; margin: 0; } .tip-caption { font-size: .9em; color: var(--text-color-deemphasized); } menulist::part(label), menuitem > label, button > hbox > label { line-height: unset; } .indent { /* This should match the checkboxes/radiobuttons' width and inline margin, such that when we have a toggle with a label followed by another element with this class, the other element's text aligns with the toggle label. */ margin-inline-start: 22px !important; } checkbox { margin-inline: 0; } .tail-with-learn-more { margin-inline: 0 10px; } /* Add a bit of space to the end of descriptions to * leave margin with e.g. additional buttons on the side. */ .description-with-side-element { margin-inline-end: 10px !important; } .learnMore { margin-inline-start: 0; font-weight: normal; white-space: nowrap; } .accessory-button { min-width: 150px; margin: 4px 0; } .spotlight { background-color: color-mix(in srgb, var(--in-content-accent-color) 15%, transparent); outline: var(--in-content-accent-color) 1px dotted; animation: fade-out 0.5s ease-out 2s forwards; /* Show the border to spotlight the components in high-contrast mode. */ border: 1px solid transparent; border-radius: 2px; } @keyframes fade-out { 100% { background-color: transparent; outline-color: transparent; } } [data-subcategory] { margin-inline: -4px; padding-inline: 4px; } .ac-site-icon { display: flex; } /* Subcategory title */ /** * The first subcategory title for each category should not have margin-top. */ .subcategory:not([hidden]) ~ .subcategory { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--in-content-border-color); } /* Category List */ #categories { overflow: visible; min-height: auto; padding: 1px; /* Adding padding around richlistitem in order to make entire keyboard focusing outline visible */ } #category-general > .category-icon { list-style-image: url("chrome://browser/skin/preferences/category-general.svg"); } #category-home > .category-icon { list-style-image: url("chrome://browser/skin/home.svg"); } #category-search > .category-icon { list-style-image: url("chrome://browser/skin/preferences/category-search.svg"); } #category-privacy > .category-icon { list-style-image: url("chrome://browser/skin/preferences/category-privacy-security.svg"); } #category-sync > .category-icon { list-style-image: url("chrome://browser/skin/preferences/category-sync.svg"); } #category-experimental > .category-icon { list-style-image: url("chrome://global/skin/icons/experiments.svg"); } #category-more-from-mozilla > .category-icon { list-style-image: url("chrome://browser/skin/preferences/mozilla-logo.svg"); } /* All panes */ .info-icon, .androidIcon, .iOSIcon { -moz-context-properties: fill; fill: currentColor; } /* General Pane */ .is-default > #isNotDefaultPane, :not(.is-default) > #isDefaultPane { visibility: hidden; } #isDefaultLabel, #isNotDefaultLabel { font-weight: 600; } @supports not -moz-bool-pref("browser.migrate.preferences-entrypoint.enabled") { #dataMigrationGroup { display: none; } } #dataMigration { /* This should really be using baseline, but that doesn't work properly with * the and XUL