// Reboot // // Normalization of HTML elements, manually forked from Normalize.css to remove // styles targeting irrelevant browsers while applying new styles. // // Normalize is licensed MIT. https://github.com/necolas/normalize.css // Document // // 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`. // 2. Change the default font family in all browsers. // 3. Correct the line height in all browsers. // 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS. // 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so // we force a non-overlapping, non-auto-hiding scrollbar to counteract. // 6. Change the default tap highlight to be completely transparent in iOS. *, *::before, *::after { box-sizing: border-box; // 1 } html { -webkit-text-size-adjust: 100%; // 4 -ms-text-size-adjust: 100%; // 4 -ms-overflow-style: scrollbar; // 5 -webkit-tap-highlight-color: rgba(0,0,0,0); // 6 } // IE10+ doesn't honor `` in some cases. @at-root { @-ms-viewport { width: device-width; } } // Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers) article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { display: block; } // Suppress the focus outline on elements that cannot be accessed via keyboard. // This prevents an unwanted focus outline from appearing around elements that // might still respond to pointer events. // // Credit: https://github.com/suitcss/base [tabindex="-1"]:focus { outline: none !important; } // Abbreviations // // 1. Remove the bottom border in Firefox 39-. // 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. // 3. Add explicit cursor to indicate changed behavior. // 4. Duplicate behavior to the data-* attribute for our tooltip plugin abbr[title], abbr[data-original-title] { // 4 text-decoration: underline; // 2 text-decoration: underline dotted; // 2 cursor: help; // 3 border-bottom: 0; // 1 } address { margin-bottom: 1rem; font-style: normal; line-height: inherit; } // // Images and content // img { vertical-align: middle; border-style: none; // Remove the border on images inside links in IE 10-. } svg:not(:root) { overflow: hidden; // Hide the overflow in IE } // Avoid 300ms click delay on touch devices that support the `touch-action` CSS property. // // In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11 // DON'T remove the click delay when `` is present. // However, they DO support removing the click delay via `touch-action: manipulation`. // See: // * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch // * http://caniuse.com/#feat=css-touch-action // * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay a, area, button, [role="button"], input:not([type=range]), label, select, summary, textarea { touch-action: manipulation; } // // Figures // figure { // Apply a consistent margin strategy (matches our type styles). margin: 0 0 1rem; } // // Forms // label { // Allow labels to use `margin` for spacing. display: inline-block; margin-bottom: .25rem; } // Work around a Firefox/IE bug where the transparent `button` background // results in a loss of the default `button` focus styles. // // Credit: https://github.com/suitcss/base/ button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; } input, button, select, optgroup, textarea { margin: 0; // Remove the margin in Firefox and Safari font-family: inherit; font-size: inherit; line-height: inherit; } button, input { overflow: visible; // Show the overflow in Edge } button, select { text-transform: none; // Remove the inheritance of text transform in Firefox } // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` // controls in Android 4. // 2. Correct the inability to style clickable types in iOS and Safari. button, html [type="button"], // 1 [type="reset"], [type="submit"] { -webkit-appearance: button; // 2 } // Remove inner border and padding from Firefox, but don't restore the outline like Normalize. button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { padding: 0; border-style: none; } input[type="radio"], input[type="checkbox"] { box-sizing: border-box; // 1. Add the correct box sizing in IE 10- padding: 0; // 2. Remove the padding in IE 10- } input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { // Remove the default appearance of temporal inputs to avoid a Mobile Safari // bug where setting a custom line-height prevents text from being vertically // centered within the input. // See https://bugs.webkit.org/show_bug.cgi?id=139848 // and https://github.com/twbs/bootstrap/issues/11266 -webkit-appearance: listbox; } textarea { overflow: auto; // Remove the default vertical scrollbar in IE. // Textareas should really only resize vertically so they don't break their (horizontal) containers. resize: vertical; } fieldset { // Browsers set a default `min-width: min-content;` on fieldsets, // unlike e.g. `