@gcorevideo/player 2.22.30 → 2.22.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/assets/media-control/container.scss +2 -3
  2. package/assets/poster/poster.ejs +3 -1
  3. package/assets/poster/poster.scss +3 -3
  4. package/assets/style/main.scss +1 -1
  5. package/dist/core.js +1 -1
  6. package/dist/index.css +670 -671
  7. package/dist/index.js +68 -98
  8. package/dist/player.d.ts +63 -33
  9. package/docs/api/{player.seektime.bindevents.md → player.clapprstats.clearmetrics.md} +3 -3
  10. package/docs/api/player.clapprstats.md +14 -0
  11. package/docs/api/player.extendedevents.md +14 -0
  12. package/docs/api/player.md +13 -2
  13. package/docs/api/player.seektime.attributes.md +0 -1
  14. package/docs/api/player.seektime.md +6 -197
  15. package/docs/api/{player.seektime.render.md → player.seektimesettings.md} +7 -7
  16. package/docs/api/player.skiptime.md +3 -184
  17. package/lib/plugins/poster/Poster.d.ts +24 -14
  18. package/lib/plugins/poster/Poster.d.ts.map +1 -1
  19. package/lib/plugins/poster/Poster.js +67 -97
  20. package/lib/testUtils.d.ts +13 -39
  21. package/lib/testUtils.d.ts.map +1 -1
  22. package/lib/testUtils.js +14 -65
  23. package/package.json +1 -1
  24. package/src/plugins/media-control/__tests__/__snapshots__/MediaControl.test.ts.snap +1 -1
  25. package/src/plugins/poster/Poster.ts +91 -110
  26. package/src/plugins/poster/__tests__/Poster.test.ts +119 -0
  27. package/src/plugins/poster/__tests__/__snapshots__/Poster.test.ts.snap +8 -0
  28. package/src/plugins/source-controller/__tests__/SourceController.test.ts +1 -2
  29. package/src/testUtils.ts +14 -86
  30. package/temp/player.api.json +295 -829
  31. package/tsconfig.tsbuildinfo +1 -1
  32. package/docs/api/player.seektime.durationshown.md +0 -14
  33. package/docs/api/player.seektime.getseektime.md +0 -20
  34. package/docs/api/player.seektime.islivestreamwithdvr.md +0 -14
  35. package/docs/api/player.seektime.mediacontrol.md +0 -14
  36. package/docs/api/player.seektime.mediacontrolcontainer.md +0 -14
  37. package/docs/api/player.seektime.shouldbevisible.md +0 -18
  38. package/docs/api/player.seektime.template.md +0 -14
  39. package/docs/api/player.seektime.update.md +0 -18
  40. package/docs/api/player.skiptime.attributes.md +0 -17
  41. package/docs/api/player.skiptime.bindevents.md +0 -18
  42. package/docs/api/player.skiptime.events.md +0 -18
  43. package/docs/api/player.skiptime.handlerewindclicks.md +0 -18
  44. package/docs/api/player.skiptime.render.md +0 -18
  45. package/docs/api/player.skiptime.setback.md +0 -18
  46. package/docs/api/player.skiptime.setforward.md +0 -18
  47. package/docs/api/player.skiptime.setmidclick.md +0 -18
  48. package/docs/api/player.skiptime.template.md +0 -14
  49. package/docs/api/player.skiptime.togglefullscreen.md +0 -18
package/dist/index.css CHANGED
@@ -91,7 +91,7 @@
91
91
  user-select: none;
92
92
  }
93
93
 
94
- .player-poster[data-poster] {
94
+ .player-poster {
95
95
  background-size: contain !important;
96
96
  }
97
97
 
@@ -122,40 +122,6 @@
122
122
  .gplayer-lite-btn::-moz-focus-inner {
123
123
  border: 0;
124
124
  padding: 0;
125
- }div.player-error-screen, [data-player] div.player-error-screen {
126
- color: #CCCACA;
127
- position: absolute;
128
- top: 0;
129
- height: 100%;
130
- width: 100%;
131
- background-color: rgba(0, 0, 0, 0.7);
132
- z-index: 2000;
133
- display: flex;
134
- flex-direction: column;
135
- justify-content: center;
136
- }
137
- div.player-error-screen__content[data-error-screen], [data-player] div.player-error-screen__content[data-error-screen] {
138
- font-size: 14px;
139
- color: #CCCACA;
140
- margin-top: 45px;
141
- }
142
- div.player-error-screen__title[data-error-screen], [data-player] div.player-error-screen__title[data-error-screen] {
143
- font-weight: bold;
144
- line-height: 30px;
145
- font-size: 18px;
146
- }
147
- div.player-error-screen__message[data-error-screen], [data-player] div.player-error-screen__message[data-error-screen] {
148
- width: 90%;
149
- margin: 0 auto;
150
- }
151
- div.player-error-screen__code[data-error-screen], [data-player] div.player-error-screen__code[data-error-screen] {
152
- font-size: 13px;
153
- margin-top: 15px;
154
- }
155
- div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
156
- cursor: pointer;
157
- width: 30px;
158
- margin: 15px auto 0;
159
125
  }.media-control-skin-1[data-media-control-skin-1] .media-control-gear {
160
126
  order: 99;
161
127
  height: 20px;
@@ -262,6 +228,128 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
262
228
  }
263
229
  .gear-wrapper ul.gear-sub-menu li.current a .check-icon svg {
264
230
  display: inline;
231
+ }*,
232
+ :focus,
233
+ :visited {
234
+ outline: none !important;
235
+ }
236
+
237
+ .media-control-audiotracks {
238
+ position: relative;
239
+ }
240
+ .media-control-audiotracks button {
241
+ background-color: transparent;
242
+ color: #fff;
243
+ -webkit-font-smoothing: antialiased;
244
+ border: none;
245
+ cursor: pointer;
246
+ display: flex;
247
+ align-items: center;
248
+ padding: 0;
249
+ }
250
+ .media-control-audiotracks button .audio-text {
251
+ text-overflow: ellipsis;
252
+ overflow: hidden;
253
+ white-space: nowrap;
254
+ max-width: 100px;
255
+ background-color: transparent;
256
+ -webkit-font-smoothing: antialiased;
257
+ border: none;
258
+ cursor: pointer;
259
+ }
260
+ .media-control-audiotracks button:hover {
261
+ color: white;
262
+ }
263
+ .media-control-audiotracks button.changing {
264
+ animation: pulse 0.5s infinite alternate;
265
+ }
266
+ .media-control-audiotracks button span.audio-arrow {
267
+ width: 9px;
268
+ height: 6px;
269
+ margin-left: 5px;
270
+ }
271
+ .media-control-audiotracks .menu {
272
+ max-width: 114px;
273
+ list-style-type: none;
274
+ position: absolute;
275
+ background-color: rgba(74, 74, 74, 0.6);
276
+ border: none;
277
+ min-width: 60px;
278
+ border-radius: 4px;
279
+ bottom: 40px;
280
+ right: -2px;
281
+ }
282
+ .media-control-audiotracks .menu.hidden {
283
+ display: none;
284
+ }
285
+ .media-control-audiotracks li {
286
+ font-size: var(--font-size-media-controls-dropdown);
287
+ text-align: right;
288
+ height: 30px;
289
+ }
290
+ .media-control-audiotracks li[data-title] {
291
+ background-color: #c3c2c2;
292
+ padding: 5px;
293
+ }
294
+ .media-control-audiotracks li a {
295
+ display: block;
296
+ text-decoration: none;
297
+ text-overflow: ellipsis;
298
+ overflow: hidden;
299
+ white-space: nowrap;
300
+ height: 30px;
301
+ padding: 5px 10px;
302
+ color: #fffffe;
303
+ }
304
+ .media-control-audiotracks li a:hover {
305
+ text-decoration: none;
306
+ background-color: rgba(0, 0, 0, 0.4);
307
+ color: white;
308
+ }
309
+ .media-control-audiotracks li.current a {
310
+ color: #f00;
311
+ }
312
+ .media-control-audiotracks li:first-child a {
313
+ border-bottom-left-radius: 4px;
314
+ border-bottom-right-radius: 4px;
315
+ }
316
+ .media-control-audiotracks li:last-child a {
317
+ border-top-left-radius: 4px;
318
+ border-top-right-radius: 4px;
319
+ }
320
+
321
+ @keyframes pulse {
322
+ 0% {
323
+ color: #fff;
324
+ }
325
+ 50% {
326
+ color: #ff0101;
327
+ }
328
+ 100% {
329
+ color: #B80000;
330
+ }
331
+ }@charset "UTF-8";
332
+ .media-control-clips {
333
+ display: flex;
334
+ gap: 6px;
335
+ }
336
+ .media-control-clips .media-clip-text {
337
+ text-overflow: ellipsis;
338
+ white-space: nowrap;
339
+ overflow: hidden;
340
+ display: inline-block;
341
+ text-overflow: ellipsis;
342
+ color: white;
343
+ cursor: default;
344
+ line-height: var(--bottom-panel);
345
+ position: relative;
346
+ }
347
+ .media-control-clips .media-clip-text::before {
348
+ content: "•";
349
+ padding-right: 6px;
350
+ }
351
+ .media-control-clips .media-clip-text {
352
+ max-width: 100px;
265
353
  }:root {
266
354
  --primary-background-color: #000;
267
355
  --secondary-background-color: #262626;
@@ -626,297 +714,196 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
626
714
  .fullscreen .clappr-nerd-stats .stats-box {
627
715
  top: unset;
628
716
  }
629
- }.player-poster[data-poster] {
717
+ }.big-mute-icon-wrapper[data-big-mute] {
718
+ position: absolute;
719
+ z-index: 9998;
720
+ background-color: transparent;
630
721
  display: flex;
631
722
  justify-content: center;
632
- align-items: center;
633
- position: absolute;
634
- height: 100%;
635
- width: 100%;
636
- z-index: 998;
637
- top: 0;
638
- left: 0;
639
- background-color: #000;
640
- background-size: cover;
641
- background-repeat: no-repeat;
642
- background-position: 50% 50%;
643
- }
644
- .player-poster[data-poster].clickable {
645
- cursor: pointer;
646
- }
647
- .player-poster[data-poster]:hover .play-wrapper[data-poster] {
648
- opacity: 1;
649
- }
650
- .player-poster[data-poster] .play-wrapper[data-poster] {
651
723
  width: 100%;
652
- height: 25%;
724
+ height: calc(100% - 50px);
653
725
  margin: 0 auto;
654
726
  opacity: 0.75;
655
727
  transition: opacity 0.1s ease;
728
+ pointer-events: auto;
656
729
  }
657
- .player-poster[data-poster] .play-wrapper[data-poster] svg {
658
- height: 100%;
659
- display: inline;
730
+ .big-mute-icon-wrapper[data-big-mute].hide {
731
+ display: none;
660
732
  }
661
- .player-poster[data-poster] .play-wrapper[data-poster] svg path {
662
- fill: #fff;
663
- }*, :focus, :visited {
664
- outline: none !important;
733
+ .big-mute-icon-wrapper[data-big-mute]:hover {
734
+ cursor: pointer;
665
735
  }
666
736
 
667
- .multicamera[data-multicamera] {
668
- float: right;
669
- margin-top: 4px;
670
- position: relative;
671
- margin-right: 20px;
672
- width: 20px;
737
+ .big-mute-icon[data-big-mute-icon] {
738
+ display: flex;
739
+ align-items: center;
740
+ justify-content: center;
741
+ align-self: center;
742
+ width: 120px;
743
+ height: 120px;
744
+ border: 2px solid white;
745
+ border-radius: 50%;
746
+ filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
747
+ filter: alpha(opacity=60);
748
+ opacity: 1;
749
+ box-shadow: 0 0 1px 0 white;
750
+ background: rgba(240, 243, 247, 0.9411764706);
751
+ z-index: 10000;
673
752
  }
674
- .multicamera[data-multicamera] button {
675
- background-color: transparent;
676
- color: #fff;
677
- font-family: Roboto, "Open Sans", Arial, sans-serif;
678
- -webkit-font-smoothing: antialiased;
679
- border: none;
680
- font-size: 14px;
681
- padding: 0;
753
+ .big-mute-icon[data-big-mute-icon] svg {
754
+ margin-left: 5px;
755
+ width: 80px;
756
+ height: 80px;
682
757
  }
683
- .multicamera[data-multicamera] button svg {
684
- height: 20px;
685
- position: relative;
686
- margin-top: 6px;
758
+ .big-mute-icon[data-big-mute-icon] svg path {
759
+ fill: #1f1e1e !important;
687
760
  }
688
- .multicamera[data-multicamera] button:hover {
689
- color: #c9c9c9;
761
+ .big-mute-icon[data-big-mute-icon]:hover {
762
+ background: rgba(240, 243, 247, 0.8784313725);
690
763
  }
691
- .multicamera[data-multicamera] button.changing {
692
- animation: pulse 0.5s infinite alternate;
764
+ .big-mute-icon[data-big-mute-icon]:hover svg path {
765
+ fill: #151515 !important;
766
+ }.dvr-controls[data-dvr] {
767
+ display: inline-block;
768
+ color: var(--player-dvr-color);
769
+ line-height: 32px;
770
+ font-size: 10px;
771
+ font-weight: bold;
772
+ margin-left: 6px;
773
+ height: 40px;
774
+ line-height: 40px;
775
+ margin-left: 0;
693
776
  }
694
- .multicamera[data-multicamera] button span.quality-arrow {
695
- width: 9px;
696
- height: 6px;
697
- margin-top: 11px;
698
- margin-left: 5px;
777
+ .dvr-controls[data-dvr] .live-info {
778
+ cursor: default;
779
+ text-transform: uppercase;
699
780
  }
700
- .multicamera[data-multicamera] > ul {
701
- padding: 6px 0;
702
- right: -24px;
703
- width: 245px;
704
- list-style-type: none;
705
- position: absolute;
706
- bottom: 48px;
707
- border-radius: 4px;
708
- display: none;
709
- background-color: rgba(74, 74, 74, 0.9);
710
- }
711
- .multicamera[data-multicamera] > ul::after {
781
+ .dvr-controls[data-dvr] .live-info:before {
712
782
  content: "";
713
- position: absolute;
714
- top: 100%;
715
- left: 85%;
716
- margin-left: -10px;
717
- width: 0;
718
- height: 0;
719
- border-top: 10px solid rgba(74, 74, 74, 0.9);
720
- border-right: 10px solid transparent;
721
- border-left: 10px solid transparent;
722
- }
723
- .multicamera[data-multicamera] li {
724
- font-size: 10px;
725
- cursor: pointer;
726
- }
727
- .multicamera[data-multicamera] li .multicamera-item {
728
- display: flex;
729
- padding: 10px 0;
730
- justify-content: center;
783
+ display: inline-block;
731
784
  position: relative;
785
+ width: 7px;
786
+ height: 7px;
787
+ border-radius: 3.5px;
788
+ margin-right: 3.5px;
789
+ background-color: var(--player-live-color);
732
790
  }
733
- .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] {
734
- pointer-events: none;
735
- }
736
- .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] .multicamera-screenshot {
737
- opacity: 0.5;
738
- }
739
- .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] .multicamera-text {
740
- opacity: 0.5;
741
- }
742
- .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false]:hover {
743
- background-color: rgba(0, 0, 0, 0);
791
+ .dvr-controls[data-dvr] .live-info.disabled {
792
+ opacity: 0.3;
744
793
  }
745
- .multicamera[data-multicamera] li .multicamera-item:hover, .multicamera[data-multicamera] li .multicamera-item.multicamera-active {
746
- background-color: rgba(0, 0, 0, 0.3);
794
+ .dvr-controls[data-dvr] .live-info.disabled:before {
795
+ background-color: var(--player-dvr-color);
747
796
  }
748
- .multicamera[data-multicamera] li .multicamera-item .multicamera-screenshot {
749
- width: 80px;
750
- height: 60px;
797
+ .dvr-controls[data-dvr] .live-button {
798
+ cursor: pointer;
799
+ outline: none;
800
+ display: none;
801
+ border: 0;
802
+ color: var(--player-dvr-color);
803
+ background-color: transparent;
804
+ height: 32px;
805
+ padding: 0;
806
+ opacity: 0.7;
807
+ text-transform: uppercase;
808
+ transition: all 0.1s ease;
751
809
  }
752
- .multicamera[data-multicamera] li .multicamera-item .multicamera-screenshot img {
753
- width: 80px;
754
- height: 60px;
810
+ .dvr-controls[data-dvr] .live-button:before {
811
+ content: "";
812
+ display: inline-block;
813
+ position: relative;
814
+ width: 7px;
815
+ height: 7px;
816
+ border-radius: 3.5px;
817
+ margin-right: 3.5px;
818
+ background-color: var(--player-dvr-color);
755
819
  }
756
- .multicamera[data-multicamera] li .multicamera-item .multicamera-text {
757
- width: 120px;
758
- text-align: left;
759
- margin-left: 15px;
820
+ .dvr-controls[data-dvr] .live-button:hover {
821
+ opacity: 1;
822
+ text-shadow: rgba(255, 255, 255, 0.75) 0 0 5px;
760
823
  }
761
- .multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-title, .multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-description {
762
- width: 120px;
763
- height: 20px;
764
- font-family: Roboto, "Open Sans", Arial, sans-serif;
824
+ .dvr-controls[data-dvr] .live-info {
765
825
  font-size: 14px;
766
- font-weight: normal;
767
- font-style: normal;
768
- font-stretch: normal;
769
- line-height: 1.43;
770
- letter-spacing: normal;
771
- text-align: left;
772
- color: #fff;
773
- text-overflow: ellipsis;
774
- overflow: hidden;
775
- }
776
- .multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-description {
777
- opacity: 0.6;
778
- }
779
- .multicamera[data-multicamera] li[data-title] {
780
- background-color: #c3c2c2;
781
- padding: 5px;
782
- }
783
- .multicamera[data-multicamera] li a {
784
- color: #444;
785
- padding: 2px 10px;
786
- display: block;
787
- text-decoration: none;
788
- }
789
- .multicamera[data-multicamera] li a:hover {
790
- background-color: #555;
791
- color: white;
826
+ letter-spacing: 0.8px;
827
+ font-weight: 500;
828
+ color: #fffffe;
829
+ margin-left: 21px;
792
830
  }
793
- .multicamera[data-multicamera] li a:hover a {
794
- color: white;
795
- text-decoration: none;
831
+ .dvr-controls[data-dvr] .live-info::before {
832
+ width: 10px;
833
+ height: 10px;
834
+ border-radius: 50%;
835
+ margin-right: 8px;
836
+ background-color: #ed4f4a;
796
837
  }
797
- .multicamera[data-multicamera] li.current a {
798
- color: #f00;
838
+ .dvr-controls[data-dvr] .live-button {
839
+ height: 40px;
840
+ opacity: 1;
841
+ font-size: 14px;
842
+ letter-spacing: 0.8px;
843
+ font-weight: 500;
844
+ margin-left: 20px;
799
845
  }
800
-
801
- @keyframes pulse {
802
- 0% {
803
- color: #fff;
804
- }
805
- 50% {
806
- color: #ff0101;
807
- }
808
- 100% {
809
- color: #B80000;
810
- }
811
- }.media-control-pip {
812
- order: 95;
846
+ .dvr-controls[data-dvr] .live-button::before {
847
+ width: 10px;
848
+ height: 10px;
849
+ border-radius: 50%;
850
+ margin-right: 8px;
851
+ background-color: #cacaca;
852
+ }div.player-error-screen, [data-player] div.player-error-screen {
853
+ color: #CCCACA;
854
+ position: absolute;
855
+ top: 0;
856
+ height: 100%;
857
+ width: 100%;
858
+ background-color: rgba(0, 0, 0, 0.7);
859
+ z-index: 2000;
813
860
  display: flex;
861
+ flex-direction: column;
862
+ justify-content: center;
814
863
  }
815
- .media-control-pip button {
816
- height: 20px;
864
+ div.player-error-screen__content[data-error-screen], [data-player] div.player-error-screen__content[data-error-screen] {
865
+ font-size: 14px;
866
+ color: #CCCACA;
867
+ margin-top: 45px;
817
868
  }
818
- .media-control-pip button svg {
819
- height: 20px;
820
- }*,
821
- :focus,
822
- :visited {
823
- outline: none !important;
869
+ div.player-error-screen__title[data-error-screen], [data-player] div.player-error-screen__title[data-error-screen] {
870
+ font-weight: bold;
871
+ line-height: 30px;
872
+ font-size: 18px;
824
873
  }
825
-
826
- .media-control-audiotracks {
827
- position: relative;
874
+ div.player-error-screen__message[data-error-screen], [data-player] div.player-error-screen__message[data-error-screen] {
875
+ width: 90%;
876
+ margin: 0 auto;
828
877
  }
829
- .media-control-audiotracks button {
830
- background-color: transparent;
831
- color: #fff;
832
- -webkit-font-smoothing: antialiased;
833
- border: none;
834
- cursor: pointer;
835
- display: flex;
836
- align-items: center;
837
- padding: 0;
878
+ div.player-error-screen__code[data-error-screen], [data-player] div.player-error-screen__code[data-error-screen] {
879
+ font-size: 13px;
880
+ margin-top: 15px;
838
881
  }
839
- .media-control-audiotracks button .audio-text {
840
- text-overflow: ellipsis;
841
- overflow: hidden;
842
- white-space: nowrap;
843
- max-width: 100px;
844
- background-color: transparent;
845
- -webkit-font-smoothing: antialiased;
846
- border: none;
882
+ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
847
883
  cursor: pointer;
884
+ width: 30px;
885
+ margin: 15px auto 0;
886
+ }.container-with-poster-clickable .mc-skip-time {
887
+ height: 0;
848
888
  }
849
- .media-control-audiotracks button:hover {
850
- color: white;
851
- }
852
- .media-control-audiotracks button.changing {
853
- animation: pulse 0.5s infinite alternate;
854
- }
855
- .media-control-audiotracks button span.audio-arrow {
856
- width: 9px;
857
- height: 6px;
858
- margin-left: 5px;
859
- }
860
- .media-control-audiotracks .menu {
861
- max-width: 114px;
862
- list-style-type: none;
889
+
890
+ .mc-skip-time {
863
891
  position: absolute;
864
- background-color: rgba(74, 74, 74, 0.6);
865
- border: none;
866
- min-width: 60px;
867
- border-radius: 4px;
868
- bottom: 40px;
869
- right: -2px;
870
- }
871
- .media-control-audiotracks .menu.hidden {
872
- display: none;
873
- }
874
- .media-control-audiotracks li {
875
- font-size: var(--font-size-media-controls-dropdown);
876
- text-align: right;
877
- height: 30px;
878
- }
879
- .media-control-audiotracks li[data-title] {
880
- background-color: #c3c2c2;
881
- padding: 5px;
882
- }
883
- .media-control-audiotracks li a {
884
- display: block;
885
- text-decoration: none;
886
- text-overflow: ellipsis;
887
- overflow: hidden;
888
- white-space: nowrap;
889
- height: 30px;
890
- padding: 5px 10px;
891
- color: #fffffe;
892
- }
893
- .media-control-audiotracks li a:hover {
894
- text-decoration: none;
895
- background-color: rgba(0, 0, 0, 0.4);
896
- color: white;
897
- }
898
- .media-control-audiotracks li.current a {
899
- color: #f00;
900
- }
901
- .media-control-audiotracks li:first-child a {
902
- border-bottom-left-radius: 4px;
903
- border-bottom-right-radius: 4px;
892
+ width: 100%;
893
+ height: calc(100% - 50px);
894
+ z-index: 9998;
895
+ background-color: transparent;
896
+ font-family: Roboto, "Open Sans", Arial, sans-serif;
904
897
  }
905
- .media-control-audiotracks li:last-child a {
906
- border-top-left-radius: 4px;
907
- border-top-right-radius: 4px;
898
+ .mc-skip-time .skip-container {
899
+ width: 100%;
900
+ height: 100%;
901
+ display: flex;
902
+ justify-content: space-between;
908
903
  }
909
-
910
- @keyframes pulse {
911
- 0% {
912
- color: #fff;
913
- }
914
- 50% {
915
- color: #ff0101;
916
- }
917
- 100% {
918
- color: #B80000;
919
- }
904
+ .mc-skip-time .skip-container .skip-item {
905
+ flex: 1 0 0px;
906
+ height: 100%;
920
907
  }[data-player] {
921
908
  --bottom-panel: 40px;
922
909
  }
@@ -924,7 +911,7 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
924
911
  .container .media-control-notransition {
925
912
  transition: none !important;
926
913
  }
927
- .container .player-poster[data-poster] .play-wrapper[data-poster] {
914
+ .container .player-poster .play-wrapper {
928
915
  opacity: 1;
929
916
  }
930
917
  .container.crop-video [data-html5-video] {
@@ -941,7 +928,7 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
941
928
  color: white;
942
929
  display: inline-block;
943
930
  }
944
- .container .circle-poster[data-poster] {
931
+ .container .player-poster .circle-poster {
945
932
  top: 50%;
946
933
  margin-top: -60px;
947
934
  left: 50%;
@@ -956,10 +943,9 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
956
943
  opacity: 1;
957
944
  box-shadow: 0 0 1px 0 white;
958
945
  }
959
- .container .circle-poster[data-poster] svg {
946
+ .container .player-poster .circle-poster svg {
960
947
  margin-left: 5px;
961
948
  width: 80px;
962
- height: 80px;
963
949
  }
964
950
  .container .spinner-three-bounce[data-spinner] > div {
965
951
  background-color: #ff5700;
@@ -1521,334 +1507,152 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
1521
1507
  line-height: 26px;
1522
1508
  bottom: 52px;
1523
1509
  border-radius: 3px;
1524
- background-color: rgba(74, 74, 74, 0.7);
1525
- }
1526
- .media-control-skin-1[data-media-control-skin-1] .seek-time span {
1527
- letter-spacing: 0.8px;
1528
- font-size: 14px;
1529
- font-family: Roboto, "Open Sans", Arial, sans-serif;
1530
- }
1531
- .media-control-skin-1[data-media-control-skin-1] .seek-time .seek-time__pos {
1532
- padding-left: 8px;
1533
- padding-right: 8px;
1534
- }.container-with-poster-clickable .mc-skip-time {
1535
- height: 0;
1536
- }
1537
-
1538
- .mc-skip-time {
1539
- position: absolute;
1540
- width: 100%;
1541
- height: calc(100% - 50px);
1542
- z-index: 9998;
1543
- background-color: transparent;
1544
- font-family: Roboto, "Open Sans", Arial, sans-serif;
1545
- }
1546
- .mc-skip-time .skip-container {
1547
- width: 100%;
1548
- height: 100%;
1549
- display: flex;
1550
- justify-content: space-between;
1551
- }
1552
- .mc-skip-time .skip-container .skip-item {
1553
- flex: 1 0 0px;
1554
- height: 100%;
1555
- }.spinner-three-bounce[data-spinner] {
1556
- position: absolute;
1557
- width: 70px;
1558
- text-align: center;
1559
- z-index: 999;
1560
- left: 0;
1561
- right: 0;
1562
- margin: 0 auto;
1563
- margin-left: auto;
1564
- margin-right: auto;
1565
- /* center vertically */
1566
- top: 50%;
1567
- transform: translateY(-50%);
1568
- }
1569
- .spinner-three-bounce[data-spinner] > div {
1570
- width: 18px;
1571
- height: 18px;
1572
- background-color: #FFF;
1573
- border-radius: 100%;
1574
- display: inline-block;
1575
- animation: bouncedelay 1.4s infinite ease-in-out;
1576
- /* Prevent first frame from flickering when animation starts */
1577
- animation-fill-mode: both;
1578
- }
1579
- .spinner-three-bounce[data-spinner] [data-bounce1] {
1580
- animation-delay: -0.32s;
1581
- }
1582
- .spinner-three-bounce[data-spinner] [data-bounce2] {
1583
- animation-delay: -0.16s;
1584
- }
1585
-
1586
- @keyframes bouncedelay {
1587
- 0%, 80%, 100% {
1588
- transform: scale(0);
1589
- }
1590
- 40% {
1591
- transform: scale(1);
1592
- }
1593
- }.big-mute-icon-wrapper[data-big-mute] {
1594
- position: absolute;
1595
- z-index: 9998;
1596
- background-color: transparent;
1597
- display: flex;
1598
- justify-content: center;
1599
- width: 100%;
1600
- height: calc(100% - 50px);
1601
- margin: 0 auto;
1602
- opacity: 0.75;
1603
- transition: opacity 0.1s ease;
1604
- pointer-events: auto;
1605
- }
1606
- .big-mute-icon-wrapper[data-big-mute].hide {
1607
- display: none;
1608
- }
1609
- .big-mute-icon-wrapper[data-big-mute]:hover {
1610
- cursor: pointer;
1611
- }
1612
-
1613
- .big-mute-icon[data-big-mute-icon] {
1614
- display: flex;
1615
- align-items: center;
1616
- justify-content: center;
1617
- align-self: center;
1618
- width: 120px;
1619
- height: 120px;
1620
- border: 2px solid white;
1621
- border-radius: 50%;
1622
- filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
1623
- filter: alpha(opacity=60);
1624
- opacity: 1;
1625
- box-shadow: 0 0 1px 0 white;
1626
- background: rgba(240, 243, 247, 0.9411764706);
1627
- z-index: 10000;
1628
- }
1629
- .big-mute-icon[data-big-mute-icon] svg {
1630
- margin-left: 5px;
1631
- width: 80px;
1632
- height: 80px;
1633
- }
1634
- .big-mute-icon[data-big-mute-icon] svg path {
1635
- fill: #1f1e1e !important;
1636
- }
1637
- .big-mute-icon[data-big-mute-icon]:hover {
1638
- background: rgba(240, 243, 247, 0.8784313725);
1639
- }
1640
- .big-mute-icon[data-big-mute-icon]:hover svg path {
1641
- fill: #151515 !important;
1642
- }.seek-time {
1643
- position: absolute;
1644
- white-space: nowrap;
1645
- height: 20px;
1646
- line-height: 20px;
1647
- font-size: 0;
1648
- left: -100%;
1649
- bottom: 55px;
1650
- background-color: rgba(2, 2, 2, 0.5);
1651
- z-index: 9999;
1652
- transition: opacity 0.1s ease;
1653
- }
1654
- .seek-time.hidden {
1655
- opacity: 0;
1656
- }
1657
- .seek-time .seek-time__pos {
1658
- display: inline-block;
1659
- color: white;
1660
- font-size: 10px;
1661
- padding-left: 7px;
1662
- padding-right: 7px;
1663
- vertical-align: top;
1664
- }
1665
- .seek-time .seek-time__duration {
1666
- display: inline-block;
1667
- color: rgba(255, 255, 255, 0.5);
1668
- font-size: 10px;
1669
- padding-right: 7px;
1670
- vertical-align: top;
1671
- }
1672
- .seek-time .seek-time__duration::before {
1673
- content: "|";
1674
- margin-right: 7px;
1675
- }.context-menu {
1676
- z-index: 999;
1677
- position: absolute;
1678
- top: 0;
1679
- left: 0;
1680
- text-align: center;
1681
- }
1682
- .context-menu .context-menu-list {
1683
- font-family: "Proxima Nova", sans-serif;
1684
- font-size: 12px;
1685
- line-height: 12px;
1686
- list-style-type: none;
1687
- text-align: left;
1688
- padding: 5px;
1689
- margin-left: auto;
1690
- margin-right: auto;
1691
- background-color: rgba(0, 0, 0, 0.75);
1692
- border: 1px solid #666;
1693
- border-radius: 4px;
1694
- }
1695
- .context-menu .context-menu-list-item button {
1696
- border: none;
1697
- background-color: transparent;
1698
- padding: 0;
1699
- color: white;
1700
- display: flex;
1701
- gap: 8px;
1702
- align-items: center;
1703
- justify-content: center;
1704
- cursor: pointer;
1705
- padding: 5px;
1706
- width: 100%;
1707
- }
1708
- .context-menu .context-menu-list-item_icon {
1709
- width: 20px;
1710
- height: 20px;
1711
- }@charset "UTF-8";
1712
- .media-control-clips {
1713
- display: flex;
1714
- gap: 6px;
1715
- }
1716
- .media-control-clips .media-clip-text {
1717
- text-overflow: ellipsis;
1718
- white-space: nowrap;
1719
- overflow: hidden;
1720
- display: inline-block;
1721
- text-overflow: ellipsis;
1722
- color: white;
1723
- cursor: default;
1724
- line-height: var(--bottom-panel);
1725
- position: relative;
1726
- }
1727
- .media-control-clips .media-clip-text::before {
1728
- content: "•";
1729
- padding-right: 6px;
1730
- }
1731
- .media-control-clips .media-clip-text {
1732
- max-width: 100px;
1733
- }.quality-levels li.disabled {
1734
- opacity: 0.5;
1735
- pointer-events: none;
1736
- }
1737
- .quality-levels li.current {
1738
- background-color: #000;
1739
- }.scrub-thumbnails {
1740
- position: absolute;
1741
- bottom: 52px;
1742
- width: 100%;
1743
- transition: opacity 0.3s ease;
1744
- }
1745
- .scrub-thumbnails.hidden {
1746
- opacity: 0;
1747
- }
1748
- .scrub-thumbnails .thumbnail-container {
1749
- display: inline-block;
1750
- position: relative;
1751
- overflow: hidden;
1752
- background-color: #000;
1753
- }
1754
- .scrub-thumbnails .thumbnail-container .thumbnail-img {
1755
- position: absolute;
1756
- width: auto;
1757
- }
1758
- .scrub-thumbnails .thumbnails-text {
1759
- background-color: rgba(74, 74, 74, 0.7);
1760
- border-radius: 3px;
1761
- white-space: nowrap;
1762
- overflow: hidden;
1763
- text-overflow: ellipsis;
1764
- color: white;
1765
- position: absolute;
1766
- bottom: 23px;
1767
- width: 100px;
1768
- }
1769
- .scrub-thumbnails .spotlight {
1770
- background-color: #4a4a4a;
1771
- overflow: hidden;
1772
- position: absolute;
1773
- bottom: 0;
1774
- left: 0;
1775
- border-color: #4a4a4a;
1776
- border-style: solid;
1777
- border-width: 3px;
1778
- border-radius: 3px;
1779
- }
1780
- .scrub-thumbnails .spotlight img {
1781
- width: auto;
1782
- }
1783
- .scrub-thumbnails .backdrop {
1784
- position: absolute;
1785
- left: 0;
1786
- bottom: 0;
1787
- right: 0;
1788
- background-color: #000;
1789
- overflow: hidden;
1510
+ background-color: rgba(74, 74, 74, 0.7);
1790
1511
  }
1791
- .scrub-thumbnails .backdrop .carousel {
1792
- position: absolute;
1793
- top: 0;
1794
- left: 0;
1795
- height: 100%;
1796
- white-space: nowrap;
1512
+ .media-control-skin-1[data-media-control-skin-1] .seek-time span {
1513
+ letter-spacing: 0.8px;
1514
+ font-size: 14px;
1515
+ font-family: Roboto, "Open Sans", Arial, sans-serif;
1797
1516
  }
1798
- .scrub-thumbnails .backdrop .carousel img {
1799
- width: auto;
1800
- }*,
1801
- :focus,
1802
- :visited {
1517
+ .media-control-skin-1[data-media-control-skin-1] .seek-time .seek-time__pos {
1518
+ padding-left: 8px;
1519
+ padding-right: 8px;
1520
+ }*, :focus, :visited {
1803
1521
  outline: none !important;
1804
1522
  }
1805
1523
 
1806
- .media-control-cc[data-cc] {
1524
+ .multicamera[data-multicamera] {
1525
+ float: right;
1526
+ margin-top: 4px;
1807
1527
  position: relative;
1808
- order: 85;
1528
+ margin-right: 20px;
1529
+ width: 20px;
1809
1530
  }
1810
- .media-control-cc[data-cc] button {
1531
+ .multicamera[data-multicamera] button {
1811
1532
  background-color: transparent;
1812
1533
  color: #fff;
1534
+ font-family: Roboto, "Open Sans", Arial, sans-serif;
1813
1535
  -webkit-font-smoothing: antialiased;
1814
1536
  border: none;
1815
- cursor: pointer;
1537
+ font-size: 14px;
1538
+ padding: 0;
1816
1539
  }
1817
- .media-control-cc[data-cc] button .cc-text svg {
1818
- fill: white;
1540
+ .multicamera[data-multicamera] button svg {
1541
+ height: 20px;
1542
+ position: relative;
1543
+ margin-top: 6px;
1819
1544
  }
1820
- .media-control-cc[data-cc] button:hover {
1545
+ .multicamera[data-multicamera] button:hover {
1821
1546
  color: #c9c9c9;
1822
1547
  }
1823
- .media-control-cc[data-cc] button.changing {
1548
+ .multicamera[data-multicamera] button.changing {
1824
1549
  animation: pulse 0.5s infinite alternate;
1825
1550
  }
1826
- .media-control-cc[data-cc] ul {
1827
- width: 80px;
1551
+ .multicamera[data-multicamera] button span.quality-arrow {
1552
+ width: 9px;
1553
+ height: 6px;
1554
+ margin-top: 11px;
1555
+ margin-left: 5px;
1556
+ }
1557
+ .multicamera[data-multicamera] > ul {
1558
+ padding: 6px 0;
1559
+ right: -24px;
1560
+ width: 245px;
1828
1561
  list-style-type: none;
1829
1562
  position: absolute;
1830
- bottom: 25px;
1831
- border: 1px solid black;
1832
- background-color: #e6e6e6;
1833
- padding: 8px 0;
1563
+ bottom: 48px;
1564
+ border-radius: 4px;
1565
+ display: none;
1566
+ background-color: rgba(74, 74, 74, 0.9);
1834
1567
  }
1835
- .media-control-cc[data-cc] li a {
1568
+ .multicamera[data-multicamera] > ul::after {
1569
+ content: "";
1570
+ position: absolute;
1571
+ top: 100%;
1572
+ left: 85%;
1573
+ margin-left: -10px;
1574
+ width: 0;
1575
+ height: 0;
1576
+ border-top: 10px solid rgba(74, 74, 74, 0.9);
1577
+ border-right: 10px solid transparent;
1578
+ border-left: 10px solid transparent;
1579
+ }
1580
+ .multicamera[data-multicamera] li {
1581
+ font-size: 10px;
1582
+ cursor: pointer;
1583
+ }
1584
+ .multicamera[data-multicamera] li .multicamera-item {
1585
+ display: flex;
1586
+ padding: 10px 0;
1587
+ justify-content: center;
1588
+ position: relative;
1589
+ }
1590
+ .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] {
1591
+ pointer-events: none;
1592
+ }
1593
+ .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] .multicamera-screenshot {
1594
+ opacity: 0.5;
1595
+ }
1596
+ .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false] .multicamera-text {
1597
+ opacity: 0.5;
1598
+ }
1599
+ .multicamera[data-multicamera] li .multicamera-item[data-mulitcamera-selector-live=false]:hover {
1600
+ background-color: rgba(0, 0, 0, 0);
1601
+ }
1602
+ .multicamera[data-multicamera] li .multicamera-item:hover, .multicamera[data-multicamera] li .multicamera-item.multicamera-active {
1603
+ background-color: rgba(0, 0, 0, 0.3);
1604
+ }
1605
+ .multicamera[data-multicamera] li .multicamera-item .multicamera-screenshot {
1606
+ width: 80px;
1607
+ height: 60px;
1608
+ }
1609
+ .multicamera[data-multicamera] li .multicamera-item .multicamera-screenshot img {
1610
+ width: 80px;
1611
+ height: 60px;
1612
+ }
1613
+ .multicamera[data-multicamera] li .multicamera-item .multicamera-text {
1614
+ width: 120px;
1615
+ text-align: left;
1616
+ margin-left: 15px;
1617
+ }
1618
+ .multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-title, .multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-description {
1619
+ width: 120px;
1620
+ height: 20px;
1621
+ font-family: Roboto, "Open Sans", Arial, sans-serif;
1622
+ font-size: 14px;
1623
+ font-weight: normal;
1624
+ font-style: normal;
1625
+ font-stretch: normal;
1626
+ line-height: 1.43;
1627
+ letter-spacing: normal;
1628
+ text-align: left;
1629
+ color: #fff;
1630
+ text-overflow: ellipsis;
1631
+ overflow: hidden;
1632
+ }
1633
+ .multicamera[data-multicamera] li .multicamera-item .multicamera-text .multicamera-description {
1634
+ opacity: 0.6;
1635
+ }
1636
+ .multicamera[data-multicamera] li[data-title] {
1637
+ background-color: #c3c2c2;
1638
+ padding: 5px;
1639
+ }
1640
+ .multicamera[data-multicamera] li a {
1836
1641
  color: #444;
1837
1642
  padding: 2px 10px;
1838
1643
  display: block;
1839
1644
  text-decoration: none;
1840
1645
  }
1841
- .media-control-cc[data-cc] li a:hover {
1646
+ .multicamera[data-multicamera] li a:hover {
1842
1647
  background-color: #555;
1843
1648
  color: white;
1844
1649
  }
1845
- .media-control-cc[data-cc] li a:hover a {
1650
+ .multicamera[data-multicamera] li a:hover a {
1846
1651
  color: white;
1847
1652
  text-decoration: none;
1848
1653
  }
1849
- .media-control-cc[data-cc] li.current a {
1654
+ .multicamera[data-multicamera] li.current a {
1850
1655
  color: #f00;
1851
- background-color: #555;
1852
1656
  }
1853
1657
 
1854
1658
  @keyframes pulse {
@@ -1861,101 +1665,87 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
1861
1665
  100% {
1862
1666
  color: #B80000;
1863
1667
  }
1668
+ }.media-control-pip {
1669
+ order: 95;
1670
+ display: flex;
1864
1671
  }
1865
- ::cue {
1866
- visibility: hidden !important;
1867
- font-size: 0 !important;
1868
- }
1869
-
1870
- .ios-fullscreen::cue {
1871
- visibility: visible !important;
1872
- font-size: 1em !important;
1873
- }.dvr-controls[data-dvr] {
1874
- display: inline-block;
1875
- color: var(--player-dvr-color);
1876
- line-height: 32px;
1877
- font-size: 10px;
1878
- font-weight: bold;
1879
- margin-left: 6px;
1880
- height: 40px;
1881
- line-height: 40px;
1882
- margin-left: 0;
1883
- }
1884
- .dvr-controls[data-dvr] .live-info {
1885
- cursor: default;
1886
- text-transform: uppercase;
1672
+ .media-control-pip button {
1673
+ height: 20px;
1887
1674
  }
1888
- .dvr-controls[data-dvr] .live-info:before {
1889
- content: "";
1890
- display: inline-block;
1891
- position: relative;
1892
- width: 7px;
1893
- height: 7px;
1894
- border-radius: 3.5px;
1895
- margin-right: 3.5px;
1896
- background-color: var(--player-live-color);
1675
+ .media-control-pip button svg {
1676
+ height: 20px;
1677
+ }.player-poster {
1678
+ display: flex;
1679
+ justify-content: center;
1680
+ align-items: center;
1681
+ position: absolute;
1682
+ height: 100%;
1683
+ width: 100%;
1684
+ z-index: 998;
1685
+ top: 0;
1686
+ left: 0;
1687
+ background-color: #000;
1688
+ background-size: cover;
1689
+ background-repeat: no-repeat;
1690
+ background-position: 50% 50%;
1897
1691
  }
1898
- .dvr-controls[data-dvr] .live-info.disabled {
1899
- opacity: 0.3;
1692
+ .player-poster.clickable {
1693
+ cursor: pointer;
1900
1694
  }
1901
- .dvr-controls[data-dvr] .live-info.disabled:before {
1902
- background-color: var(--player-dvr-color);
1695
+ .player-poster:hover .play-wrapper {
1696
+ opacity: 1;
1903
1697
  }
1904
- .dvr-controls[data-dvr] .live-button {
1905
- cursor: pointer;
1906
- outline: none;
1907
- display: none;
1908
- border: 0;
1909
- color: var(--player-dvr-color);
1910
- background-color: transparent;
1911
- height: 32px;
1912
- padding: 0;
1913
- opacity: 0.7;
1914
- text-transform: uppercase;
1915
- transition: all 0.1s ease;
1698
+ .player-poster .play-wrapper {
1699
+ width: 100%;
1700
+ height: 25%;
1701
+ margin: 0 auto;
1702
+ opacity: 0.75;
1703
+ transition: opacity 0.1s ease;
1916
1704
  }
1917
- .dvr-controls[data-dvr] .live-button:before {
1918
- content: "";
1919
- display: inline-block;
1920
- position: relative;
1921
- width: 7px;
1922
- height: 7px;
1923
- border-radius: 3.5px;
1924
- margin-right: 3.5px;
1925
- background-color: var(--player-dvr-color);
1705
+ .player-poster .play-wrapper svg {
1706
+ height: 100%;
1707
+ display: inline;
1926
1708
  }
1927
- .dvr-controls[data-dvr] .live-button:hover {
1928
- opacity: 1;
1929
- text-shadow: rgba(255, 255, 255, 0.75) 0 0 5px;
1709
+ .player-poster .play-wrapper svg path {
1710
+ fill: #fff;
1711
+ }.spinner-three-bounce[data-spinner] {
1712
+ position: absolute;
1713
+ width: 70px;
1714
+ text-align: center;
1715
+ z-index: 999;
1716
+ left: 0;
1717
+ right: 0;
1718
+ margin: 0 auto;
1719
+ margin-left: auto;
1720
+ margin-right: auto;
1721
+ /* center vertically */
1722
+ top: 50%;
1723
+ transform: translateY(-50%);
1930
1724
  }
1931
- .dvr-controls[data-dvr] .live-info {
1932
- font-size: 14px;
1933
- letter-spacing: 0.8px;
1934
- font-weight: 500;
1935
- color: #fffffe;
1936
- margin-left: 21px;
1725
+ .spinner-three-bounce[data-spinner] > div {
1726
+ width: 18px;
1727
+ height: 18px;
1728
+ background-color: #FFF;
1729
+ border-radius: 100%;
1730
+ display: inline-block;
1731
+ animation: bouncedelay 1.4s infinite ease-in-out;
1732
+ /* Prevent first frame from flickering when animation starts */
1733
+ animation-fill-mode: both;
1937
1734
  }
1938
- .dvr-controls[data-dvr] .live-info::before {
1939
- width: 10px;
1940
- height: 10px;
1941
- border-radius: 50%;
1942
- margin-right: 8px;
1943
- background-color: #ed4f4a;
1735
+ .spinner-three-bounce[data-spinner] [data-bounce1] {
1736
+ animation-delay: -0.32s;
1944
1737
  }
1945
- .dvr-controls[data-dvr] .live-button {
1946
- height: 40px;
1947
- opacity: 1;
1948
- font-size: 14px;
1949
- letter-spacing: 0.8px;
1950
- font-weight: 500;
1951
- margin-left: 20px;
1738
+ .spinner-three-bounce[data-spinner] [data-bounce2] {
1739
+ animation-delay: -0.16s;
1952
1740
  }
1953
- .dvr-controls[data-dvr] .live-button::before {
1954
- width: 10px;
1955
- height: 10px;
1956
- border-radius: 50%;
1957
- margin-right: 8px;
1958
- background-color: #cacaca;
1741
+
1742
+ @keyframes bouncedelay {
1743
+ 0%, 80%, 100% {
1744
+ transform: scale(0);
1745
+ }
1746
+ 40% {
1747
+ transform: scale(1);
1748
+ }
1959
1749
  }.share_plugin[data-share] {
1960
1750
  pointer-events: auto;
1961
1751
  z-index: 5;
@@ -2039,6 +1829,215 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
2039
1829
  display: inline-block;
2040
1830
  margin-right: 5px;
2041
1831
  cursor: pointer;
1832
+ }*,
1833
+ :focus,
1834
+ :visited {
1835
+ outline: none !important;
1836
+ }
1837
+
1838
+ .media-control-cc[data-cc] {
1839
+ position: relative;
1840
+ order: 85;
1841
+ }
1842
+ .media-control-cc[data-cc] button {
1843
+ background-color: transparent;
1844
+ color: #fff;
1845
+ -webkit-font-smoothing: antialiased;
1846
+ border: none;
1847
+ cursor: pointer;
1848
+ }
1849
+ .media-control-cc[data-cc] button .cc-text svg {
1850
+ fill: white;
1851
+ }
1852
+ .media-control-cc[data-cc] button:hover {
1853
+ color: #c9c9c9;
1854
+ }
1855
+ .media-control-cc[data-cc] button.changing {
1856
+ animation: pulse 0.5s infinite alternate;
1857
+ }
1858
+ .media-control-cc[data-cc] ul {
1859
+ width: 80px;
1860
+ list-style-type: none;
1861
+ position: absolute;
1862
+ bottom: 25px;
1863
+ border: 1px solid black;
1864
+ background-color: #e6e6e6;
1865
+ padding: 8px 0;
1866
+ }
1867
+ .media-control-cc[data-cc] li a {
1868
+ color: #444;
1869
+ padding: 2px 10px;
1870
+ display: block;
1871
+ text-decoration: none;
1872
+ }
1873
+ .media-control-cc[data-cc] li a:hover {
1874
+ background-color: #555;
1875
+ color: white;
1876
+ }
1877
+ .media-control-cc[data-cc] li a:hover a {
1878
+ color: white;
1879
+ text-decoration: none;
1880
+ }
1881
+ .media-control-cc[data-cc] li.current a {
1882
+ color: #f00;
1883
+ background-color: #555;
1884
+ }
1885
+
1886
+ @keyframes pulse {
1887
+ 0% {
1888
+ color: #fff;
1889
+ }
1890
+ 50% {
1891
+ color: #ff0101;
1892
+ }
1893
+ 100% {
1894
+ color: #B80000;
1895
+ }
1896
+ }
1897
+ ::cue {
1898
+ visibility: hidden !important;
1899
+ font-size: 0 !important;
1900
+ }
1901
+
1902
+ .ios-fullscreen::cue {
1903
+ visibility: visible !important;
1904
+ font-size: 1em !important;
1905
+ }.context-menu {
1906
+ z-index: 999;
1907
+ position: absolute;
1908
+ top: 0;
1909
+ left: 0;
1910
+ text-align: center;
1911
+ }
1912
+ .context-menu .context-menu-list {
1913
+ font-family: "Proxima Nova", sans-serif;
1914
+ font-size: 12px;
1915
+ line-height: 12px;
1916
+ list-style-type: none;
1917
+ text-align: left;
1918
+ padding: 5px;
1919
+ margin-left: auto;
1920
+ margin-right: auto;
1921
+ background-color: rgba(0, 0, 0, 0.75);
1922
+ border: 1px solid #666;
1923
+ border-radius: 4px;
1924
+ }
1925
+ .context-menu .context-menu-list-item button {
1926
+ border: none;
1927
+ background-color: transparent;
1928
+ padding: 0;
1929
+ color: white;
1930
+ display: flex;
1931
+ gap: 8px;
1932
+ align-items: center;
1933
+ justify-content: center;
1934
+ cursor: pointer;
1935
+ padding: 5px;
1936
+ width: 100%;
1937
+ }
1938
+ .context-menu .context-menu-list-item_icon {
1939
+ width: 20px;
1940
+ height: 20px;
1941
+ }.quality-levels li.disabled {
1942
+ opacity: 0.5;
1943
+ pointer-events: none;
1944
+ }
1945
+ .quality-levels li.current {
1946
+ background-color: #000;
1947
+ }.seek-time {
1948
+ position: absolute;
1949
+ white-space: nowrap;
1950
+ height: 20px;
1951
+ line-height: 20px;
1952
+ font-size: 0;
1953
+ left: -100%;
1954
+ bottom: 55px;
1955
+ background-color: rgba(2, 2, 2, 0.5);
1956
+ z-index: 9999;
1957
+ transition: opacity 0.1s ease;
1958
+ }
1959
+ .seek-time.hidden {
1960
+ opacity: 0;
1961
+ }
1962
+ .seek-time .seek-time__pos {
1963
+ display: inline-block;
1964
+ color: white;
1965
+ font-size: 10px;
1966
+ padding-left: 7px;
1967
+ padding-right: 7px;
1968
+ vertical-align: top;
1969
+ }
1970
+ .seek-time .seek-time__duration {
1971
+ display: inline-block;
1972
+ color: rgba(255, 255, 255, 0.5);
1973
+ font-size: 10px;
1974
+ padding-right: 7px;
1975
+ vertical-align: top;
1976
+ }
1977
+ .seek-time .seek-time__duration::before {
1978
+ content: "|";
1979
+ margin-right: 7px;
1980
+ }.scrub-thumbnails {
1981
+ position: absolute;
1982
+ bottom: 52px;
1983
+ width: 100%;
1984
+ transition: opacity 0.3s ease;
1985
+ }
1986
+ .scrub-thumbnails.hidden {
1987
+ opacity: 0;
1988
+ }
1989
+ .scrub-thumbnails .thumbnail-container {
1990
+ display: inline-block;
1991
+ position: relative;
1992
+ overflow: hidden;
1993
+ background-color: #000;
1994
+ }
1995
+ .scrub-thumbnails .thumbnail-container .thumbnail-img {
1996
+ position: absolute;
1997
+ width: auto;
1998
+ }
1999
+ .scrub-thumbnails .thumbnails-text {
2000
+ background-color: rgba(74, 74, 74, 0.7);
2001
+ border-radius: 3px;
2002
+ white-space: nowrap;
2003
+ overflow: hidden;
2004
+ text-overflow: ellipsis;
2005
+ color: white;
2006
+ position: absolute;
2007
+ bottom: 23px;
2008
+ width: 100px;
2009
+ }
2010
+ .scrub-thumbnails .spotlight {
2011
+ background-color: #4a4a4a;
2012
+ overflow: hidden;
2013
+ position: absolute;
2014
+ bottom: 0;
2015
+ left: 0;
2016
+ border-color: #4a4a4a;
2017
+ border-style: solid;
2018
+ border-width: 3px;
2019
+ border-radius: 3px;
2020
+ }
2021
+ .scrub-thumbnails .spotlight img {
2022
+ width: auto;
2023
+ }
2024
+ .scrub-thumbnails .backdrop {
2025
+ position: absolute;
2026
+ left: 0;
2027
+ bottom: 0;
2028
+ right: 0;
2029
+ background-color: #000;
2030
+ overflow: hidden;
2031
+ }
2032
+ .scrub-thumbnails .backdrop .carousel {
2033
+ position: absolute;
2034
+ top: 0;
2035
+ left: 0;
2036
+ height: 100%;
2037
+ white-space: nowrap;
2038
+ }
2039
+ .scrub-thumbnails .backdrop .carousel img {
2040
+ width: auto;
2042
2041
  }.player-logo[data-logo] {
2043
2042
  position: absolute;
2044
2043
  z-index: 2;