/* 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/. */ @import "defines.css"; @import "scrollbar.css"; @namespace url("http://www.w3.org/1999/xhtml"); @namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); ::-moz-selection { background-color: var(--color_background_highlight); color: var(--color_text_highlight); } /* Style the scrollbars */ xul|scrollbar[root="true"] { position: relative; z-index: 2147483647; } xul|scrollbar { -moz-appearance: none !important; -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar"); background-color: transparent !important; background-image: none !important; border: 0px solid transparent !important; pointer-events: none; } /* Scrollbar code will reset the margin to the correct side depending on where layout actually puts the scrollbar */ xul|scrollbar[orient="vertical"] { margin-left: -6px; min-width: 6px; max-width: 6px; } xul|scrollbar[orient="vertical"] xul|thumb { -moz-appearance: scrollbarthumb-vertical !important; max-width: 2px !important; min-width: 2px !important; } xul|scrollbar[orient="horizontal"] { margin-top: -6px; min-height: 6px; max-height: 6px; } xul|scrollbar[orient="horizontal"] xul|thumb { -moz-appearance: scrollbarthumb-horizontal !important; max-height: 2px !important; min-height: 2px !important; } xul|scrollbar:not([active="true"]), xul|scrollbar[disabled] { opacity: 0; } xul|scrollbarbutton { min-height: 6px !important; min-width: 6px !important; -moz-appearance: none !important; visibility: hidden; } xul|scrollbarbutton[sbattr="scrollbar-up-top"], xul|scrollbarbutton[sbattr="scrollbar-bottom-top"] { display: none; } xul|scrollbar xul|thumb { background-color: rgba(119, 119, 119, 0.4) !important; -moz-border-top-colors: none !important; -moz-border-bottom-colors: none !important; -moz-border-right-colors: none !important; -moz-border-left-colors: none !important; border: none; border-radius: 4px; } xul|scrollbarbutton { background-image: none !important; } select:not([size]):not([multiple]) > xul|scrollbar, select[size="1"] > xul|scrollbar, select:not([size]):not([multiple]) xul|scrollbarbutton, select[size="1"] xul|scrollbarbutton { display: block; margin-left: 0; min-width: 16px; } /* Override inverse OS themes */ textarea, button, xul|button, * > input:not([type="image"]) { -moz-appearance: none !important; /* See bug 598421 for fixing the platform */ border-radius: var(--form_border_radius); } select[size], select[multiple], select[size][multiple], textarea, * > input:not([type="image"]):not([type="image"]) { border-style: solid; border-color: var(--form_border); color: var(--form_text); background-color: var(--form_background); } /* Selects are handled by the form helper, see bug 685197 */ select option, select optgroup { pointer-events: none; } select:not([size]):not([multiple]), select[size="0"], select[size="1"], * > input[type="button"], * > input[type="submit"], * > input[type="reset"], button { border-style: solid; border-color: var(--form_border); color: var(--form_text); background-color: var(--form_background); } input[type="checkbox"] { background: var(--form_background); } input[type="radio"] { background: var(--form_background) } select { border-width: 1px; padding: 1px; border-radius: var(--form_border_radius); } select:not([size]):not([multiple]), select[size="0"], select[size="1"] { padding: 0 1px 0 1px; } * > input:not([type="image"]) { border-width: 1px; padding: 1px; } textarea { resize: none; border-width: 1px; padding-inline-start: 1px; padding-inline-end: 1px; padding-block-start: 2px; padding-block-end: 2px; } input[type="button"], input[type="submit"], input[type="reset"], button { border-width: 1px; padding-inline-start: 7px; padding-inline-end: 7px; padding-block-start: 0; padding-block-end: 0; } input[type="radio"], input[type="checkbox"] { border: 1px solid var(--form_border) !important; padding-inline-start: 1px; padding-inline-end: 1px; padding-block-start: 2px; padding-block-end: 2px; } select > button { border-width: 0px !important; margin: 0px !important; padding: 0px !important; border-radius: 0; color: #414141; background-size: auto auto; background-color: transparent; background-image: url("chrome://browser/skin/images/dropmarker.svg") !important; background-position: calc(50% + 1px) center !important; background-repeat: no-repeat !important; font-size: inherit; } select[size]:focus, select[multiple]:focus, select[size][multiple]:focus, textarea:focus, input[type="file"]:focus > input[type="text"], * > input:not([type="image"]):focus { outline: 0px !important; border-style: solid; border-color: var(--form_border); background-color: var(--form_background); } select:not([size]):not([multiple]):focus, select[size="0"]:focus, select[size="1"]:focus, input[type="button"]:focus, input[type="submit"]:focus, input[type="reset"]:focus, button:focus { outline: 0px !important; border-style: solid; border-color: var(--form_border); background-color: var(--form_background); } input[type="checkbox"]:focus, input[type="radio"]:focus { border-color: var(--form_border) !important; } input[type="checkbox"]:focus { background: var(--form_background); } input[type="radio"]:focus { background: var(--form_background); } /* we need to be specific for selects because the above rules are specific too */ textarea:disabled, select[size]:disabled, select[multiple]:disabled, select[size][multiple]:disabled, select:not([size]):not([multiple]):disabled, select[size="0"]:disabled, select[size="1"]:disabled, button:disabled, button:disabled:active, * > input:not([type="image"]):disabled, * > input:not([type="image"]):disabled:active { color: var(--form_text_disabled); border-color: var(--form_border); border-style: solid; border-width: 1px; background: var(--form_background_disabled); } select:not([size]):not([multiple]):disabled, select[size="0"]:disabled, select[size="1"]:disabled { background: var(--form_background_disabled); } input[type="button"]:disabled, input[type="button"]:disabled:active, input[type="submit"]:disabled, input[type="submit"]:disabled:active, input[type="reset"]:disabled, input[type="reset"]:disabled:active, button:disabled, button:disabled:active { padding-inline-start: 7px; padding-inline-end: 7px; padding-block-start: 0; padding-block-end: 0; background: var(--form_background_disabled); } input[type="radio"]:disabled, input[type="radio"]:disabled:active, input[type="radio"]:disabled:hover, input[type="radio"]:disabled:hover:active, input[type="checkbox"]:disabled, input[type="checkbox"]:disabled:active, input[type="checkbox"]:disabled:hover, input[type="checkbox"]:disabled:hover:active { border:1px solid var(--form_border) !important; } select:disabled > button { opacity: 0.6; padding-inline-start: 7px; padding-inline-end: 7px; padding-block-start: 1px; padding-block-end: 1px; } /* -moz-touch-enabled? media elements */ :-moz-any(video, audio) > xul|videocontrols { -moz-binding: url("chrome://global/content/bindings/videocontrols.xml#touchControls"); } /* display click to play when autoplay is blocked for videos */ video:not([controls]) > xul|videocontrols { visibility: visible; -moz-binding: url("chrome://global/content/bindings/videocontrols.xml#noControls"); } *:any-link:active, *[role=button]:active, button:not(:disabled):active, input:not(:focus):not(:disabled):active, select:not(:disabled):active, textarea:not(:focus):not(:disabled):active, option:active, label:active, xul|menulist:active { background-color: var(--color_background_highlight_overlay); } button:active:hover, input[type="color"]:-moz-system-metric(color-picker-available):active:hover, input[type="reset"]:active:hover, input[type="button"]:active:hover, input[type="submit"]:active:hover { padding-inline-end: 7px; padding-inline-start: 7px; } input[type=number] > div > div, /* work around bug 946184 */ input[type=number]::-moz-number-spin-box { display: none; } /* Override accessiblecaret css in layout/style/ua.css */ div:-moz-native-anonymous.moz-accessiblecaret > #text-overlay, div:-moz-native-anonymous.moz-accessiblecaret > #image { /* border: 0.1px solid red; */ /* Uncomment border to see the touch target. */ padding-left: 59%; /* Enlarge the touch area. ((48-22)/2)px / 22px ~= 59% */ padding-right: 59%; /* Enlarge the touch area. */ left: -59%; } div:-moz-native-anonymous.moz-accessiblecaret > #image { padding-bottom: 59%; /* Enlarge the touch area. */ } div:-moz-native-anonymous.moz-accessiblecaret.normal > #image { background-image: url("chrome://browser/skin/images/accessiblecaret-normal-hdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.left > #text-overlay, div:-moz-native-anonymous.moz-accessiblecaret.left > #image { margin-left: -50%; } div:-moz-native-anonymous.moz-accessiblecaret.left > #image { background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-left-hdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.right > #text-overlay, div:-moz-native-anonymous.moz-accessiblecaret.right > #image { margin-left: 47%; } div:-moz-native-anonymous.moz-accessiblecaret.right > #image { background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-right-hdpi.png"); } @media (min-resolution: 1.5dppx) { div:-moz-native-anonymous.moz-accessiblecaret.normal > #image { background-image: url("chrome://browser/skin/images/accessiblecaret-normal-hdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.left > #image { background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-left-hdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.right > #image { background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-right-hdpi.png"); } } @media (min-resolution: 2dppx) { div:-moz-native-anonymous.moz-accessiblecaret.normal > #image { background-image: url("chrome://browser/skin/images/accessiblecaret-normal-xhdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.left > #image { background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-left-xhdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.right > #image { background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-right-xhdpi.png"); } } @media (min-resolution: 2.25dppx) { div:-moz-native-anonymous.moz-accessiblecaret.normal > #image { background-image: url("chrome://browser/skin/images/accessiblecaret-normal-xxhdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.left > #image { background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-left-xxhdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.right > #image { background-image: url("chrome://browser/skin/images/accessiblecaret-tilt-right-xxhdpi.png"); } }