/// Loads normalize.css.
/// @access private
@mixin -zf-normalize {
- /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+ /*! normalize.css v4.2.0 | MIT License | github.com/necolas/normalize.css */
/**
- * 1. Set default font family to sans-serif.
- * 2. Prevent iOS and IE text size adjust after device orientation change,
- * without disabling user zoom.
+ * 1. Change the default font family in all browsers (opinionated).
+ * 2. Correct the line height in all browsers.
+ * 3. Prevent adjustments of font size after orientation changes in IE and iOS.
*/
+ /* Document
+ ========================================================================== */
+
html {
font-family: sans-serif; /* 1 */
- -ms-text-size-adjust: 100%; /* 2 */
- -webkit-text-size-adjust: 100%; /* 2 */
+ line-height: 1.15; /* 2 */
+ -ms-text-size-adjust: 100%; /* 3 */
+ -webkit-text-size-adjust: 100%; /* 3 */
}
+ /* Sections
+ ========================================================================== */
+
/**
- * Remove default margin.
+ * Remove the margin in all browsers (opinionated).
*/
body {
margin: 0;
}
- /* HTML5 display definitions
- ========================================================================== */
-
/**
- * Correct `block` display not defined for any HTML5 element in IE 8/9.
- * Correct `block` display not defined for `details` or `summary` in IE 10/11
- * and Firefox.
- * Correct `block` display not defined for `main` in IE 11.
+ * Add the correct display in IE 9-.
*/
article,
aside,
- details,
- figcaption,
- figure,
footer,
header,
- hgroup,
- main,
- menu,
nav,
- section,
- summary {
+ section {
display: block;
}
/**
- * 1. Correct `inline-block` display not defined in IE 8/9.
- * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
*/
- audio,
- canvas,
- progress,
- video {
- display: inline-block; /* 1 */
- vertical-align: baseline; /* 2 */
+ h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
}
+ /* Grouping content
+ ========================================================================== */
+
/**
- * Prevent modern browsers from displaying `audio` without controls.
- * Remove excess height in iOS 5 devices.
+ * Add the correct display in IE 9-.
+ * 1. Add the correct display in IE.
*/
- audio:not([controls]) {
- display: none;
- height: 0;
+ figcaption,
+ figure,
+ main { /* 1 */
+ display: block;
}
/**
- * Address `[hidden]` styling not present in IE 8/9/10.
- * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
+ * Add the correct margin in IE 8.
*/
- [hidden],
- template {
- display: none;
+ figure {
+ margin: 1em 40px;
}
- /* Links
+ /**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+
+ hr {
+ box-sizing: content-box; /* 1 */
+ height: 0; /* 1 */
+ overflow: visible; /* 2 */
+ }
+
+ /**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+ pre {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+ }
+
+ /* Text-level semantics
========================================================================== */
/**
- * Remove the gray background color from active links in IE 10.
+ * 1. Remove the gray background on active links in IE 10.
+ * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
*/
a {
- background-color: transparent;
+ background-color: transparent; /* 1 */
+ -webkit-text-decoration-skip: objects; /* 2 */
}
/**
- * Improve readability of focused elements when they are also in an
- * active/hover state.
+ * Remove the outline on focused links when they are also active or hovered
+ * in all browsers (opinionated).
*/
a:active,
a:hover {
- outline: 0;
+ outline-width: 0;
}
- /* Text-level semantics
- ========================================================================== */
-
/**
- * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ * 1. Remove the bottom border in Firefox 39-.
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
- border-bottom: 1px dotted;
+ border-bottom: none; /* 1 */
+ text-decoration: underline; /* 2 */
+ text-decoration: underline dotted; /* 2 */
}
/**
- * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
*/
b,
strong {
- font-weight: bold;
+ font-weight: inherit;
}
/**
- * Address styling not present in Safari and Chrome.
+ * Add the correct font weight in Chrome, Edge, and Safari.
*/
- dfn {
- font-style: italic;
+ b,
+ strong {
+ font-weight: bolder;
}
/**
- * Address variable `h1` font-size and margin within `section` and `article`
- * contexts in Firefox 4+, Safari, and Chrome.
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
*/
- h1 {
- font-size: 2em;
- margin: 0.67em 0;
+ code,
+ kbd,
+ samp {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
}
/**
- * Address styling not present in IE 8/9.
+ * Add the correct font style in Android 4.3-.
+ */
+
+ dfn {
+ font-style: italic;
+ }
+
+ /**
+ * Add the correct background and color in IE 9-.
*/
mark {
- background: #ff0;
+ background-color: #ff0;
color: #000;
}
/**
- * Address inconsistent and variable font size in all browsers.
+ * Add the correct font size in all browsers.
*/
small {
}
/**
- * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
*/
sub,
vertical-align: baseline;
}
- sup {
- top: -0.5em;
- }
-
sub {
bottom: -0.25em;
}
+ sup {
+ top: -0.5em;
+ }
+
/* Embedded content
========================================================================== */
/**
- * Remove border when inside `a` element in IE 8/9/10.
+ * Add the correct display in IE 9-.
+ */
+
+ audio,
+ video {
+ display: inline-block;
+ }
+
+ /**
+ * Add the correct display in iOS 4-7.
+ */
+
+ audio:not([controls]) {
+ display: none;
+ height: 0;
+ }
+
+ /**
+ * Remove the border on images inside links in IE 10-.
*/
img {
- border: 0;
+ border-style: none;
}
/**
- * Correct overflow not hidden in IE 9/10/11.
+ * Hide the overflow in IE.
*/
svg:not(:root) {
overflow: hidden;
}
- /* Grouping content
+ /* Forms
========================================================================== */
/**
- * Address margin not present in IE 8/9 and Safari.
+ * 1. Change font properties to `inherit` in all browsers (opinionated).
+ * 2. Remove the margin in Firefox and Safari.
*/
- figure {
- margin: 1em 40px;
+ button,
+ input,
+ optgroup,
+ select,
+ textarea {
+ font: inherit; /* 1 */
+ margin: 0; /* 2 */
}
/**
- * Address differences between Firefox and other browsers.
+ * Restore the font weight unset by the previous rule.
*/
- hr {
- box-sizing: content-box;
- height: 0;
+ optgroup {
+ font-weight: bold;
}
/**
- * Contain overflow in all browsers.
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
*/
- pre {
- overflow: auto;
+ button,
+ input { /* 1 */
+ overflow: visible;
}
/**
- * Address odd `em`-unit font size rendering in all browsers.
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
*/
- code,
- kbd,
- pre,
- samp {
- font-family: monospace, monospace;
- font-size: 1em;
+ button,
+ select { /* 1 */
+ text-transform: none;
}
- /* Forms
- ========================================================================== */
-
/**
- * Known limitation: by default, Chrome and Safari on OS X allow very limited
- * styling of `select`, unless a `border` property is set.
- */
-
- /**
- * 1. Correct color not being inherited.
- * Known issue: affects color of disabled elements.
- * 2. Correct font properties not being inherited.
- * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ * 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,
- input,
- optgroup,
- select,
- textarea {
- color: inherit; /* 1 */
- font: inherit; /* 2 */
- margin: 0; /* 3 */
+ html [type="button"], /* 1 */
+ [type="reset"],
+ [type="submit"] {
+ -webkit-appearance: button; /* 2 */
}
/**
- * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ * Remove the inner border and padding in Firefox.
*/
- button {
- overflow: visible;
+ button::-moz-focus-inner,
+ [type="button"]::-moz-focus-inner,
+ [type="reset"]::-moz-focus-inner,
+ [type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0;
}
/**
- * Address inconsistent `text-transform` inheritance for `button` and `select`.
- * All other form control elements do not inherit `text-transform` values.
- * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
- * Correct `select` style inheritance in Firefox.
+ * Restore the focus styles unset by the previous rule.
*/
- button,
- select {
- text-transform: none;
+ button:-moz-focusring,
+ [type="button"]:-moz-focusring,
+ [type="reset"]:-moz-focusring,
+ [type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText;
}
/**
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
- * and `video` controls.
- * 2. Correct inability to style clickable `input` types in iOS.
- * 3. Improve usability and consistency of cursor style between image-type
- * `input` and others.
+ * Change the border, margin, and padding in all browsers (opinionated).
*/
- button,
- html input[type="button"], /* 1 */
- input[type="reset"],
- input[type="submit"] {
- -webkit-appearance: button; /* 2 */
- cursor: pointer; /* 3 */
+ fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
}
/**
- * Re-set default cursor for disabled elements.
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ * `fieldset` elements in all browsers.
*/
- button[disabled],
- html input[disabled] {
- cursor: not-allowed;
+ legend {
+ box-sizing: border-box; /* 1 */
+ color: inherit; /* 2 */
+ display: table; /* 1 */
+ max-width: 100%; /* 1 */
+ padding: 0; /* 3 */
+ white-space: normal; /* 1 */
}
/**
- * Remove inner padding and border in Firefox 4+.
+ * 1. Add the correct display in IE 9-.
+ * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
- button::-moz-focus-inner,
- input::-moz-focus-inner {
- border: 0;
- padding: 0;
+ progress {
+ display: inline-block; /* 1 */
+ vertical-align: baseline; /* 2 */
}
/**
- * Address Firefox 4+ setting `line-height` on `input` using `!important` in
- * the UA stylesheet.
+ * Remove the default vertical scrollbar in IE.
*/
- input {
- line-height: normal;
+ textarea {
+ overflow: auto;
}
/**
- * It's recommended that you don't attempt to style these elements.
- * Firefox's implementation doesn't respect box-sizing, padding, or width.
- *
- * 1. Address box sizing set to `content-box` in IE 8/9/10.
- * 2. Remove excess padding in IE 8/9/10.
+ * 1. Add the correct box sizing in IE 10-.
+ * 2. Remove the padding in IE 10-.
*/
- input[type="checkbox"],
- input[type="radio"] {
+ [type="checkbox"],
+ [type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
- * Fix the cursor style for Chrome's increment/decrement buttons. For certain
- * `font-size` values of the `input`, it causes the cursor style of the
- * decrement button to change from `default` to `text`.
+ * Correct the cursor style of increment and decrement buttons in Chrome.
*/
- input[type="number"]::-webkit-inner-spin-button,
- input[type="number"]::-webkit-outer-spin-button {
+ [type="number"]::-webkit-inner-spin-button,
+ [type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
- * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
- * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
*/
- input[type="search"] {
+ [type="search"] {
-webkit-appearance: textfield; /* 1 */
- box-sizing: content-box; /* 2 */
+ outline-offset: -2px; /* 2 */
}
/**
- * Remove inner padding and search cancel button in Safari and Chrome on OS X.
- * Safari (but not Chrome) clips the cancel button when the search input has
- * padding (and `textfield` appearance).
+ * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
*/
- input[type="search"]::-webkit-search-cancel-button,
- input[type="search"]::-webkit-search-decoration {
+ [type="search"]::-webkit-search-cancel-button,
+ [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
- * Define consistent border, margin, and padding.
- * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
*/
- /* fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
- } */
+ ::-webkit-file-upload-button {
+ -webkit-appearance: button; /* 1 */
+ font: inherit; /* 2 */
+ }
- /**
- * 1. Correct `color` not being inherited in IE 8/9/10/11.
- * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ /* Interactive
+ ========================================================================== */
+
+ /*
+ * Add the correct display in IE 9-.
+ * 1. Add the correct display in Edge, IE, and Firefox.
*/
- legend {
- border: 0; /* 1 */
- padding: 0; /* 2 */
+ details, /* 1 */
+ menu {
+ display: block;
}
+ /*
+ * Add the correct display in all browsers.
+ */
+
+ summary {
+ display: list-item;
+ }
+
+ /* Scripting
+ ========================================================================== */
+
/**
- * Remove default vertical scrollbar in IE 8/9/10/11.
+ * Add the correct display in IE 9-.
*/
- textarea {
- overflow: auto;
+ canvas {
+ display: inline-block;
}
/**
- * Don't inherit the `font-weight` (applied by a rule above).
- * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ * Add the correct display in IE.
*/
- optgroup {
- font-weight: bold;
+ template {
+ display: none;
}
- /* Tables
+ /* Hidden
========================================================================== */
/**
- * Remove most spacing between table cells.
+ * Add the correct display in IE 10-.
*/
- table {
- border-collapse: collapse;
- border-spacing: 0;
- }
-
- td,
- th {
- padding: 0;
+ [hidden] {
+ display: none;
}
}