aboutsummaryrefslogtreecommitdiffstats
path: root/demo/src/sass
diff options
context:
space:
mode:
authorSam Potts <sam@potts.es>2018-03-17 23:30:16 +1100
committerSam Potts <sam@potts.es>2018-03-17 23:30:16 +1100
commit600f0eb8a3cf49f5268e5c15487797d496bc19b6 (patch)
treeae7d43ee753035458e5927b66eb588ff26d58afd /demo/src/sass
parente0562752eaa4553466b78fb6828d05147a0891d1 (diff)
parent5db73b13276bf50357cc98896421318de66ab042 (diff)
downloadplyr-600f0eb8a3cf49f5268e5c15487797d496bc19b6.tar.lz
plyr-600f0eb8a3cf49f5268e5c15487797d496bc19b6.tar.xz
plyr-600f0eb8a3cf49f5268e5c15487797d496bc19b6.zip
Merge branch 'beta'
# Conflicts: # readme.md
Diffstat (limited to 'demo/src/sass')
-rw-r--r--demo/src/sass/bundles/demo.scss46
-rw-r--r--demo/src/sass/bundles/error.scss29
-rw-r--r--demo/src/sass/components/buttons.scss83
-rw-r--r--demo/src/sass/components/header.scss19
-rw-r--r--demo/src/sass/components/icons.scss23
-rw-r--r--demo/src/sass/components/links.scss49
-rw-r--r--demo/src/sass/components/lists.scss11
-rw-r--r--demo/src/sass/components/media.scss10
-rw-r--r--demo/src/sass/components/navigation.scss9
-rw-r--r--demo/src/sass/components/players.scss49
-rw-r--r--demo/src/sass/layout/core.scss64
-rw-r--r--demo/src/sass/layout/error.scss30
-rw-r--r--demo/src/sass/layout/grid.scss19
-rw-r--r--demo/src/sass/lib/animation.scss13
-rw-r--r--demo/src/sass/lib/fontface.scss45
-rw-r--r--demo/src/sass/lib/mixins.scss54
-rw-r--r--demo/src/sass/lib/normalize.scss450
-rw-r--r--demo/src/sass/lib/reset.scss11
-rw-r--r--demo/src/sass/settings/breakpoints.scss6
-rw-r--r--demo/src/sass/settings/colors.scss32
-rw-r--r--demo/src/sass/settings/cosmetic.scss12
-rw-r--r--demo/src/sass/settings/icons.scss5
-rw-r--r--demo/src/sass/settings/layout.scss5
-rw-r--r--demo/src/sass/settings/plyr.scss18
-rw-r--r--demo/src/sass/settings/spacing.scss5
-rw-r--r--demo/src/sass/settings/type.scss20
-rw-r--r--demo/src/sass/type/base.scss35
-rw-r--r--demo/src/sass/type/headings.scss10
-rw-r--r--demo/src/sass/utilities/cosmetic.scss7
-rw-r--r--demo/src/sass/utilities/hidden.scss20
30 files changed, 1189 insertions, 0 deletions
diff --git a/demo/src/sass/bundles/demo.scss b/demo/src/sass/bundles/demo.scss
new file mode 100644
index 00000000..2f89b858
--- /dev/null
+++ b/demo/src/sass/bundles/demo.scss
@@ -0,0 +1,46 @@
+// ==========================================================================
+// Plyr.io Demo Page
+// ==========================================================================
+@charset 'UTF-8';
+
+// Settings
+@import '../settings/breakpoints';
+@import '../settings/colors';
+@import '../settings/cosmetic';
+@import '../settings/icons';
+@import '../settings/layout';
+@import '../settings/plyr';
+@import '../settings/spacing';
+@import '../settings/type';
+
+// Libs
+@import '../lib/fontface';
+@import '../lib/animation';
+@import '../lib/mixins';
+@import '../lib/normalize';
+@import '../lib/reset';
+
+// Layout
+@import '../layout/core';
+@import '../layout/grid';
+
+// Type
+@import '../type/base';
+@import '../type/headings';
+
+// Components
+@import '../components/buttons';
+@import '../components/header';
+@import '../components/icons';
+@import '../components/links';
+@import '../components/lists';
+@import '../components/media';
+@import '../components/navigation';
+@import '../components/players';
+
+// Plyr
+@import '../../../../src/sass/plyr';
+
+// Utils
+@import '../utilities/cosmetic';
+@import '../utilities/hidden';
diff --git a/demo/src/sass/bundles/error.scss b/demo/src/sass/bundles/error.scss
new file mode 100644
index 00000000..29c98947
--- /dev/null
+++ b/demo/src/sass/bundles/error.scss
@@ -0,0 +1,29 @@
+// ==========================================================================
+// Plyr.io Error Page
+// ==========================================================================
+@charset 'UTF-8';
+
+// Libs
+@import '../lib/fontface';
+@import '../lib/mixins';
+@import '../lib/normalize';
+@import '../lib/reset';
+
+// Settings
+@import '../settings/colors';
+@import '../settings/cosmetic';
+@import '../settings/icons';
+@import '../settings/layout';
+@import '../settings/spacing';
+@import '../settings/type';
+
+// Layout
+@import '../layout/error';
+
+// Type
+@import '../type/base';
+@import '../type/headings';
+
+// Components
+@import '../components/buttons';
+@import '../components/links';
diff --git a/demo/src/sass/components/buttons.scss b/demo/src/sass/components/buttons.scss
new file mode 100644
index 00000000..1b2d652e
--- /dev/null
+++ b/demo/src/sass/components/buttons.scss
@@ -0,0 +1,83 @@
+// ==========================================================================
+// Buttons
+// ==========================================================================
+
+// Shared
+.button,
+.button__count {
+ align-items: center;
+ background: $color-button-background;
+ border: 0;
+ border-radius: $border-radius-base;
+ box-shadow: 0 1px 1px rgba(#000, 0.1);
+ color: $color-button-text;
+ display: inline-flex;
+ padding: ($spacing-base * 0.75);
+ position: relative;
+ text-shadow: none;
+ user-select: none;
+ vertical-align: middle;
+}
+
+// Buttons
+.button {
+ font-weight: $font-weight-bold;
+ padding-left: $spacing-base;
+ padding-right: $spacing-base;
+ transition: all 0.2s ease;
+
+ &:hover,
+ &:focus {
+ color: $gray-dark;
+
+ // Remove the underline/border
+ &::after {
+ display: none;
+ }
+ }
+
+ &:hover {
+ box-shadow: 0 2px 2px rgba(#000, 0.1);
+ transform: translateY(-1px);
+ }
+
+ &:focus {
+ outline: 0;
+ }
+
+ &.tab-focus {
+ @include tab-focus();
+ }
+
+ &:active {
+ transform: translateY(1px);
+ }
+}
+
+// Button group
+.button--with-count {
+ display: inline-flex;
+
+ .button .icon {
+ flex-shrink: 0;
+ }
+}
+
+// Count bubble
+.button__count {
+ animation: fadein 0.2s ease;
+ margin-left: ($spacing-base / 2);
+
+ &::before {
+ border: $arrow-size solid transparent;
+ border-left-width: 0;
+ border-right-color: $color-button-background;
+ content: '';
+ height: 0;
+ position: absolute;
+ right: 100%;
+ top: 50%;
+ transform: translateY(-50%);
+ width: 0;
+ }
+}
diff --git a/demo/src/sass/components/header.scss b/demo/src/sass/components/header.scss
new file mode 100644
index 00000000..eab2214e
--- /dev/null
+++ b/demo/src/sass/components/header.scss
@@ -0,0 +1,19 @@
+// ==========================================================================
+// Header
+// ==========================================================================
+
+header {
+ padding-bottom: $spacing-base;
+ text-align: center;
+
+ .call-to-action {
+ margin-top: ($spacing-base * 1.5);
+ }
+
+ @media only screen and (min-width: $screen-md) {
+ margin-right: ($spacing-base * 3);
+ max-width: 360px;
+ padding-bottom: ($spacing-base * 2);
+ text-align: left;
+ }
+}
diff --git a/demo/src/sass/components/icons.scss b/demo/src/sass/components/icons.scss
new file mode 100644
index 00000000..b2b353a6
--- /dev/null
+++ b/demo/src/sass/components/icons.scss
@@ -0,0 +1,23 @@
+// ==========================================================================
+// Icons
+// ==========================================================================
+
+// Base size icon styles
+.icon {
+ fill: currentColor;
+ height: $icon-size;
+ vertical-align: -3px;
+ width: $icon-size;
+}
+
+// Within elements
+a svg,
+button svg,
+label svg {
+ pointer-events: none;
+}
+
+a .icon,
+.btn .icon {
+ margin-right: floor($spacing-base / 3);
+}
diff --git a/demo/src/sass/components/links.scss b/demo/src/sass/components/links.scss
new file mode 100644
index 00000000..b2930862
--- /dev/null
+++ b/demo/src/sass/components/links.scss
@@ -0,0 +1,49 @@
+// ==========================================================================
+// Links
+// ==========================================================================
+
+// Make a <button> look like an <a>
+button.faux-link {
+ @extend a; // stylelint-disable-line
+ @include cancel-button-styles();
+}
+
+// Links
+a {
+ border-bottom: 1px dotted currentColor;
+ color: $color-link;
+ font-weight: $font-weight-bold;
+ position: relative;
+ text-decoration: none;
+ transition: all 0.2s ease;
+
+ &::after {
+ background: currentColor;
+ content: '';
+ height: 1px;
+ left: 50%;
+ position: absolute;
+ top: 100%;
+ transform: translateX(-50%);
+ transition: width 0.2s ease;
+ width: 0;
+ }
+
+ &:hover,
+ &:focus {
+ border-bottom-color: transparent;
+ outline: 0;
+
+ &::after {
+ width: 100%;
+ }
+ }
+
+ &.tab-focus {
+ @include tab-focus();
+ }
+
+ &.no-border::after {
+ display: none;
+ }
+}
diff --git a/demo/src/sass/components/lists.scss b/demo/src/sass/components/lists.scss
new file mode 100644
index 00000000..bae3d11d
--- /dev/null
+++ b/demo/src/sass/components/lists.scss
@@ -0,0 +1,11 @@
+// ==========================================================================
+// Lists
+// ==========================================================================
+
+// Lists
+ul,
+li {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
diff --git a/demo/src/sass/components/media.scss b/demo/src/sass/components/media.scss
new file mode 100644
index 00000000..c6744bcc
--- /dev/null
+++ b/demo/src/sass/components/media.scss
@@ -0,0 +1,10 @@
+// ==========================================================================
+// Basic media
+// ==========================================================================
+
+img,
+video,
+audio {
+ max-width: 100%;
+ vertical-align: middle;
+}
diff --git a/demo/src/sass/components/navigation.scss b/demo/src/sass/components/navigation.scss
new file mode 100644
index 00000000..fe14c000
--- /dev/null
+++ b/demo/src/sass/components/navigation.scss
@@ -0,0 +1,9 @@
+// ==========================================================================
+// Navigation
+// ==========================================================================
+
+nav {
+ display: flex;
+ justify-content: center;
+ margin-bottom: $spacing-base;
+}
diff --git a/demo/src/sass/components/players.scss b/demo/src/sass/components/players.scss
new file mode 100644
index 00000000..90e2bc94
--- /dev/null
+++ b/demo/src/sass/components/players.scss
@@ -0,0 +1,49 @@
+// ==========================================================================
+// Examples
+// ==========================================================================
+
+// For non supported browsers
+video {
+ max-width: 100%;
+ vertical-align: middle;
+}
+
+// Example players
+.plyr {
+ border-radius: $border-radius-base;
+ box-shadow: 0 2px 5px rgba(#000, 0.2);
+ margin: $spacing-base auto;
+
+ &.plyr--audio {
+ max-width: 480px;
+ }
+}
+
+.plyr__video-wrapper::after {
+ border: 1px solid rgba(#000, 0.15);
+ border-radius: inherit;
+ bottom: 0;
+ content: '';
+ left: 0;
+ pointer-events: none;
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+
+// Style full supported player
+.plyr__cite {
+ display: none;
+ margin-top: $spacing-base;
+
+ .icon {
+ margin-right: ceil($spacing-base / 6);
+ }
+}
+
+.plyr--video:not(.plyr--youtube):not(.plyr--vimeo) ~ ul .plyr__cite--video,
+.plyr--audio ~ ul .plyr__cite--audio,
+.plyr--youtube ~ ul .plyr__cite--youtube,
+.plyr--vimeo ~ ul .plyr__cite--vimeo {
+ display: block;
+}
diff --git a/demo/src/sass/layout/core.scss b/demo/src/sass/layout/core.scss
new file mode 100644
index 00000000..0501c1df
--- /dev/null
+++ b/demo/src/sass/layout/core.scss
@@ -0,0 +1,64 @@
+// ==========================================================================
+// Core
+// ==========================================================================
+
+html,
+body {
+ display: flex;
+ width: 100%;
+}
+
+html {
+ background: $page-background;
+ background-attachment: fixed;
+ height: 100%;
+}
+
+body {
+ align-items: center;
+ display: flex;
+ flex-direction: column;
+ min-height: 100%;
+}
+
+.grid {
+ flex: 1;
+ overflow: auto;
+}
+
+main {
+ margin: auto;
+ padding-bottom: 1px; // Collapsing margins
+ text-align: center;
+}
+
+aside {
+ align-items: center;
+ background: #fff;
+ color: $gray;
+ display: flex;
+ flex-shrink: 0;
+ justify-content: center;
+ padding: ($spacing-base * 0.75);
+ position: relative;
+ text-align: center;
+ text-shadow: none;
+ width: 100%;
+
+ .icon {
+ fill: $color-twitter;
+ margin-right: ($spacing-base / 2);
+ }
+
+ p {
+ margin: 0;
+ }
+
+ a {
+ color: $color-twitter;
+
+ &.tab-focus {
+ @include tab-focus($color-twitter);
+ }
+ }
+}
diff --git a/demo/src/sass/layout/error.scss b/demo/src/sass/layout/error.scss
new file mode 100644
index 00000000..385ecbf3
--- /dev/null
+++ b/demo/src/sass/layout/error.scss
@@ -0,0 +1,30 @@
+// ==========================================================================
+// Errors (AWS pages)
+// ==========================================================================
+
+// Error page
+html.error,
+.error body {
+ height: 100%;
+}
+
+html.error {
+ background: $page-background;
+ background-attachment: fixed;
+}
+
+.error body {
+ align-items: center;
+ display: flex;
+ width: 100%;
+}
+
+.error main {
+ padding: $spacing-base;
+ text-align: center;
+ width: 100%;
+
+ p {
+ @include font-size($font-size-large);
+ }
+}
diff --git a/demo/src/sass/layout/grid.scss b/demo/src/sass/layout/grid.scss
new file mode 100644
index 00000000..40dd829e
--- /dev/null
+++ b/demo/src/sass/layout/grid.scss
@@ -0,0 +1,19 @@
+// ==========================================================================
+// Super basic grid
+// ==========================================================================
+
+.grid {
+ margin: 0 auto;
+ padding: $spacing-base;
+
+ @media only screen and (min-width: $screen-md) {
+ align-items: center;
+ display: flex;
+ max-width: $container-max-width;
+ width: 100%;
+
+ > * {
+ flex: 1;
+ }
+ }
+}
diff --git a/demo/src/sass/lib/animation.scss b/demo/src/sass/lib/animation.scss
new file mode 100644
index 00000000..3c14b0a7
--- /dev/null
+++ b/demo/src/sass/lib/animation.scss
@@ -0,0 +1,13 @@
+// ==========================================================================
+// Animations
+// ==========================================================================
+
+// Fade
+@keyframes fadein {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
diff --git a/demo/src/sass/lib/fontface.scss b/demo/src/sass/lib/fontface.scss
new file mode 100644
index 00000000..e7e4edf8
--- /dev/null
+++ b/demo/src/sass/lib/fontface.scss
@@ -0,0 +1,45 @@
+// ==========================================================================
+// Fonts
+// ==========================================================================
+
+@font-face {
+ font-display: swap;
+ font-family: 'Gordita';
+ font-style: normal;
+ font-weight: $font-weight-light;
+ src: url('https://cdn.plyr.io/static/fonts/gordita-light.woff2') format('woff2'), url('https://cdn.plyr.io/static/fonts/gordita-light.woff') format('woff');
+}
+
+@font-face {
+ font-display: swap;
+ font-family: 'Gordita';
+ font-style: normal;
+ font-weight: $font-weight-regular;
+ src: url('https://cdn.plyr.io/static/fonts/gordita-regular.woff2') format('woff2'),
+ url('https://cdn.plyr.io/static/fonts/gordita-regular.woff') format('woff');
+}
+
+@font-face {
+ font-display: swap;
+ font-family: 'Gordita';
+ font-style: normal;
+ font-weight: $font-weight-medium;
+ src: url('https://cdn.plyr.io/static/fonts/gordita-medium.woff2') format('woff2'),
+ url('https://cdn.plyr.io/static/fonts/gordita-medium.woff') format('woff');
+}
+
+@font-face {
+ font-display: swap;
+ font-family: 'Gordita';
+ font-style: normal;
+ font-weight: $font-weight-bold;
+ src: url('https://cdn.plyr.io/static/fonts/gordita-bold.woff2') format('woff2'), url('https://cdn.plyr.io/static/fonts/gordita-bold.woff') format('woff');
+}
+
+@font-face {
+ font-display: swap;
+ font-family: 'Gordita';
+ font-style: normal;
+ font-weight: $font-weight-black;
+ src: url('https://cdn.plyr.io/static/fonts/gordita-black.woff2') format('woff2'), url('https://cdn.plyr.io/static/fonts/gordita-black.woff') format('woff');
+}
diff --git a/demo/src/sass/lib/mixins.scss b/demo/src/sass/lib/mixins.scss
new file mode 100644
index 00000000..cdfcb87d
--- /dev/null
+++ b/demo/src/sass/lib/mixins.scss
@@ -0,0 +1,54 @@
+// ==========================================================================
+// Mixins
+// ==========================================================================
+
+// Convert a <button> into an <a>
+// ---------------------------------------
+@mixin cancel-button-styles() {
+ background: transparent;
+ border: 0;
+ border-radius: 0;
+ cursor: pointer;
+ font: inherit;
+ line-height: $line-height-base;
+ margin: 0;
+ padding: 0;
+ position: relative;
+ text-align: inherit;
+ text-shadow: inherit;
+ -moz-user-select: text; // stylelint-disable-line
+ vertical-align: baseline;
+ width: auto;
+}
+
+// Nicer focus styles
+// ---------------------------------------
+@mixin tab-focus($color: $tab-focus-default-color) {
+ box-shadow: 0 0 0 3px rgba($color, 0.35);
+ outline: 0;
+}
+
+// Use rems for font sizing
+// Leave <body> at 100%/16px
+// ---------------------------------------
+@function calculate-rem($size) {
+ $rem: $size / 16;
+ @return #{$rem}rem;
+}
+
+@mixin font-size($size: 16) {
+ font-size: $size * 1px; // Fallback in px
+ font-size: calculate-rem($size);
+}
+
+// Font smoothing
+// ---------------------------------------
+@mixin font-smoothing($enabled: true) {
+ @if $enabled {
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ } @else {
+ -moz-osx-font-smoothing: auto;
+ -webkit-font-smoothing: subpixel-antialiased;
+ }
+}
diff --git a/demo/src/sass/lib/normalize.scss b/demo/src/sass/lib/normalize.scss
new file mode 100644
index 00000000..4f8542c1
--- /dev/null
+++ b/demo/src/sass/lib/normalize.scss
@@ -0,0 +1,450 @@
+/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
+
+/* Document
+ ========================================================================== */
+
+/**
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in
+ * IE on Windows Phone and in iOS.
+ */
+
+html {
+ line-height: 1.15; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/* Sections
+ ========================================================================== */
+
+/**
+ * Remove the margin in all browsers (opinionated).
+ */
+
+body {
+ margin: 0;
+}
+
+/**
+ * Add the correct display in IE 9-.
+ */
+
+article,
+aside,
+footer,
+header,
+nav,
+section {
+ display: block;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/* Grouping content
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 9-.
+ * 1. Add the correct display in IE.
+ */
+
+figcaption,
+figure,
+main {
+ /* 1 */
+ display: block;
+}
+
+/**
+ * Add the correct margin in IE 8.
+ */
+
+figure {
+ margin: 1em 40px;
+}
+
+/**
+ * 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
+ ========================================================================== */
+
+/**
+ * 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; /* 1 */
+ -webkit-text-decoration-skip: objects; /* 2 */
+}
+
+/**
+ * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+
+abbr[title] {
+ border-bottom: none; /* 1 */
+ text-decoration: underline; /* 2 */
+ text-decoration: underline dotted; /* 2 */
+}
+
+/**
+ * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
+ */
+
+b,
+strong {
+ font-weight: inherit;
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+code,
+kbd,
+samp {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+}
+
+/**
+ * Add the correct font style in Android 4.3-.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Add the correct background and color in IE 9-.
+ */
+
+mark {
+ background-color: #ff0;
+ color: #000;
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+/* Embedded content
+ ========================================================================== */
+
+/**
+ * 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-style: none;
+}
+
+/**
+ * Hide the overflow in IE.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* Forms
+ ========================================================================== */
+
+/**
+ * 1. Change the font styles in all browsers (opinionated).
+ * 2. Remove the margin in Firefox and Safari.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: sans-serif; /* 1 */
+ font-size: 100%; /* 1 */
+ line-height: 1.15; /* 1 */
+ margin: 0; /* 2 */
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+
+button,
+input {
+ /* 1 */
+ overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+
+button,
+select {
+ /* 1 */
+ text-transform: none;
+}
+
+/**
+ * 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'],
+[type='reset'],
+[type='submit'] {
+ -webkit-appearance: button; /* 2 */
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+
+button::-moz-focus-inner,
+[type='button']::-moz-focus-inner,
+[type='reset']::-moz-focus-inner,
+[type='submit']::-moz-focus-inner {
+ border-style: none;
+ padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+
+button:-moz-focusring,
+[type='button']:-moz-focusring,
+[type='reset']:-moz-focusring,
+[type='submit']:-moz-focusring {
+ outline: 1px dotted ButtonText;
+}
+
+/**
+ * Correct the padding in Firefox.
+ */
+
+fieldset {
+ padding: 0.35em 0.75em 0.625em;
+}
+
+/**
+ * 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.
+ */
+
+legend {
+ box-sizing: border-box; /* 1 */
+ color: inherit; /* 2 */
+ display: table; /* 1 */
+ max-width: 100%; /* 1 */
+ padding: 0; /* 3 */
+ white-space: normal; /* 1 */
+}
+
+/**
+ * 1. Add the correct display in IE 9-.
+ * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+
+progress {
+ display: inline-block; /* 1 */
+ vertical-align: baseline; /* 2 */
+}
+
+/**
+ * Remove the default vertical scrollbar in IE.
+ */
+
+textarea {
+ overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10-.
+ * 2. Remove the padding in IE 10-.
+ */
+
+[type='checkbox'],
+[type='radio'] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+
+[type='number']::-webkit-inner-spin-button,
+[type='number']::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+
+[type='search'] {
+ -webkit-appearance: textfield; /* 1 */
+ outline-offset: -2px; /* 2 */
+}
+
+/**
+ * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
+ */
+
+[type='search']::-webkit-search-cancel-button,
+[type='search']::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button; /* 1 */
+ font: inherit; /* 2 */
+}
+
+/* Interactive
+ ========================================================================== */
+
+/*
+ * Add the correct display in IE 9-.
+ * 1. Add the correct display in Edge, IE, and Firefox.
+ */
+
+details,
+menu {
+ display: block;
+}
+
+/*
+ * Add the correct display in all browsers.
+ */
+
+summary {
+ display: list-item;
+}
+
+/* Scripting
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 9-.
+ */
+
+canvas {
+ display: inline-block;
+}
+
+/**
+ * Add the correct display in IE.
+ */
+
+template {
+ display: none;
+}
+
+/* Hidden
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 10-.
+ */
+
+[hidden] {
+ display: none;
+}
diff --git a/demo/src/sass/lib/reset.scss b/demo/src/sass/lib/reset.scss
new file mode 100644
index 00000000..50798b10
--- /dev/null
+++ b/demo/src/sass/lib/reset.scss
@@ -0,0 +1,11 @@
+// ==========================================================================
+// Resets
+// ==========================================================================
+
+// BORDER-BOX ALL THE THINGS!
+// http://paulirish.com/2012/box-sizing-border-box-ftw/
+*,
+*::after,
+*::before {
+ box-sizing: border-box;
+}
diff --git a/demo/src/sass/settings/breakpoints.scss b/demo/src/sass/settings/breakpoints.scss
new file mode 100644
index 00000000..65940ad6
--- /dev/null
+++ b/demo/src/sass/settings/breakpoints.scss
@@ -0,0 +1,6 @@
+// ==========================================================================
+// Breakpoints
+// ==========================================================================
+
+$screen-sm: 480px;
+$screen-md: 768px;
diff --git a/demo/src/sass/settings/colors.scss b/demo/src/sass/settings/colors.scss
new file mode 100644
index 00000000..65d3f7b7
--- /dev/null
+++ b/demo/src/sass/settings/colors.scss
@@ -0,0 +1,32 @@
+// ==========================================================================
+// Colors
+// ==========================================================================
+
+// Greyscale
+$gray-dark: #343f4a;
+$gray: #55646b;
+$gray-light: #cbd0d3;
+$gray-lighter: #dbe3e8;
+$off-white: #f2f5f7;
+
+// Text
+$color-text: #fff;
+
+// Plyr
+$color-brand-primary: #1aafff;
+
+// Brands
+$color-twitter: #4baaf4;
+$color-youtube: #cc181e;
+$color-vimeo: #19b7ed;
+
+// Elements
+$color-link: #fff;
+$color-background: $color-brand-primary;
+
+// Buttons
+$color-button-background: #fff;
+$color-button-text: $gray;
+
+// Focus
+$tab-focus-default-color: #fff;
diff --git a/demo/src/sass/settings/cosmetic.scss b/demo/src/sass/settings/cosmetic.scss
new file mode 100644
index 00000000..d750efe2
--- /dev/null
+++ b/demo/src/sass/settings/cosmetic.scss
@@ -0,0 +1,12 @@
+// ==========================================================================
+// Misc cosmetic
+// ==========================================================================
+
+// Button count arrow size
+$arrow-size: 5px;
+
+// Radii
+$border-radius-base: 4px;
+
+// Background
+$page-background: linear-gradient(to left top, lighten($color-background, 10%), darken($color-background, 20%));
diff --git a/demo/src/sass/settings/icons.scss b/demo/src/sass/settings/icons.scss
new file mode 100644
index 00000000..ad16a645
--- /dev/null
+++ b/demo/src/sass/settings/icons.scss
@@ -0,0 +1,5 @@
+// ==========================================================================
+// Icons
+// ==========================================================================
+
+$icon-size: 16px;
diff --git a/demo/src/sass/settings/layout.scss b/demo/src/sass/settings/layout.scss
new file mode 100644
index 00000000..8d1fbd28
--- /dev/null
+++ b/demo/src/sass/settings/layout.scss
@@ -0,0 +1,5 @@
+// ==========================================================================
+// Layout
+// ==========================================================================
+
+$container-max-width: 1280px;
diff --git a/demo/src/sass/settings/plyr.scss b/demo/src/sass/settings/plyr.scss
new file mode 100644
index 00000000..3d30ce71
--- /dev/null
+++ b/demo/src/sass/settings/plyr.scss
@@ -0,0 +1,18 @@
+// ==========================================================================
+// Plyr Settings
+// ==========================================================================
+
+// Font
+$plyr-font-family: inherit;
+
+// Sizes
+$plyr-font-size-base: 13px;
+$plyr-font-size-small: 12px;
+$plyr-font-size-time: 11px;
+$plyr-font-size-badges: 9px;
+
+// Captions
+$plyr-font-size-captions-base: $plyr-font-size-base;
+$plyr-font-size-captions-small: $plyr-font-size-small;
+$plyr-font-size-captions-medium: 18px;
+$plyr-font-size-captions-large: 21px;
diff --git a/demo/src/sass/settings/spacing.scss b/demo/src/sass/settings/spacing.scss
new file mode 100644
index 00000000..a19b0a95
--- /dev/null
+++ b/demo/src/sass/settings/spacing.scss
@@ -0,0 +1,5 @@
+// ==========================================================================
+// Colors
+// ==========================================================================
+
+$spacing-base: 20px;
diff --git a/demo/src/sass/settings/type.scss b/demo/src/sass/settings/type.scss
new file mode 100644
index 00000000..e8f0b2c8
--- /dev/null
+++ b/demo/src/sass/settings/type.scss
@@ -0,0 +1,20 @@
+// ==========================================================================
+// Typography
+// ==========================================================================
+
+$font-sans-serif: 'Gordita', 'Avenir', 'Helvetica Neue', sans-serif;
+
+$font-size-base: 15;
+$font-size-small: 13;
+$font-size-large: 18;
+$font-size-h1: 64;
+
+$font-weight-light: 300;
+$font-weight-regular: 400;
+$font-weight-medium: 500;
+$font-weight-bold: 600;
+$font-weight-black: 900;
+
+$line-height-base: 1.75;
+
+$letter-spacing-headings: -0.025em;
diff --git a/demo/src/sass/type/base.scss b/demo/src/sass/type/base.scss
new file mode 100644
index 00000000..452298bd
--- /dev/null
+++ b/demo/src/sass/type/base.scss
@@ -0,0 +1,35 @@
+// ==========================================================================
+// Base
+// ==========================================================================
+
+// Set to 100% for rem sizing
+html {
+ font-size: 100%;
+}
+
+body {
+ @include font-smoothing();
+ @include font-size($font-size-base);
+ color: $color-text;
+ font-family: $font-sans-serif;
+ font-weight: $font-weight-medium;
+ line-height: $line-height-base;
+ text-shadow: 0 1px 1px rgba(#000, 0.15);
+}
+
+button,
+input,
+select,
+textarea {
+ font: inherit;
+}
+
+p,
+small {
+ margin: 0 0 $spacing-base;
+}
+
+small {
+ @include font-size($font-size-small);
+ display: block;
+}
diff --git a/demo/src/sass/type/headings.scss b/demo/src/sass/type/headings.scss
new file mode 100644
index 00000000..c2abc97e
--- /dev/null
+++ b/demo/src/sass/type/headings.scss
@@ -0,0 +1,10 @@
+// ==========================================================================
+// Headings
+// ==========================================================================
+
+h1 {
+ @include font-size($font-size-h1);
+ font-weight: $font-weight-bold;
+ letter-spacing: $letter-spacing-headings;
+ margin: 0 0 ($spacing-base / 2);
+}
diff --git a/demo/src/sass/utilities/cosmetic.scss b/demo/src/sass/utilities/cosmetic.scss
new file mode 100644
index 00000000..91374d9d
--- /dev/null
+++ b/demo/src/sass/utilities/cosmetic.scss
@@ -0,0 +1,7 @@
+// ==========================================================================
+// Misc cosmetic
+// ==========================================================================
+
+.no-border {
+ border: 0;
+}
diff --git a/demo/src/sass/utilities/hidden.scss b/demo/src/sass/utilities/hidden.scss
new file mode 100644
index 00000000..665bfd76
--- /dev/null
+++ b/demo/src/sass/utilities/hidden.scss
@@ -0,0 +1,20 @@
+// ==========================================================================
+// Hidden
+// ==========================================================================
+
+[hidden] {
+ display: none;
+}
+
+// Hide only visually, but have it available for screen readers: h5bp.com/v
+.sr-only {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ opacity: 0.001;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}