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 }