Add sass support
This commit is contained in:
		
							
								
								
									
										140
									
								
								src/sass/docs.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										140
									
								
								src/sass/docs.scss
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,140 @@ | ||||
| // ========================================================================== | ||||
| // HTML5 Video Player Demo Page | ||||
| // ========================================================================== | ||||
|  | ||||
| // Reset | ||||
| @import "docs/normalize"; | ||||
| // Mixins | ||||
| @import "docs/mixins"; | ||||
|  | ||||
| // Variables | ||||
| // --------------------------------------- | ||||
| // Colors | ||||
| $blue:          			#3498DB; | ||||
| $gray-dark: 				#343f4a; | ||||
| $gray: 						#565d64; | ||||
| $gray-light: 				#cbd0d3; | ||||
|  | ||||
| // Elements | ||||
| $link-color: 				$blue; | ||||
| $padding-base: 				20px; | ||||
|  | ||||
| // Breakpoints | ||||
| $screen-md: 				768px; | ||||
|  | ||||
| // BORDER-BOX ALL THE THINGS! | ||||
| // http://paulirish.com/2012/box-sizing-border-box-ftw/ | ||||
| *, *::after, *::before { | ||||
| 	box-sizing: border-box; | ||||
| } | ||||
|  | ||||
| // Base | ||||
| html { | ||||
| 	//font-size: 62.5%; | ||||
| } | ||||
| body { | ||||
| 	font-family: "Avenir", "Helvetica Neue", Helvetica, Arial, sans-serif; | ||||
| 	background: #fff; | ||||
| 	line-height: 1.5; | ||||
| 	text-align: center; | ||||
| 	color: #6D797F; | ||||
| } | ||||
|  | ||||
| // Type | ||||
| h1, | ||||
| h2 { | ||||
| 	letter-spacing: -.025em; | ||||
| 	color: #2E3C44; | ||||
| 	margin: 0 0 ($padding-base / 2); | ||||
| 	line-height: 1.2; | ||||
| 	@include font-smoothing(); | ||||
| } | ||||
| h1 { | ||||
| 	@include font-size(64); | ||||
| 	color: #3498DB; | ||||
| } | ||||
| p, | ||||
| small { | ||||
| 	margin: 0 0 $padding-base; | ||||
| } | ||||
| small { | ||||
| 	display: block; | ||||
| 	padding: 0 ($padding-base / 2); | ||||
| 	@include font-size(14); | ||||
| } | ||||
|  | ||||
| // Header | ||||
| header { | ||||
| 	padding: $padding-base; | ||||
| 	margin-bottom: $padding-base; | ||||
|  | ||||
| 	p { | ||||
| 		@include font-size(18); | ||||
| 	} | ||||
| 	@media (min-width: 560px) { | ||||
| 		padding-top: ($padding-base * 3); | ||||
| 		padding-bottom: ($padding-base * 3); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // Sections | ||||
| section { | ||||
| 	padding-bottom: $padding-base; | ||||
|  | ||||
| 	@media (min-width: 560px) { | ||||
| 		padding-bottom: ($padding-base * 2); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // Links & Buttons | ||||
| a { | ||||
| 	text-decoration: none; | ||||
| 	color: $link-color; | ||||
| 	border-bottom: 1px solid currentColor; | ||||
| 	transition: all .3s ease; | ||||
|  | ||||
| 	&:hover, | ||||
| 	&:focus { | ||||
| 		color: #000; | ||||
| 	} | ||||
| 	&:focus { | ||||
| 		@include tab-focus(); | ||||
| 	} | ||||
| } | ||||
| .btn { | ||||
| 	display: inline-block; | ||||
| 	padding: ($padding-base / 2) ($padding-base * 1.5); | ||||
| 	background: $link-color; | ||||
| 	border: 0; | ||||
| 	color: #fff; | ||||
| 	@include font-smoothing(on); | ||||
| 	font-weight: 600; | ||||
| 	border-radius: 3px; | ||||
|  | ||||
| 	&:hover, | ||||
| 	&:focus { | ||||
| 		color: #fff; | ||||
| 		background: darken($link-color, 5%); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // Players | ||||
| .example-audio .player { | ||||
| 	max-width: 480px; | ||||
| } | ||||
| .example-video .player { | ||||
| 	max-width: 1200px; | ||||
| } | ||||
| .example-audio .player, | ||||
| .example-video .player { | ||||
| 	margin: 0 auto $padding-base; | ||||
|  | ||||
| 	&-fullscreen, | ||||
| 	&.fullscreen-active { | ||||
| 		max-width: none; | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // Fonts | ||||
| // Last to not block rendering | ||||
| @import "docs/fontface.less"; | ||||
							
								
								
									
										16
									
								
								src/sass/docs/fontface.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/sass/docs/fontface.scss
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| @font-face { | ||||
| 	font-family: "Avenir"; | ||||
| 	src: 	url("../../src/fonts/AvenirLTStd-Medium.woff2") format("woff2"),  | ||||
| 			url("../../src/fonts/AvenirLTStd-Medium.woff") format("woff"),  | ||||
| 			url("../../src/fonts/AvenirLTStd-Medium.ttf")  format("truetype"); | ||||
| 	font-style:   normal; | ||||
| 	font-weight:  400; | ||||
| } | ||||
| @font-face { | ||||
| 	font-family: "Avenir"; | ||||
| 	src: 	url("../../src/fonts/AvenirLTStd-Heavy.woff2") format("woff2"),  | ||||
| 			url("../../src/fonts/AvenirLTStd-Heavy.woff") format("woff"),  | ||||
| 			url("../../src/fonts/AvenirLTStd-Heavy.ttf")  format("truetype"); | ||||
| 	font-style:   normal; | ||||
| 	font-weight:  600; | ||||
| } | ||||
							
								
								
									
										47
									
								
								src/sass/docs/mixins.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								src/sass/docs/mixins.scss
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| // ========================================================================== | ||||
| // Mixins | ||||
| // ========================================================================== | ||||
|  | ||||
| // Contain floats: nicolasgallagher.com/micro-clearfix-hack/ | ||||
| // --------------------------------------- | ||||
| @mixin clearfix() | ||||
| { | ||||
| 	zoom: 1; | ||||
| 	&:before,  | ||||
| 	&:after { content: ""; display: table; } | ||||
| 	&:after { clear: both; } | ||||
| } | ||||
|  | ||||
| // Webkit-style focus | ||||
| // --------------------------------------- | ||||
| @mixin tab-focus() | ||||
| { | ||||
| 	// Default | ||||
| 	outline: thin dotted $gray-dark; | ||||
| 	// Webkit | ||||
| 	//outline: 5px auto -webkit-focus-ring-color; | ||||
| 	outline-offset: 1px; | ||||
| } | ||||
|  | ||||
| // Use rems for font sizing | ||||
| // Leave <body> at 100%/16px | ||||
| // --------------------------------------- | ||||
| @mixin font-size($font-size: 16) | ||||
| { | ||||
| 	$rem: round(($font-size / 16), 1); | ||||
| 	font-size: ($font-size * 1px); | ||||
| 	font-size: #{"${rem}rem"}; | ||||
| } | ||||
|  | ||||
| // Font smoothing | ||||
| // --------------------------------------- | ||||
| @mixin font-smoothing($mode: on) when ($mode = on) | ||||
| { | ||||
| 	-moz-osx-font-smoothing: grayscale; | ||||
| 	-webkit-font-smoothing: antialiased; | ||||
| } | ||||
| @mixin font-smoothing($mode: on) when ($mode = off) | ||||
| { | ||||
| 	-moz-osx-font-smoothing: auto; | ||||
| 	-webkit-font-smoothing: subpixel-antialiased; | ||||
| } | ||||
							
								
								
									
										406
									
								
								src/sass/docs/normalize.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										406
									
								
								src/sass/docs/normalize.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -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"], /* 1 */ | ||||
| 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; | ||||
| } | ||||
							
								
								
									
										442
									
								
								src/sass/plyr.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										442
									
								
								src/sass/plyr.scss
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,442 @@ | ||||
| // ========================================================================== | ||||
| // HTML5 Media Player | ||||
| // ========================================================================== | ||||
|  | ||||
| // Variables | ||||
| // ------------------------------- | ||||
| // Colors | ||||
| $blue:          			#3498DB; | ||||
| $gray-dark: 				#343f4a; | ||||
| $gray: 						#565d64; | ||||
| $gray-light: 				#cbd0d3; | ||||
|  | ||||
| // Font sizes | ||||
| $font-size-small: 			14px; | ||||
| $font-size-base: 			16px; | ||||
| $font-size-large:           ceil(($font-size-base * 1.5)); | ||||
|  | ||||
| // Controls | ||||
| $control-spacing: 			10px; | ||||
| $controls-bg: 				$gray-dark; | ||||
| $control-bg-hover: 			$blue; | ||||
| $control-color: 			$gray-light; | ||||
| $control-color-inactive: 	$gray; | ||||
| $control-color-focus: 		#fff; | ||||
| $control-color-hover: 		#fff; | ||||
|  | ||||
| // Progress | ||||
| $progress-bg: 				lighten($gray, 10%); | ||||
| $progress-playing-bg: 		$blue; | ||||
| $progress-buffered-bg: 		$gray; | ||||
|  | ||||
| // Range | ||||
| $range-track-height: 		6px; | ||||
| $range-track-bg: 			$gray; | ||||
| $range-thumb-height: 		($range-track-height * 2); | ||||
| $range-thumb-width: 		($range-track-height * 2); | ||||
| $range-thumb-bg: 			$control-color; | ||||
| $range-thumb-bg-focus: 		$control-bg-hover; | ||||
|  | ||||
| // Breakpoints | ||||
| $bp-control-split: 			560px; // When controls split into left/right | ||||
| $bp-captions-large: 		768px; // When captions jump to the larger font size | ||||
|  | ||||
| // Utility classes & mixins | ||||
| // ------------------------------- | ||||
| // Screen reader only | ||||
| .sr-only { | ||||
| 	position: absolute !important; | ||||
| 	clip: rect(1px, 1px, 1px, 1px); | ||||
| 	padding: 0 !important; | ||||
| 	border: 0 !important; | ||||
| 	height: 1px !important; | ||||
| 	width: 1px !important; | ||||
| 	overflow: hidden; | ||||
| } | ||||
| // Contain floats: nicolasgallagher.com/micro-clearfix-hack/ | ||||
| @mixin clearfix() | ||||
| { | ||||
| 	zoom: 1; | ||||
| 	&:before, | ||||
| 	&:after { content: ""; display: table; } | ||||
| 	&:after { clear: both; } | ||||
| } | ||||
|  | ||||
| // Tab focus styles | ||||
| @mixin tab-focus() | ||||
| { | ||||
| 	outline: thin dotted #000; | ||||
| 	outline-offset: 1px; | ||||
| } | ||||
|  | ||||
| // Range styling | ||||
| // --------------------------------------- | ||||
| @mixin range-thumb() | ||||
| { | ||||
| 	height: $range-thumb-height; | ||||
| 	width: $range-thumb-width; | ||||
| 	background: $range-thumb-bg; | ||||
| 	border: 0; | ||||
| 	border-radius: ($range-thumb-height / 2); | ||||
| 	transition: background .3s ease; | ||||
| 	cursor: ew-resize; | ||||
| } | ||||
| @mixin range-track() | ||||
| { | ||||
| 	height: $range-track-height; | ||||
| 	background: $range-track-bg; | ||||
| 	border: 0; | ||||
| 	border-radius: ($range-track-height / 2); | ||||
| } | ||||
|  | ||||
| // Font smoothing | ||||
| // --------------------------------------- | ||||
| @mixin font-smoothing($mode: on) when ($mode = on) | ||||
| { | ||||
| 	-moz-osx-font-smoothing: grayscale; | ||||
| 	-webkit-font-smoothing: antialiased; | ||||
| } | ||||
| @mixin font-smoothing($mode: on) when ($mode = off) | ||||
| { | ||||
| 	-moz-osx-font-smoothing: auto; | ||||
| 	-webkit-font-smoothing: subpixel-antialiased; | ||||
| } | ||||
|  | ||||
| // Styles | ||||
| // ------------------------------- | ||||
| // Base | ||||
| .player { | ||||
| 	position: relative; | ||||
| 	max-width: 100%; | ||||
| 	min-width: 290px; | ||||
| 	overflow: hidden; // For the controls | ||||
|  | ||||
| 	// border-box everything | ||||
| 	// http://paulirish.com/2012/box-sizing-border-box-ftw/ | ||||
| 	&, | ||||
| 	*, | ||||
| 	*::after, | ||||
| 	*::before { | ||||
| 		box-sizing: border-box; | ||||
| 	} | ||||
|  | ||||
| 	// For video | ||||
| 	&-video-wrapper { | ||||
| 		position: relative; | ||||
| 	} | ||||
| 	video { | ||||
| 		width: 100%; | ||||
| 		height: auto; | ||||
| 		vertical-align: middle; | ||||
| 	} | ||||
|  | ||||
| 	// Captions | ||||
| 	&-captions { | ||||
| 		display: none; | ||||
| 		position: absolute; | ||||
| 		bottom: 0; | ||||
| 		left: 0; | ||||
| 		width: 100%; | ||||
| 		padding: 20px; | ||||
| 		min-height: 2.5em; | ||||
| 		color: #fff; | ||||
| 		font-size: $font-size-base; | ||||
| 		font-weight: 600; | ||||
| 		text-shadow: | ||||
| 		-1px -1px 0 $gray, | ||||
| 		1px -1px 0 $gray, | ||||
| 		-1px 1px 0 $gray, | ||||
| 		1px 1px 0 $gray; | ||||
| 		text-align: center; | ||||
| 		@include font-smoothing(); | ||||
|  | ||||
| 		@media (min-width: $bp-captions-large) { | ||||
| 			font-size: $font-size-large; | ||||
| 		} | ||||
| 	} | ||||
| 	&.captions-active &-captions { | ||||
| 		display: block; | ||||
| 	} | ||||
|  | ||||
| 	// Player controls | ||||
| 	&-controls { | ||||
| 		@include clearfix(); | ||||
| 		@include font-smoothing(); | ||||
| 		position: relative; | ||||
| 		padding: ($control-spacing * 2) $control-spacing $control-spacing; | ||||
| 		background: $controls-bg; | ||||
| 		line-height: 1; | ||||
| 		text-align: center; | ||||
|  | ||||
| 		// Layout | ||||
| 		&-sound { | ||||
| 			display: block; | ||||
| 			margin: $control-spacing auto 0; | ||||
| 		} | ||||
| 		@media (min-width: $bp-control-split) { | ||||
| 			&-playback { | ||||
| 				float: left; | ||||
| 			} | ||||
| 			&-sound { | ||||
| 				float: right; | ||||
| 				margin-top: 0; | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		input + label, | ||||
| 		button { | ||||
| 			display: inline-block; | ||||
| 			vertical-align: middle; | ||||
| 			margin: 0 2px; | ||||
| 			padding: ($control-spacing / 2) $control-spacing; | ||||
|  | ||||
| 			transition: background .3s ease; | ||||
| 			border-radius: 3px; | ||||
| 			cursor: pointer; | ||||
|  | ||||
| 			svg { | ||||
| 				width: 18px; | ||||
| 				height: 18px; | ||||
| 				display: block; | ||||
| 				fill: currentColor; | ||||
| 				transition: fill .3s ease; | ||||
| 			} | ||||
| 		} | ||||
| 		input + label, | ||||
| 		input.inverted:checked + label { | ||||
| 			color: $control-color-inactive; | ||||
| 		} | ||||
| 		button, | ||||
| 		input.inverted + label, | ||||
| 		input:checked + label { | ||||
| 			color: $control-color; | ||||
| 		} | ||||
| 		button { | ||||
| 			border: 0; | ||||
| 			background: transparent; | ||||
| 			overflow: hidden; | ||||
| 		} | ||||
| 		input:focus + label, | ||||
| 		button:focus { | ||||
| 			@include tab-focus(); | ||||
| 			color: $control-color-focus; | ||||
| 		} | ||||
| 		button:hover, | ||||
| 		input + label:hover { | ||||
| 			background: $control-bg-hover; | ||||
| 			color: $control-color-hover; | ||||
| 		} | ||||
| 		.icon-exit-fullscreen, | ||||
| 		.icon-muted { | ||||
| 			display: none; | ||||
| 		} | ||||
| 		.player-time { | ||||
| 			display: inline-block; | ||||
| 			vertical-align: middle; | ||||
| 			margin-left: $control-spacing; | ||||
| 			color: $control-color; | ||||
| 			font-weight: 600; | ||||
| 			font-size: $font-size-small; | ||||
| 			@include font-smoothing(); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	// Player progress | ||||
| 	// <progress> element | ||||
| 	&-progress { | ||||
| 		position: absolute; | ||||
| 		top: 0; | ||||
| 		left: 0; | ||||
| 		right: 0; | ||||
| 		width: 100%; | ||||
| 		height: $control-spacing; | ||||
| 		background: $progress-bg; | ||||
|  | ||||
| 		&-buffer, | ||||
| 		&-played { | ||||
| 			position: absolute; | ||||
| 			left: 0; | ||||
| 			top: 0; | ||||
| 			width: 100%; | ||||
| 			height: 100%; | ||||
| 			margin: 0; | ||||
| 			vertical-align: top; | ||||
|  | ||||
| 			&[value] { | ||||
| 				-webkit-appearance: none; | ||||
| 				border: none; | ||||
| 				background: transparent; | ||||
|  | ||||
| 				&::-webkit-progress-bar { | ||||
| 					background: transparent; | ||||
| 				} | ||||
|  | ||||
| 				// Inherit from currentColor; | ||||
| 				&::-webkit-progress-value { | ||||
| 					background: currentColor; | ||||
| 				} | ||||
| 				&::-moz-progress-bar { | ||||
| 					background: currentColor; | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		&-played { | ||||
| 			z-index: 2; | ||||
| 		} | ||||
| 		&-played[value] { | ||||
| 			cursor: pointer; | ||||
| 			color: $progress-playing-bg; | ||||
| 		} | ||||
| 		&-buffer[value] { | ||||
| 			color: $progress-buffered-bg; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	// States | ||||
| 	&-controls [data-player='pause'], | ||||
| 	&.playing .player-controls [data-player='play'] { | ||||
| 		display: none; | ||||
| 	} | ||||
| 	&.playing .player-controls [data-player='pause'] { | ||||
| 		display: inline-block; | ||||
| 	} | ||||
|  | ||||
| 	// Muted | ||||
| 	&.muted .player-controls .icon-muted { | ||||
| 		display: block; | ||||
|  | ||||
| 		& + svg { | ||||
| 			display: none; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	// Volume control | ||||
| 	// <input[type='range']> element | ||||
| 	&-volume { | ||||
| 		vertical-align: middle; | ||||
| 		-webkit-appearance: none; | ||||
| 		-moz-appearance: none; | ||||
| 		width: 100px; | ||||
| 		margin: 0 $control-spacing 0 0; | ||||
| 		padding: 0; | ||||
| 		cursor: pointer; | ||||
| 		background: none; | ||||
|  | ||||
| 		// Webkit | ||||
| 		&::-webkit-slider-runnable-track { | ||||
| 			@include range-track(); | ||||
| 		} | ||||
| 		&::-webkit-slider-thumb { | ||||
| 			-webkit-appearance: none; | ||||
| 			margin-top: -(($range-thumb-height - $range-track-height) / 2); | ||||
| 			@include range-thumb(); | ||||
| 		} | ||||
|  | ||||
| 		// Mozilla | ||||
| 		&::-moz-range-track { | ||||
| 			@include range-track(); | ||||
| 		} | ||||
| 		&::-moz-range-thumb { | ||||
| 			@include range-thumb(); | ||||
| 		} | ||||
|  | ||||
| 		// Microsoft | ||||
| 		&::-ms-track { | ||||
| 			height: $range-track-height; | ||||
| 			background: transparent; | ||||
| 			border-color: transparent; | ||||
| 			border-width: (($range-thumb-height - $range-track-height) / 2) 0; | ||||
| 			color: transparent; | ||||
| 		} | ||||
| 		&::-ms-fill-lower, | ||||
| 		&::-ms-fill-upper { | ||||
| 			@include range-track(); | ||||
| 		} | ||||
| 		&::-ms-thumb { | ||||
| 			@include range-thumb(); | ||||
| 		} | ||||
|  | ||||
| 		&:focus { | ||||
| 			outline: 0; | ||||
|  | ||||
| 			&::-webkit-slider-thumb { | ||||
| 				background: $range-thumb-bg-focus; | ||||
| 			} | ||||
| 			&::-moz-range-thumb { | ||||
| 				background: $range-thumb-bg-focus; | ||||
| 			} | ||||
| 			&::-ms-thumb { | ||||
| 				background: $range-thumb-bg-focus; | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	// Full screen mode | ||||
| 	&-fullscreen, | ||||
| 	&.fullscreen-active { | ||||
| 		position: fixed; | ||||
| 		top: 0; | ||||
| 		left: 0; | ||||
| 		right: 0; | ||||
| 		bottom: 0; | ||||
| 		height: 100%; | ||||
| 		width: 100%; | ||||
| 		z-index: 10000000; | ||||
| 		background: #000; | ||||
|  | ||||
| 		.player-video-wrapper { | ||||
| 			height: 100%; | ||||
| 			width: 100%; | ||||
|  | ||||
| 			video { | ||||
| 				height: 100%; | ||||
| 			} | ||||
| 			.player-captions { | ||||
| 				top: auto; | ||||
| 				bottom: 90px; | ||||
|  | ||||
| 				@media (min-width: $bp-control-split) and (max-width: ($bp-captions-large - 1)) { | ||||
| 					bottom: 60px; | ||||
| 				} | ||||
| 				@media (min-width: $bp-captions-large) { | ||||
| 					bottom: 80px; | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		.player-controls { | ||||
| 			position: absolute; | ||||
| 			bottom: 0; | ||||
| 			left: 0; | ||||
| 			right: 0; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	// When true full screen, show exit fullscreen icon | ||||
| 	&.fullscreen-active .icon-exit-fullscreen { | ||||
| 		display: block; | ||||
|  | ||||
| 		& + svg { | ||||
| 			display: none; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	// Some options are hidden by default | ||||
| 	[data-player='captions'], | ||||
| 	[data-player='captions'] + label, | ||||
| 	[data-player='fullscreen'], | ||||
| 	[data-player='fullscreen'] + label { | ||||
| 		display: none; | ||||
| 	} | ||||
| 	&.captions-enabled [data-player='captions'], | ||||
| 	&.captions-enabled [data-player='captions'] + label, | ||||
| 	&.fullscreen-enabled [data-player='fullscreen'], | ||||
| 	&.fullscreen-enabled [data-player='fullscreen'] + label { | ||||
| 		display: inline-block; | ||||
| 	} | ||||
|  | ||||
| 	// Full browser view hides toggle | ||||
| 	&-fullscreen [data-player='fullscreen'], | ||||
| 	&-fullscreen [data-player='fullscreen'] + label { | ||||
| 		display: none !important; | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user