aboutsummaryrefslogtreecommitdiffstats
path: root/demo/src/sass
diff options
context:
space:
mode:
Diffstat (limited to 'demo/src/sass')
-rw-r--r--demo/src/sass/bundles/demo.scss41
-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.scss45
-rw-r--r--demo/src/sass/components/lists.scss11
-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.scss63
-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.scss406
-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.scss27
-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/color.scss11
-rw-r--r--demo/src/sass/utilities/hidden.scss7
29 files changed, 1111 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..96438483
--- /dev/null
+++ b/demo/src/sass/bundles/demo.scss
@@ -0,0 +1,41 @@
+// ==========================================================================
+// 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/navigation';
+@import '../components/players';
+
+// Plyr
+@import '../../../../src/sass/plyr';
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..db821ad3
--- /dev/null
+++ b/demo/src/sass/components/buttons.scss
@@ -0,0 +1,83 @@
+// ==========================================================================
+// Buttons
+// ==========================================================================
+
+// Shared
+.button,
+.button__count {
+ align-items: center;
+ background: #fff;
+ border: 0;
+ border-radius: $border-radius-base;
+ box-shadow: 0 1px 1px rgba(#000, 0.1);
+ color: $gray;
+ 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: #fff;
+ 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..25780b41
--- /dev/null
+++ b/demo/src/sass/components/links.scss
@@ -0,0 +1,45 @@
+// ==========================================================================
+// 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();
+ }
+}
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/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..c4d9a445
--- /dev/null
+++ b/demo/src/sass/layout/core.scss
@@ -0,0 +1,63 @@
+// ==========================================================================
+// 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;
+ 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..34743e73
--- /dev/null
+++ b/demo/src/sass/lib/normalize.scss
@@ -0,0 +1,406 @@
+/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
+
+/* ==========================================================================
+ HTML5 display definitions
+ ========================================================================== */
+
+/**
+ * Correct `block` display not defined in IE 8/9.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/**
+ * Correct `inline-block` display not defined in IE 8/9.
+ */
+
+audio,
+canvas,
+video {
+ display: inline-block;
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9.
+ * Hide the `template` element in IE, Safari, and Firefox < 22.
+ */
+
+[hidden],
+template {
+ display: none;
+}
+
+/* ==========================================================================
+ Base
+ ========================================================================== */
+
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+
+html {
+ font-family: sans-serif; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Remove default margin.
+ */
+
+body {
+ margin: 0;
+}
+
+/* ==========================================================================
+ Links
+ ========================================================================== */
+
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+
+a {
+ background: transparent;
+}
+
+/**
+ * Address `outline` inconsistency between Chrome and other browsers.
+ */
+
+a:focus {
+ outline: thin dotted;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+/* ==========================================================================
+ Typography
+ ========================================================================== */
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari 5, and Chrome.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/**
+ * Address styling not present in IE 8/9, Safari 5, and Chrome.
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
+ */
+
+b,
+strong {
+ font-weight: bold;
+}
+
+/**
+ * Address styling not present in Safari 5 and Chrome.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+}
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/**
+ * Correct font family set oddly in Safari 5 and Chrome.
+ */
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, serif;
+ font-size: 1em;
+}
+
+/**
+ * Improve readability of pre-formatted text in all browsers.
+ */
+
+pre {
+ white-space: pre-wrap;
+}
+
+/**
+ * Set consistent quote types.
+ */
+
+q {
+ quotes: '\201C' '\201D' '\2018' '\2019';
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+/* ==========================================================================
+ Embedded content
+ ========================================================================== */
+
+/**
+ * Remove border when inside `a` element in IE 8/9.
+ */
+
+img {
+ border: 0;
+}
+
+/**
+ * Correct overflow displayed oddly in IE 9.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* ==========================================================================
+ Figures
+ ========================================================================== */
+
+/**
+ * Address margin not present in IE 8/9 and Safari 5.
+ */
+
+figure {
+ margin: 0;
+}
+
+/* ==========================================================================
+ Forms
+ ========================================================================== */
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * 1. Correct font family not being inherited in all browsers.
+ * 2. Correct font size not being inherited in all browsers.
+ * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
+ */
+
+button,
+input,
+select,
+textarea {
+ font-family: inherit; /* 1 */
+ font-size: 100%; /* 2 */
+ margin: 0; /* 3 */
+}
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+button,
+input {
+ line-height: normal;
+}
+
+/**
+ * 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 Chrome, Safari 5+, and IE 8+.
+ * Correct `select` style inheritance in Firefox 4+ and Opera.
+ */
+
+button,
+select {
+ text-transform: none;
+}
+
+/**
+ * 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.
+ */
+
+button,
+html input[type='button'],
+input[type='reset'],
+input[type='submit'] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+/**
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+
+input[type='checkbox'],
+input[type='radio'] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * (include `-moz` to future-proof).
+ */
+
+input[type='search'] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * on OS X.
+ */
+
+input[type='search']::-webkit-search-cancel-button,
+input[type='search']::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/**
+ * 1. Remove default vertical scrollbar in IE 8/9.
+ * 2. Improve readability and alignment in all browsers.
+ */
+
+textarea {
+ overflow: auto; /* 1 */
+ vertical-align: top; /* 2 */
+}
+
+/* ==========================================================================
+ Tables
+ ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
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..aa1c96ee
--- /dev/null
+++ b/demo/src/sass/settings/colors.scss
@@ -0,0 +1,27 @@
+// ==========================================================================
+// 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;
+
+// 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..dee536e5
--- /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-brand-primary, 10%), darken($color-brand-primary, 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/color.scss b/demo/src/sass/utilities/color.scss
new file mode 100644
index 00000000..786e6ccb
--- /dev/null
+++ b/demo/src/sass/utilities/color.scss
@@ -0,0 +1,11 @@
+// ==========================================================================
+// Color
+// ==========================================================================
+
+.color--vimeo {
+ color: $color-vimeo;
+}
+
+.color--youtube {
+ color: $color-youtube;
+}
diff --git a/demo/src/sass/utilities/hidden.scss b/demo/src/sass/utilities/hidden.scss
new file mode 100644
index 00000000..a48b107a
--- /dev/null
+++ b/demo/src/sass/utilities/hidden.scss
@@ -0,0 +1,7 @@
+// ==========================================================================
+// Hidden
+// ==========================================================================
+
+[hidden] {
+ display: none;
+}