` around any HTML as the quote. For straight
-// quotes, we recommend a ``.
-//
-// Optionally, add a `` to identify the source of the quote, wrapping
-// the name of the source work in ``.
-
-blockquote {
- // Set 1 unit of vertical rhythm on the top and bottom margin.
- // Also indent the quote on both sides.
- @include margin(1 $indent-amount);
-}
-
-// Lists
-//
-// Style guide: base.grouping.lists
-
-// Unordered list
-//
-// The `` element is a list of items in which the order does not
-// explicitly matter.
-
-// Ordered list
-//
-// The `` element is a list of items in which the order does
-// explicitly matter.
-
-// Description list
-//
-// The `` element is a list of terms with their associated descriptions.
-
-dl,
-ol,
-ul {
- // Add vertical rhythm margins.
- @include margin(1 0);
-}
-
-dt {
- // Add your styles.
-}
-
-dd {
- margin: 0 0 0 $indent-amount;
-
- @include rtl {
- margin: 0 $indent-amount 0 0;
- }
-}
-
-ol,
-ul {
- padding: 0 0 0 $indent-amount;
-
- @include rtl {
- padding: 0 $indent-amount 0 0;
- }
-
- // Turn off margins on nested lists.
- ol,
- ul {
- margin: 0;
- }
-}
-
-// Figures
-//
-// The `` element can be used to annotate illustrations, diagrams,
-// photos, code listings, etc.
-//
-// Optionally, a `` element inside the `` represents the
-// caption of the figure.
-
-figure {
- // Add vertical rhythm margins.
- @include margin(1 0);
-}
-
-figcaption {
- // Add your styles.
-}
-
-// Horizontal rule
-//
-// The ` ` element represents a paragraph-level thematic break, e.g. a scene
-// change in a story, or a transition to another topic within a section of a
-// reference book.
-
-hr {
- @extend %divider;
- // Add the correct box sizing in Firefox.
- box-sizing: content-box;
- height: 0;
- // Show the overflow in Edge and IE.
- overflow: visible;
-}
-
-// Main
-//
-// The `` element represents the main content of the page.
-
-main {
- // Add your styles.
-}
-
-// Body copy
-//
-// The default `font-size` and `line-height` properties are applied to the
-// `` element and all paragraphs. In addition, `` (paragraphs) receive
-// a top and bottom margin.
-
-p,
-pre {
- @include margin(.75 0);
-}
-
-// Preformatted text
-//
-// The `
` element represents a block of preformatted text, such as
-// fragments of computer code, ASCII art, etc.
-
-%monospace {
- // Correct the inheritance and scaling of font size in all browsers.
- // The font-family value ends with ", serif".
- @include typeface(monospace);
- // Correct the odd `em` font sizing in all browsers.
- font-size: 1em;
-}
-
-pre {
- @extend %monospace;
-}
diff --git a/assets/sass/base/scripting/_scripting.scss b/assets/sass/base/scripting/_scripting.scss
deleted file mode 100644
index a97c2ed..0000000
--- a/assets/sass/base/scripting/_scripting.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-// Scripting
-
-// Canvas
-
-canvas {
- // Add your styles.
-}
-
-// Template
-
-template {
- // Add your styles.
-}
diff --git a/assets/sass/base/text/_text.scss b/assets/sass/base/text/_text.scss
deleted file mode 100644
index 78c4d0e..0000000
--- a/assets/sass/base/text/_text.scss
+++ /dev/null
@@ -1,165 +0,0 @@
-// Text-level semantics
-//
-// The elements in this section give semantics to inline text.
-
-// Abbreviation / Acroynym
-//
-// The `` element makes the meanings of abbreviations and acronyms visible
-// on hover.
-
-abbr[title] {
- // Remove the bottom border in Chrome 57- and Firefox 39-.
- border-bottom: 0;
- // stylelint-disable no-duplicate-properties
- // Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
- text-decoration: underline;
- text-decoration: underline dotted;
-}
-
-// Bold
-//
-// The `` element or the `` element is for emphasizing a snippet of
-// text with a heavier font-weight.
-//
-// Feel free to use `` in HTML5. `` is meant to highlight words or phrases
-// without conveying additional importance.
-
-// Prevent the duplicate application of `bolder` by the next rule in Safari 6.
-
-b,
-strong {
- font-weight: inherit;
-}
-
-// stylelint-disable no-mergeable-selectors
-b,
-strong {
- // Add the correct font weight in Chrome, Edge, and Safari.
- font-weight: bolder;
-}
-// sass-lint:enable no-mergeable-selectors
-
-// Cite
-//
-// The `` element represents a reference to a creative work.
-
-cite {
- // Add your styles.
-}
-
-// Code
-//
-// The `` element represents a fragment of computer code. The ``
-// element represents (sample) output from a program or computing system. The
-// `` element represents user input (typically keyboard input.)
-
-code,
-kbd,
-samp {
- @extend %monospace;
-}
-
-// Deleted text
-//
-// The `` element indicates blocks of text that have been deleted.
-
-del {
- // Add your styles.
-}
-
-// Definition
-//
-// The `` element represents the defining instance of a term.
-
-dfn {
- // Add your styles.
-}
-
-// Italics
-//
-// The `` element or the `` element is used for emphasizing a snippet of
-// text with italics.
-//
-// Feel free to use `` element in HTML5. `` is meant to convey voice,
-// technical terms, etc.
-
-i,
-em {
- // Add your styles.
-}
-
-// Inserted text
-//
-// The `` element indicates additions to the document.
-
-ins {
- // Add your styles.
-}
-
-// Marked text
-//
-// The `` element highlights a run of text due to its relevance in another
-// context.
-
-mark {
- // Add your styles.
-}
-
-// Quote
-//
-// The `` element represents an inline quote from another source. Longer
-// quotes should use the `` element.
-
-q {
- // Add your styles.
-}
-
-// Strikethrough text
-//
-// The `` element indicates blocks of text that are no longer relevant.
-
-s {
- // Add your styles.
-}
-
-// Small text
-//
-// For de-emphasizing inline or blocks of text, use the `` element to set
-// text at 80% the size of the parent.
-
-small {
- // Add the correct font size in all browsers.
- @include font-size(s);
-}
-
-// Superscript / Subscript
-//
-// The `` element represents a superscript and the `` element
-// represents a subscript.
-
-sub,
-sup {
- // Prevent `sub` and `sup` elements from affecting the line height in
- // all browsers.
- @include font-size(xs);
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sub {
- bottom: -.25em;
-}
-
-sup {
- top: -.5em;
-}
-
-// Underlined text
-//
-// To underline text use the `` element. Not recommended since underlines are
-// used by web browsers to style hyperlinks.
-
-u {
- // Add your styles.
-}
diff --git a/assets/sass/components/box/box.json b/assets/sass/components/box/box.json
deleted file mode 100644
index 55e9862..0000000
--- a/assets/sass/components/box/box.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "title": "Box title",
- "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
-}
diff --git a/assets/sass/components/button/_button.scss b/assets/sass/components/button/_button.scss
index 7db215c..235187c 100644
--- a/assets/sass/components/button/_button.scss
+++ b/assets/sass/components/button/_button.scss
@@ -14,60 +14,29 @@ button,
[type='button'],
[type='reset'],
[type='submit'] {
- // stylelint-disable color-no-hex, color-named
@extend %button--disabled;
@include typeface(headings);
@include margin-right(.75);
@include margin-bottom(.75);
// Some styles don't apply to links since they are inline elements by default.
display: inline-block;
- padding: 2px 10px;
- // Address Firefox 4+ setting `line-height` on `input` using `!important` in
- // the UA stylesheet. And prevent its "line-height: normal" rule below from
- // breaking the "appearance: button" styling on the input elements.
- line-height: inherit;
+ padding: 4px 10px;
text-decoration: none;
+ text-align: center;
// Improve usability and consistency of cursor style between image-type `input` and others.
cursor: pointer;
- color: var(--color-button);
- text-align: center;
- background-image: linear-gradient(#f6f6f6, #e2e2e2);
- border: 1px solid #e4e4e4;
- border-left-color: #d2d2d2;
- border-right-color: #d2d2d2;
- border-bottom-color: #b4b4b4;
+ color: var(--color-button-text);
+ background-color: var(--color-button);
+ border: 0;
border-radius: 2px;
- // stylelint-disable property-no-vendor-prefix
- // Correct the inability to style clickable types in iOS and Safari.
- -moz-appearance: button;
- -webkit-appearance: button;
-
- // Remove the inner border and padding in Firefox.
- &::-moz-focus-inner {
- border-style: none;
- padding: 0;
- }
-
- // Restore the focus styles unset by the previous rule.
- &:-moz-focusring {
- outline: 1px dotted ButtonText;
- }
- // sass-lint:enable property-no-vendor-prefix
-
&:hover,
&:focus,
&:active {
// Override any link underlines and color changes.
text-decoration: none;
color: var(--color-button);
- }
-
- &:active {
- border-color: #555;
- text-shadow: var(--color-button 0 -1px 0) 0 -1px 0;
- background: var(--color-grey-dark);
- color: var(--color-text-bg);
+ background-color: var(--color-button-text);
}
}
@@ -78,11 +47,20 @@ button,
@include type-layout(xs, 1);
@include margin-right(.3);
@include margin-bottom(.3);
- padding: 0 6px;
+ padding: 2px 6px;
}
- &--variant-name {
- // Add styles here.
+ &--outline {
+ color: var(--color-button);
+ background-color: var(--color-button-text);
+ border: 1px solid var(--color-button);
+
+ &:hover,
+ &:focus,
+ &:active {
+ color: var(--color-button-text);
+ background-color: var(--color-button);
+ }
}
}
diff --git a/assets/sass/components/divider/divider.json b/assets/sass/components/divider/divider.json
deleted file mode 100644
index 91e6347..0000000
--- a/assets/sass/components/divider/divider.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
-}
diff --git a/assets/sass/components/monospace/_monospace.scss b/assets/sass/components/monospace/_monospace.scss
new file mode 100644
index 0000000..8118ef2
--- /dev/null
+++ b/assets/sass/components/monospace/_monospace.scss
@@ -0,0 +1,10 @@
+// Monospace
+
+.monospace,
+%monospace {
+ // Correct the inheritance and scaling of font size in all browsers.
+ // The font-family value ends with ", serif".
+ @include typeface(monospace);
+ // Correct the odd `em` font sizing in all browsers.
+ font-size: 1em;
+}
diff --git a/assets/sass/components/visually-hidden/visually-hidden.json b/assets/sass/components/visually-hidden/visually-hidden.json
deleted file mode 100644
index fae1ce1..0000000
--- a/assets/sass/components/visually-hidden/visually-hidden.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "content": "This text will be read by screen readers, but will be visually hidden."
-}
diff --git a/assets/sass/components/watermark/_watermark.scss b/assets/sass/components/watermark/_watermark.scss
index b992966..7509907 100644
--- a/assets/sass/components/watermark/_watermark.scss
+++ b/assets/sass/components/watermark/_watermark.scss
@@ -8,7 +8,6 @@
display: block;
height: 0;
overflow: visible;
- // Remove background highlighting from in normalize.
background-color: transparent;
color: var(--color-watermark);
font-size: 75px;
diff --git a/assets/sass/components/watermark/watermark.json b/assets/sass/components/watermark/watermark.json
deleted file mode 100644
index 6a49983..0000000
--- a/assets/sass/components/watermark/watermark.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "content": "Unpublished",
- "sibling": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-}
diff --git a/assets/sass/components/wireframe/wireframe.json b/assets/sass/components/wireframe/wireframe.json
deleted file mode 100644
index 4424215..0000000
--- a/assets/sass/components/wireframe/wireframe.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "content": "An item inside a wireframe."
-}
diff --git a/assets/sass/reset/_reset.scss b/assets/sass/reset/_reset.scss
new file mode 100644
index 0000000..5936a55
--- /dev/null
+++ b/assets/sass/reset/_reset.scss
@@ -0,0 +1,12 @@
+// Reset browsers to some sane defaults.
+
+// Broken into modular pieces to make it easier to edit.
+@import 'document/document';
+@import 'embedded/embedded';
+@import 'forms/forms';
+@import 'grouping/grouping';
+@import 'interactive/interactive';
+@import 'links/links';
+@import 'sections/sections';
+@import 'tables/tables';
+@import 'text/text';
diff --git a/assets/sass/base/document/_document.scss b/assets/sass/reset/document/_document.scss
similarity index 74%
rename from assets/sass/base/document/_document.scss
rename to assets/sass/reset/document/_document.scss
index 032bf3e..07cf3a7 100644
--- a/assets/sass/base/document/_document.scss
+++ b/assets/sass/reset/document/_document.scss
@@ -1,18 +1,16 @@
// stylelint-disable property-no-vendor-prefix
+
// Document
-//
-// The default font styles are inherited from the `` element.
html {
// Change the default font family in all browsers (opinionated).
@include typeface(body);
// Correct the line height in all browsers.
@include define-type-sizing();
- // Prevent adjustments of font size after orientation changes in IE on Windows
- // Phone and in iOS.
- -ms-text-size-adjust: 100%;
- -webkit-text-size-adjust: 100%;
+ // Prevent adjustments of font size.
+ -webkit-text-size-adjust: none;
+ text-size-adjust: none;
// On short pages, we want any background gradients to fill the entire height
// of the browser.
min-height: 100%;
@@ -20,16 +18,18 @@ html {
box-sizing: border-box;
// Use smooth scrolling.
scroll-behavior: smooth;
+ // Improve text rendering.
+ -webkit-font-smoothing: antialiased;
@include respond-to(xxl) {
@include define-type-sizing($base-font-size-2, $base-line-height-2);
}
}
+
// Use the saner border-box model for all elements.
*,
*::before,
*::after {
box-sizing: inherit;
}
-
diff --git a/assets/sass/reset/embedded/_embedded.scss b/assets/sass/reset/embedded/_embedded.scss
new file mode 100644
index 0000000..4e096fb
--- /dev/null
+++ b/assets/sass/reset/embedded/_embedded.scss
@@ -0,0 +1,15 @@
+// Embedded content
+
+img,
+picture,
+video,
+canvas,
+svg {
+ display: block;
+ max-width: 100%;
+}
+
+img,
+svg {
+ height: auto;
+}
diff --git a/assets/sass/reset/forms/_forms.scss b/assets/sass/reset/forms/_forms.scss
new file mode 100644
index 0000000..706afc5
--- /dev/null
+++ b/assets/sass/reset/forms/_forms.scss
@@ -0,0 +1,25 @@
+// Form defaults.
+
+input,
+button,
+textarea,
+select {
+ font: inherit;
+ max-width: 100%;
+}
+
+label {
+ display: block;
+ font-weight: bold;
+}
+
+fieldset {
+ border: 1px solid var(--color-border);
+}
+
+[type='search'] {
+ // Correct the odd appearance in Chrome and Safari.
+ -webkit-appearance: textfield;
+ // Correct the outline style in Safari.
+ outline-offset: -2px;
+}
diff --git a/assets/sass/reset/grouping/_grouping.scss b/assets/sass/reset/grouping/_grouping.scss
new file mode 100644
index 0000000..90fd827
--- /dev/null
+++ b/assets/sass/reset/grouping/_grouping.scss
@@ -0,0 +1,78 @@
+// Grouping content
+
+
+// Block quotes
+//
+// The `` element is for quoting blocks of content from another
+// source within your document. Wrap the `` around any HTML as the quote. For straight
+// quotes, we recommend a ``.
+//
+// Optionally, add a `` to identify the source of the quote, wrapping
+// the name of the source work in ``.
+
+blockquote {
+ // Add vertical rhythm margins.
+ // Also indent the quote on both sides.
+ @include margin(1 $indent-amount);
+}
+
+// Lists
+
+dl,
+ol,
+ul {
+ // Add vertical rhythm margins.
+ @include margin(1 0);
+}
+
+dd {
+ margin: 0 0 0 $indent-amount;
+
+ @include rtl {
+ margin: 0 $indent-amount 0 0;
+ }
+}
+
+ol,
+ul {
+ padding: 0 0 0 $indent-amount;
+
+ @include rtl {
+ padding: 0 $indent-amount 0 0;
+ }
+
+ // Turn off margins on nested lists.
+ ol,
+ ul {
+ margin: 0;
+ }
+}
+
+// Figures
+
+figure {
+ // Add vertical rhythm margins.
+ @include margin(1 0);
+}
+
+// Horizontal rule
+
+hr {
+ @extend %divider;
+ height: 0;
+}
+
+
+// Paragraphs
+
+p,
+pre {
+ @include margin(.75 0);
+}
+
+// Preformatted text
+
+pre {
+ @extend %monospace;
+}
diff --git a/assets/sass/base/interactive/_interactive.scss b/assets/sass/reset/interactive/_interactive.scss
similarity index 66%
rename from assets/sass/base/interactive/_interactive.scss
rename to assets/sass/reset/interactive/_interactive.scss
index 541c505..f8e019c 100644
--- a/assets/sass/base/interactive/_interactive.scss
+++ b/assets/sass/reset/interactive/_interactive.scss
@@ -1,17 +1,5 @@
// Interactive
-// Details
-
-details {
- // Add the correct display in Edge, IE, and Firefox.
- display: block;
-}
-
-summary {
- // Add the correct display in all browsers.
- display: list-item;
-}
-
// Menu
menu {
diff --git a/assets/sass/base/links/_links.scss b/assets/sass/reset/links/_links.scss
similarity index 85%
rename from assets/sass/base/links/_links.scss
rename to assets/sass/reset/links/_links.scss
index 5e27b52..315e3e3 100644
--- a/assets/sass/base/links/_links.scss
+++ b/assets/sass/reset/links/_links.scss
@@ -14,9 +14,6 @@
a,
%link {
color: var(--color-link);
- // stylelint-disable property-no-vendor-prefix
- // Remove gaps in links underline in iOS 8+ and Safari 8+.
- -webkit-text-decoration-skip: objects;
}
// Any element can receive focus, but only links can be visited, so we can
diff --git a/assets/sass/base/sections/_sections.scss b/assets/sass/reset/sections/_sections.scss
similarity index 100%
rename from assets/sass/base/sections/_sections.scss
rename to assets/sass/reset/sections/_sections.scss
diff --git a/assets/sass/base/tables/_tables.scss b/assets/sass/reset/tables/_tables.scss
similarity index 100%
rename from assets/sass/base/tables/_tables.scss
rename to assets/sass/reset/tables/_tables.scss
diff --git a/assets/sass/reset/text/_text.scss b/assets/sass/reset/text/_text.scss
new file mode 100644
index 0000000..b6b0102
--- /dev/null
+++ b/assets/sass/reset/text/_text.scss
@@ -0,0 +1,38 @@
+// Text-level semantics
+//
+// The elements in this section give semantics to inline text.
+
+// Code
+
+code,
+kbd,
+samp {
+ @extend %monospace;
+}
+
+// Small text
+
+small {
+ // Add the correct font size in all browsers.
+ @include font-size(s);
+}
+
+// Superscript / Subscript
+
+sub,
+sup {
+ // Prevent `sub` and `sup` elements from affecting the line height in
+ // all browsers.
+ @include font-size(xs);
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -.25em;
+}
+
+sup {
+ top: -.5em;
+}
diff --git a/assets/sass/styles.scss b/assets/sass/styles.scss
index 326503f..b8abd9f 100644
--- a/assets/sass/styles.scss
+++ b/assets/sass/styles.scss
@@ -1,12 +1,8 @@
//
// The major stylesheet for this theme.
//
-// We categorize our components by creating headings in this file. See the
-// description on the style guide home page for more information.
// Colors and Sass
-//
-// Documentation for colors and Sass mixins and variables.
@import 'init';
@@ -14,19 +10,11 @@
@import 'fonts';
-// Defaults
-//
-// These are the default base styles applied to HTML elements.
-//
-// Component classes can override these styles, but if no class applies a style
-// to an HTML element, these styles will be the ones displayed.
+// Reset browsers to some sane defaults.
-@import 'base/normalize';
+@import 'reset/reset';
// Layouts
-//
-// The layout styling for major parts of the page that are included with the
-// theme.
@import 'layouts/layouts';
@@ -36,8 +24,10 @@
// class names specified in the component.
@import 'components/box/box';
+@import 'components/button/button';
@import 'components/clearfix/clearfix';
@import 'components/cookieconsent/cookieconsent';
+@import 'components/divider/divider';
@import 'components/header/header';
@import 'components/hidden/hidden';
@import 'components/highlight-mark/highlight-mark';
@@ -47,22 +37,22 @@
@import 'components/language-selector/language-selector';
@import 'components/list-straight-left/list-straight-left';
@import 'components/messages/messages';
+@import 'components/monospace/monospace';
@import 'components/responsive-video/responsive-video';
@import 'components/visually-hidden/visually-hidden';
@import 'components/watermark/watermark';
@import 'components/wireframe/wireframe';
// Navigation
-//
-// Navigation components are specialized design components that are used for
-// page navigation.
@import 'navigation/more-link/more-link';
@import 'navigation/navbar/navbar';
@import 'navigation/pager/pager';
-// zen
+// Zen
+
@import 'zen';
// Custom
+
@import 'custom';