1 // Thanks: https://github.com/zanechua/videojs-sublime-inspired-skin
2 $primary-foreground-color: #fff;
3 $primary-background-color: #000;
5 $control-bar-height: 34px;
7 .video-js.vjs-peertube-skin {
9 color: $primary-foreground-color;
11 .vjs-button > .vjs-icon-placeholder::before {
12 line-height: $control-bar-height;
15 .vjs-mouse-display:before,
16 .vjs-play-progress:before,
17 .vjs-volume-level:before {
18 content: ''; /* Remove Circle From Progress Bar */
25 .vjs-big-play-button {
29 $big-play-height: 1.5em;
31 line-height: $big-play-height;
32 height: $big-play-height;
33 width: $big-play-width;
40 margin-left: -($big-play-width / 2);
41 margin-top: -($big-play-height / 2);
44 &:hover .vjs-big-play-button {
45 background-color: transparent;
50 .vjs-menu-button .vjs-menu-content {
51 background-color: rgba($primary-background-color, 0.5);
54 $slider-bg-color: lighten($primary-background-color, 33%);
57 background-color: rgba(255, 255, 255, .3);
62 /* The slider bar color is used for the progress bar and the volume bar
63 (the first two can be removed after a fix that's coming) */
67 background: $primary-foreground-color;
71 background: rgba($slider-bg-color, 0.5);
74 .vjs-load-progress div {
75 background: rgba($slider-bg-color, 0.75);
79 outline: none; /* Remove Blue Outline on Click*/
84 height: $control-bar-height;
86 .vjs-progress-control {
92 .vjs-progress-holder {
99 font-size: $font-size;
106 font-size: $font-size;
107 display: inline-block;
110 .vjs-current-time-display {
111 line-height: $control-bar-height;
121 font-size: $font-size;
122 display: inline-block;
125 .vjs-duration-display {
126 line-height: $control-bar-height;
130 &.vjs-remaining-time {
137 line-height: $control-bar-height;
141 .vjs-webtorrent-displayed {
145 .vjs-webtorrent-hidden {
149 .download-speed-number, .upload-speed-number, .peers-number {
150 font-weight: $font-semibold;
153 .download-speed-text, .upload-speed-text, .peers-text {
158 display: inline-block;
161 background-size: contain;
162 vertical-align: middle;
163 background-repeat: no-repeat;
169 background-image: url('../assets/player/images/arrow-down.svg');
173 background-image: url('../assets/player/images/arrow-up.svg');
179 .vjs-icon-placeholder {
180 display: inline-block;
183 vertical-align: middle;
184 background: url('../assets/player/images/volume.svg') no-repeat;
185 background-size: contain;
192 &.vjs-vol-0 .vjs-icon-placeholder {
193 background: url('../assets/player/images/volume-mute.svg') no-repeat;
194 background-size: contain;
198 .vjs-volume-menu-button,
207 background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAcCAQAAACw95UnAAAAMElEQVRIx2NgoBL4n4YKGUYNHkEG4zJg1OCRYDCpBowaPJwMppbLRg0eNXjUYBLEAXWNUA6QNm1lAAAAAElFTkSuQmCC) no-repeat;
208 background-size: 22px 14px;
218 background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAcAQAAAAAyhWABAAAAAnRSTlMAAHaTzTgAAAAZSURBVHgBYwAB/g9EUv+JokCqiaT+U4MCAPKPS7WUUOc1AAAAAElFTkSuQmCC) no-repeat;
219 background-size: 22px 14px;
226 .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,
227 .vjs-volume-panel.vjs-volume-panel-horizontal:active,
228 .vjs-volume-panel.vjs-volume-panel-horizontal:focus,
229 .vjs-volume-panel.vjs-volume-panel-horizontal:hover {
231 transition-property: none;
234 .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal {
239 .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control {
240 transition-property: none;
250 .vjs-volume-control {
251 display: inline-block;
260 .vjs-fullscreen-control {
263 .vjs-icon-placeholder {
264 display: inline-block;
267 vertical-align: middle;
268 background: url('../assets/player/images/fullscreen.svg') no-repeat;
269 background-size: contain;
277 .vjs-menu-button-popup {
279 font-weight: $font-semibold;
282 // Thanks: https://github.com/kmoskwiak/videojs-resolution-switcher/pull/92/files
283 .vjs-resolution-button-label {
284 line-height: $control-bar-height;
294 .vjs-resolution-button {
295 outline: 0 !important;
303 left: 50%; /* Center the menu, in it's parent */
304 margin-left: -2em; /* half of width, to center */
308 text-transform: none;
315 @media screen and (max-width: 450px) {
316 .vjs-webtorrent-displayed {
317 display: none !important;
322 // Thanks: https://projects.lukehaas.me/css-loaders/
323 .vjs-loading-spinner {
324 margin: 0 !important;
325 //position: absolute;
326 // 15px is the nav bar height
327 top: calc(50% - 15px);
331 text-indent: -9999em;
332 border: 0.7em solid rgba(255, 255, 255, 0.2);
333 border-left-color: #ffffff;
334 transform: translateZ(0);
335 animation: spinner 1.4s infinite linear;
338 animation: none !important;
345 animation: none !important;
350 transform: rotate(0deg);
353 transform: rotate(360deg);