herit; grid-template-columns: inherit; grid-template-rows: inherit; /* CSS Align */ align-content: inherit; align-items: inherit; justify-content: inherit; justify-items: inherit; } /* Miscellaneous form elements */ legend { display: block; padding-inline: 2px; } fieldset { display: block; margin-inline: 2px; padding-block: 0.35em 0.625em; padding-inline: 0.75em; border: 2px groove ThreeDFace; min-inline-size: min-content; } label { cursor: default; /* If you add declarations here, consider whether the select > label and file * input label need them as well. */ } /* Default inputs, text inputs, and selects */ /* Note: Values in nsNativeTheme IsWidgetStyled function need to match textfield background/border values here */ input { display: inline-block; appearance: auto; -moz-default-appearance: textfield; /* The sum of border and padding on block-start and block-end must be the same here, for buttons, and for as not selectable. */ user-select: none; } option[label]::before { content: attr(label); } select:-moz-select-list-box option, select:-moz-select-list-box optgroup { line-height: normal !important; } option { display: block; float: none !important; position: static !important; /* This makes sure that it is a containing block for positioned descendants. */ will-change: -moz-fixed-pos-containing-block !important; min-block-size: 1em; min-inline-size: min-content; padding-block: 2px; user-select: none; /* * Note that the "UA !important" tests in * layout/style/test/test_animations.html depend on this rule, because * they need some UA !important rule to test. If this changes, use a * different one there. */ white-space: nowrap !important; word-wrap: normal !important; } option:read-write { user-select: text; } select > option { padding-inline: 4px; } select:-moz-select-list-box option:checked { background-color: -moz-cellhighlight; color: -moz-cellhighlighttext; } select:-moz-select-list-box:focus option:checked { background-color: SelectedItem !important; color: SelectedItemText !important; } optgroup { display: block; float: none !important; position: static !important; font-style: italic; font-weight: bold; font-size: unset; user-select: none; white-space: nowrap !important; word-wrap: normal !important; } optgroup > option { padding-inline-start: 20px; font-style: normal; font-weight: normal; } optgroup:before { display: block; content: "\200b" attr(label); } @media (-moz-platform: android) { /* These elements are handled by the prompt module. */ select option, select optgroup { pointer-events: none; } } *|*::-moz-dropdown-list { content: inherit; z-index: 2147483647; background-color: inherit; user-select: none; position: static !important; float: none !important; /* * We can't change the padding here, because that would affect our * intrinsic inline-size, since we scroll. But at the same time, we want * to make sure that our inline-start border+padding matches the inline-start * border+padding of a combobox so that our scrollbar will line up * with the dropmarker. So set our inline-start border to 2px. */ border: 1px outset black !important; border-inline-start-width: 2px !important; } input:disabled, textarea:disabled, option:disabled, optgroup:disabled, select:disabled { color: GrayText; background-color: -moz-DisabledField; cursor: unset; } input:disabled, textarea:disabled { cursor: default; } option:disabled, optgroup:disabled { background-color: transparent; } /* hidden inputs */ input[type="hidden"] { appearance: none; -moz-default-appearance: none; display: none !important; padding: unset; border: 0; cursor: auto; -moz-user-focus: ignore; } /* image buttons */ input[type="image"] { appearance: none; -moz-default-appearance: none; padding: unset; border: none; background-color: transparent; font-family: sans-serif; font-size: small; cursor: pointer; } input[type="image"]:disabled { cursor: unset; } /* colored part of the color selector button */ ::-moz-color-swatch { width: 100%; height: 100%; min-width: 3px; min-height: 3px; margin-inline: auto; box-sizing: border-box; border: 1px solid grey; display: block; } /* radio buttons */ input[type="radio"] { appearance: auto; -moz-default-appearance: radio; margin-block: 3px 0; margin-inline: 5px 3px; } /* check boxes */ input[type="checkbox"] { appearance: auto; -moz-default-appearance: checkbox; margin-block: 3px; margin-inline: 4px 3px; } /* Common features of radio buttons and check boxes */ input[type="radio"], input[type="checkbox"] { box-sizing: border-box; cursor: default; /* unset some values from the general 'input' rule above: */ padding: unset; border: unset; background-color: unset; color: unset; } input:is([type="radio"], [type="checkbox"]):is(:disabled, :disabled:active, :disabled:hover:active) { cursor: unset; } input[type="search"] { box-sizing: border-box; } /* buttons */ /* Note: Values in nsNativeTheme IsWidgetStyled function need to match button background/border values here */ /* Non text-related properties for buttons: these ones are shared with input[type=color] */ button, ::file-selector-button, input:is([type="color"], [type="reset"], [type="button"], [type="submit"]) { appearance: auto; -moz-default-appearance: button; /* The sum of border and padding on block-start and block-end must be the same here, for text inputs, and for