tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

privacy.css (7308B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
      3 * You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 /* Permissions */
      6 
      7 .highlighting-group {
      8  --section-highlight-background-color: color-mix(in srgb, var(--color-accent-primary) 20%, transparent);
      9 }
     10 
     11 .permission-icon {
     12  width: 20px;
     13  height: 20px;
     14  vertical-align: middle;
     15  margin-inline-end: var(--space-xsmall);
     16 
     17  + label {
     18    vertical-align: middle;
     19  }
     20 }
     21 
     22 .permission-icon,
     23 .privacy-detailedoption .checkbox-label-box,
     24 .extra-information-label > image,
     25 .arrowhead,
     26 .reload-tabs-button,
     27 .content-blocking-warning-image {
     28  -moz-context-properties: fill;
     29  fill: currentColor;
     30 }
     31 
     32 .geo-icon {
     33  list-style-image: url(chrome://browser/skin/notification-icons/geo.svg);
     34 }
     35 
     36 .xr-icon {
     37  list-style-image: url(chrome://browser/skin/notification-icons/xr.svg);
     38 }
     39 
     40 .camera-icon {
     41  list-style-image: url(chrome://browser/skin/notification-icons/camera.svg);
     42 }
     43 
     44 .localhost-icon {
     45  list-style-image: url(chrome://browser/skin/notification-icons/local-host.svg);
     46 }
     47 
     48 .local-network-icon {
     49  list-style-image: url(chrome://browser/skin/notification-icons/local-network.svg);
     50 }
     51 
     52 .microphone-icon {
     53  list-style-image: url(chrome://browser/skin/notification-icons/microphone.svg);
     54 }
     55 
     56 .speaker-icon {
     57  list-style-image: url(chrome://browser/skin/notification-icons/speaker.svg);
     58 }
     59 
     60 .desktop-notification-icon {
     61  list-style-image: url(chrome://browser/skin/notification-icons/desktop-notification.svg);
     62 }
     63 
     64 .autoplay-icon {
     65  list-style-image: url(chrome://browser/skin/notification-icons/autoplay-media.svg);
     66 }
     67 
     68 .midi-icon {
     69  list-style-image: url(chrome://browser/skin/notification-icons/midi.svg);
     70 }
     71 
     72 /* Content Blocking */
     73 
     74 /* Override styling that sets descriptions as grey */
     75 #trackingGroup description.indent,
     76 #trackingGroup .indent > description {
     77  color: inherit;
     78 }
     79 
     80 [data-subcategory="trackingprotection"] {
     81  margin-top: 10px;
     82 }
     83 
     84 #trackingProtectionShield {
     85  list-style-image: url("chrome://browser/skin/controlcenter/tracking-protection.svg");
     86  -moz-context-properties: fill, fill-opacity;
     87  fill: currentColor;
     88  fill-opacity: 0.5;
     89  width: 64px;
     90  height: 64px;
     91  margin-inline-end: 10px;
     92 }
     93 
     94 .privacy-detailedoption,
     95 #fpiIncompatibilityWarning,
     96 #rfpIncompatibilityWarning {
     97  margin: 3px 0;
     98 }
     99 
    100 #fpiIncompatibilityWarning,
    101 #rfpIncompatibilityWarning {
    102  background-color: var(--section-highlight-background-color);
    103 }
    104 
    105 #fpiIncompatibilityWarning,
    106 #rfpIncompatibilityWarning,
    107 #contentBlockingCategories {
    108  margin-top: 16px;
    109 }
    110 
    111 .privacy-detailedoption {
    112  border-color: var(--border-color);
    113 }
    114 
    115 .privacy-detailedoption.disabled {
    116  opacity: 0.5;
    117 }
    118 
    119 .privacy-detailedoption.disabled .radio-check {
    120  opacity: 1;
    121 }
    122 
    123 .privacy-detailedoption > .indent {
    124  margin-inline-end: 22px;
    125 }
    126 
    127 .arrowhead {
    128  border-radius: var(--border-radius-xsmall);
    129  min-height: 20px;
    130  min-width: 20px;
    131  max-height: 20px;
    132  max-width: 20px;
    133  list-style-image: url("chrome://global/skin/icons/arrow-down-12.svg");
    134  background-color: transparent;
    135  padding: 3px;
    136 }
    137 
    138 .arrowhead:not([disabled]):hover {
    139  cursor: pointer;
    140 }
    141 
    142 .arrowhead.up {
    143  list-style-image: url("chrome://global/skin/icons/arrow-up-12.svg");
    144 }
    145 
    146 .privacy-detailedoption.expanded:not(.selected) .reload-tabs {
    147  display: none;
    148 }
    149 
    150 .content-blocking-warning.reload-tabs:not([hidden]) {
    151  display: flex;
    152  flex-wrap: wrap;
    153 }
    154 
    155 .content-blocking-reload-desc-container {
    156  /* 345px is enough for (almost) twice the size of the default English
    157   * string at default font sizes. If this and the button do not fit
    158   * on one line, the button will get wrapped to the next line and this
    159   * item will stretch to fill all available space. */
    160  flex: 1 1 345px;
    161  display: flex;
    162  align-self: center;
    163 }
    164 
    165 .content-blocking-reload-description {
    166  margin-inline-end: 5px;
    167 }
    168 
    169 .reload-tabs-button {
    170  max-height: 30px;
    171  min-height: 30px;
    172  padding: 0 20px;
    173  list-style-image: url("chrome://global/skin/icons/reload.svg");
    174  align-self: center;
    175 }
    176 
    177 .reload-tabs-button .button-icon {
    178  margin: 0 6px;
    179  color: inherit;
    180 }
    181 
    182 .reload-tabs-button .button-text {
    183  color: inherit;
    184 }
    185 
    186 .privacy-detailedoption.selected .content-blocking-warning {
    187  background-color: var(--section-highlight-background-color);
    188 }
    189 
    190 .privacy-detailedoption.selected .arrowhead {
    191  display: none;
    192 }
    193 
    194 .privacy-detailedoption.selected {
    195  border-color: var(--border-color-selected);
    196 }
    197 
    198 @media (forced-colors) {
    199  .privacy-detailedoption.selected {
    200    outline: 2px solid var(--border-color-selected);
    201  }
    202 }
    203 
    204 @media not (forced-colors) {
    205  .privacy-detailedoption {
    206    background-color: rgba(215, 215, 219, 0.1);
    207  }
    208 
    209  .privacy-detailedoption.selected {
    210    background-color: var(--section-highlight-background-color);
    211  }
    212 }
    213 
    214 .content-blocking-warning-title,
    215 .privacy-detailedoption .radio-label-box {
    216  font-weight: var(--font-weight-bold);
    217 }
    218 
    219 .privacy-detailedoption:not(.expanded, .selected) .privacy-extra-information {
    220  visibility: collapse;
    221 }
    222 
    223 .extra-information-label {
    224  margin-top: 18px;
    225 }
    226 
    227 /* Apply display: block to the containers of all the category information, as
    228 * without this the flex-wrapped blocks inside don't stretch vertically to
    229 * enclose their content. */
    230 .privacy-detailedoption > .indent {
    231  display: block;
    232 }
    233 
    234 .privacy-detailedoption.expanded .privacy-extra-information,
    235 .privacy-detailedoption.selected .privacy-extra-information {
    236  display: flex;
    237  flex-direction: column;
    238  align-content: stretch;
    239 }
    240 
    241 .privacy-extra-information > .indent {
    242  margin-bottom: 18px;
    243 }
    244 
    245 .privacy-extra-information > .custom-option {
    246  margin: 10px 0;
    247 }
    248 
    249 .content-blocking-warning {
    250  /* Match .indent's horizontal padding, minus the border added via .info-box-container: */
    251  padding-inline: calc(22px - 1px);
    252  margin: 10px 0;
    253 }
    254 
    255 .content-blocking-warning:not([hidden]) + .content-blocking-warning {
    256  margin-top: 0;
    257 }
    258 
    259 .content-blocking-extra-blocking-desc {
    260  margin-inline-start: 0.5em;
    261  position: relative;
    262  top: 0.65em;
    263 }
    264 
    265 .content-blocking-label,
    266 .doh-label {
    267  display: list-item;
    268 }
    269 
    270 #dohExceptionsButton {
    271  align-self: end;
    272 }
    273 
    274 .content-blocking-warning-image {
    275  list-style-image: url("chrome://global/skin/icons/warning.svg");
    276  width: 16px;
    277  margin-inline-end: 6px;
    278 }
    279 
    280 .content-blocking-exceptions {
    281  border-top: 1px solid var(--border-color);
    282  padding-top: 18px;
    283 }
    284 
    285 #blockCookiesMenu {
    286  width: 450px;
    287 }
    288 
    289 #blockCookiesMenu,
    290 #trackingProtectionMenu,
    291 #fingerprintingProtectionMenu {
    292  margin: 0;
    293 }
    294 
    295 #telemetry-container {
    296  margin-block: 4px;
    297  width: 100%;
    298 }
    299 
    300 .privacy-detailedoption-description {
    301  font-size: 90%;
    302  opacity: 0.6;
    303 }
    304 
    305 .warning-description {
    306  background: url(chrome://global/skin/icons/warning.svg) no-repeat 0 5px;
    307  opacity: 0.6;
    308  -moz-context-properties: fill, stroke;
    309  fill: #d7b600;
    310  stroke: white;
    311  padding-inline-start: 20px;
    312 }
    313 
    314 .reject-trackers-warning-icon:-moz-locale-dir(rtl) {
    315  background-position-x: right 0;
    316 }
    317 
    318 #contentBlockingChangeCookieSettings {
    319  padding: 0.25em 0.75em;
    320  margin: 4px 8px;
    321 }
    322 
    323 #deleteOnCloseNote {
    324  margin-top: 8px;
    325  margin-inline-end: 32px;
    326 }
    327 
    328 #submitHealthReportBox {
    329  display: inline-flex;
    330 }
    331 
    332 /* Logins and Passwords */
    333 
    334 #openWindowsPasskeySettings {
    335  margin-block-start: 2em;
    336 }
    337 
    338 #statusPrimaryPassword {
    339  --box-icon-fill: var(--icon-color-success);
    340 }