// stylelint-disable selector-max-type, selector-no-qualifying-type, primer/typography * { box-sizing: border-box; } input, select, textarea, button { font-family: inherit; font-size: inherit; line-height: inherit; } body { font-family: $body-font; font-size: var(--body-font-size, $body-font-size); line-height: $body-line-height; color: var(--fgColor-default, var(--color-fg-default)); background-color: var(--bgColor-default, var(--color-canvas-default)); } a { color: var(--fgColor-accent, var(--color-accent-fg)); text-decoration: none; &:hover { text-decoration: underline; } } b, strong { font-weight: $font-weight-bold; } fieldset { padding: 0; margin: 0; border: 0; } label { font-weight: $font-weight-bold; } // Custom styling for HTML5 validation bubbles (WebKit only) ::placeholder { color: var(--fgColor-muted, var(--color-fg-subtle)); opacity: 1; // override opacity in normalize.css } // Horizontal lines // // TODO-MDO: Remove `.rule` from everywhere and replace with `
`s hr, .rule { height: 0; // stylelint-disable-next-line primer/spacing margin: 15px 0; overflow: hidden; background: transparent; border: 0; border-bottom: $border-width $border-style var(--borderColor-muted, var(--color-border-muted)); @include clearfix(); } // // Remove most spacing between table cells. // table { border-spacing: 0; border-collapse: collapse; } td, th { padding: 0; } button { cursor: pointer; // Remove border radius added by Chrome macOS border-radius: 0; } // increase the selector specificity for [hidden] // so that it always overrides utility classes (.d-block, etc.) [hidden][hidden] { display: none !important; } details { summary { cursor: pointer; } &:not([open]) { // Set details content hidden by default for browsers that don't do this > *:not(summary) { display: none !important; } } } // global focus styles a, button, [role='button'], input[type='radio'], input[type='checkbox'] { // fallback :focus state &:focus { @include focusOutline; // remove fallback :focus if :focus-visible is supported &:not(:focus-visible) { outline: solid 1px transparent; } } // default focus state &:focus-visible { @include focusOutline; } } a:not([class]), input[type='radio'], input[type='checkbox'] { &:focus, &:focus-visible { outline-offset: 0; } } // for handling focus conditionally .focus { @include focusBoxShadowInset; } // Windows High Contrast mode @media (forced-colors: active) { *:focus, *:focus-visible { outline: solid 1px transparent; } input:not([type='radio'], [type='checkbox']), textarea, select { &:focus, &:focus-visible { outline-offset: 2px; } } }