@viewlift/player-backup 2.0.69-smartTv → 2.0.70-smartTv

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 (51) hide show
  1. package/cjs/autoNextVideo-1f49211b.js +1 -0
  2. package/cjs/bundle.css +1166 -631
  3. package/cjs/features-e8393717.js +1 -0
  4. package/cjs/generic-c3ef1a4c.js +1 -0
  5. package/cjs/index-27816143.js +1 -0
  6. package/cjs/index-4282d6c8.js +1 -0
  7. package/cjs/index.js +1 -1
  8. package/cjs/multicamv2-59658c00.js +1 -0
  9. package/cjs/multicamv2-733a4c98.js +1 -0
  10. package/cjs/nextEpisodeButton-db512765.js +1 -0
  11. package/cjs/playlist-dc7fd81d.js +1 -0
  12. package/cjs/resolution-5a0df2be.js +1 -0
  13. package/cjs/series-50af9773.js +1 -0
  14. package/cjs/series-v2-07ce65b0.js +1 -0
  15. package/cjs/series-v2-26fac2cb.js +1 -0
  16. package/cjs/settings-icon-12add1fe.js +1 -0
  17. package/cjs/skin-3bdd38e0.js +1 -0
  18. package/cjs/skin-88b9e5b1.js +1 -0
  19. package/cjs/skin-9319e6f5.js +1 -0
  20. package/cjs/skin-c165b563.js +1 -0
  21. package/cjs/skin-d7cd2ac9.js +1 -0
  22. package/cjs/skin-f0dbcafa.js +1 -0
  23. package/cjs/skin-fc778d21.js +1 -0
  24. package/cjs/videoSelector-913574c8.js +1 -0
  25. package/cjs/videoSelector-c371fba4.js +1 -0
  26. package/esm/autoNextVideo-793707f8.js +1 -0
  27. package/esm/bundle.css +1166 -631
  28. package/esm/features-e7e14dda.js +1 -0
  29. package/esm/generic-258d34e7.js +1 -0
  30. package/esm/index-2257f4dd.js +1 -0
  31. package/esm/index-5c199c09.js +1 -0
  32. package/esm/index.js +1 -1
  33. package/esm/multicamv2-0545a0ae.js +1 -0
  34. package/esm/multicamv2-fe3eda2b.js +1 -0
  35. package/esm/nextEpisodeButton-f3651707.js +1 -0
  36. package/esm/playlist-4f7cdb85.js +1 -0
  37. package/esm/resolution-ed00f17a.js +1 -0
  38. package/esm/series-dc5effb9.js +1 -0
  39. package/esm/series-v2-6beb4cc3.js +1 -0
  40. package/esm/series-v2-76fe35d9.js +1 -0
  41. package/esm/settings-icon-c670ad25.js +1 -0
  42. package/esm/skin-049e3470.js +1 -0
  43. package/esm/skin-08b2a668.js +1 -0
  44. package/esm/skin-1ef7495f.js +1 -0
  45. package/esm/skin-5a4f7dff.js +1 -0
  46. package/esm/skin-ad92ef73.js +1 -0
  47. package/esm/skin-b56ca7dd.js +1 -0
  48. package/esm/skin-dfd47b2e.js +1 -0
  49. package/esm/videoSelector-05c05c24.js +1 -0
  50. package/esm/videoSelector-e3a73107.js +1 -0
  51. package/package.json +1 -1
package/cjs/bundle.css CHANGED
@@ -1,299 +1,5 @@
1
1
 
2
2
 
3
- /* CSS for videojs-dvr-seekbar */
4
-
5
- .video-js.vjs-dvr-seekbar {
6
- display: block;
7
- }
8
-
9
- .video-js.vjs-dvr-seekbar .vjs-live-control {
10
- display: none;
11
- }
12
-
13
- .video-js.vjs-dvr-seekbar.vjs-live .vjs-progress-control {
14
- display: flex;
15
- }
16
-
17
- .video-js.vjs-dvr-seekbar.vjs-user-inactive .vjs-control-bar.vjs-dvr-control-bar .vjs-progress-control .vjs-slider .vjs-seek-handle:before {
18
- font-size: 0;
19
- transition-delay: 3s;
20
- -webkit-transition-delay: 3s;
21
- -moz-transition-delay: 3s;
22
- -ms-transition-delay: 3s;
23
- -o-transition-delay: 3s;
24
- }
25
-
26
- .video-js.vjs-dvr-seekbar .vjs-time-tooltip {
27
- z-index: 0;
28
- }
29
-
30
- .video-js.vjs-dvr-seekbar .vjs-mouse-display .vjs-time-tooltip {
31
- z-index: 1;
32
- }
33
-
34
- .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar {
35
- display: flex;
36
- }
37
-
38
- .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-dvr-progress-control {
39
- background: transparent;
40
- }
41
-
42
- /* width of progress bar */
43
- .video-js.vjs-dvr-seekbar .vjs-progress-control.vjs-control.vjs-dvr-progress-control{
44
- background: transparent; /* #aaa8a8 */
45
- width: 99%;
46
- }
47
-
48
- .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button {
49
- -webkit-user-select: none;
50
- -moz-user-select: none;
51
- -ms-user-select: none;
52
- user-select: none;
53
-
54
- min-width: 50px;
55
- font-weight: bold;
56
- position: relative;
57
- color: #8c8b8b;
58
- }
59
-
60
- /* align live circle with live text */
61
- .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button .liveCircle{
62
- margin-top: -9px;
63
- }
64
-
65
- .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button.onair {
66
- color: #fff;
67
- }
68
-
69
- .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button.onair .liveCircle:after {
70
- background: tomato;
71
- }
72
-
73
- .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button.onair:focus .liveCircle:after {
74
- box-shadow: 0 0 1em tomato;
75
- }
76
-
77
- .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button .liveText {
78
- margin-left: 1.5em;
79
- }
80
-
81
- .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button .liveCircle:after {
82
- content: '';
83
- position: absolute;
84
- width: 0.9em;
85
- height: 0.9em;
86
- border-radius: 50%;
87
- background: gray;
88
- left: 0.5em;
89
- }
90
-
91
- .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button:focus .liveCircle:after {
92
- box-shadow: 0 0 1em gray;
93
- }
94
-
95
- .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button:hover {
96
- cursor: pointer;
97
- }
98
-
99
- .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-load-progress {
100
- overflow: hidden;
101
- }
102
-
103
- .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-current-time,
104
- .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-duration,
105
- .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-remaining-time,
106
- .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-time-divider {
107
- display: none;
108
- }
109
-
110
- .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-live-display {
111
- display: none;
112
- }
113
-
114
- .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-progress-control.vjs-control .vjs-slider .vjs-control-text:before {
115
- height: 0;
116
- }
117
-
118
- .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-progress-control.vjs-control .vjs-slider .vjs-control-text:after {
119
- content: ' \25BC';
120
- color: #000;
121
- top: 1.25em;
122
- position: relative;
123
- left: -1.55em;
124
- font-size: 1.5em;
125
- }
126
-
127
- .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-progress-control.vjs-control .vjs-slider .vjs-seek-handle.vjs-slider-handle {
128
- line-height: 0.2em;
129
- position: relative;
130
- top: -0.21em;
131
- float: left;
132
- }
133
-
134
- .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-progress-control .vjs-slider .vjs-seek-handle.vjs-slider-handle:before {
135
- content: ' \25CF';
136
- font-size: 2em;
137
- transition: font-size 0.2s;
138
- -webkit-transition: font-size 0.2s;
139
- -moz-transition: font-size 0.2s;
140
- -ms-transition: font-size 0.2s;
141
- -o-transition: font-size 0.2s;
142
- }
143
-
144
- /* handle defaultV2 skin changes */
145
- .video-js.vjs-dvr-seekbar .vjs-seek-to-live-control.vjs-control{
146
- display: none;
147
- }
148
-
149
-
150
-
151
- .video-js.skin_vlone .vjs-control-bar .vjs-progress-control.vjs-control {
152
- height: 0.7em;
153
- position: absolute;
154
- top: -0.7em;
155
- width: 100%;
156
- }
157
-
158
- .video-js.skin_vlone .vjs-progress-holder.vjs-slider.vjs-slider-horizontal {
159
- height: 100%;
160
- }
161
-
162
- .video-js.skin_vlone .vjs-play-progress:before {
163
- display: none !important;
164
- }
165
-
166
- .video-js.skin_vlone .vjs-progress-control>.vjs-progress-holder.vjs-slider {
167
- margin: 0 !important;
168
-
169
- }
170
-
171
-
172
- .video-js.skin_vlone .vjs-custom-control-spacer {
173
- display: block;
174
- flex: 1 1 auto;
175
- }
176
-
177
- .video-js.skin_vlone .vjs-volume-panel.vjs-volume-panel-vertical{
178
- z-index: 1;
179
- }
180
-
181
-
182
- .video-js.skin_vlone .vjs-control-bar {
183
- height: 40px;
184
- }
185
-
186
- .video-js.skin_vlone .vjs-big-play-button .vjs-icon-placeholder:before,
187
- .vjs-button>.vjs-icon-placeholder:before {
188
- position: relative !important;
189
- }
190
- .video-js.skin_vlone .vjs-big-play-button .vjs-icon-placeholder:before{
191
- display: flex;
192
- left: 0px;
193
- top: -1px;
194
- }
195
-
196
- .vjs-button>.vjs-icon-placeholder:before {
197
- font-size: 2em !important;
198
- }
199
-
200
- .video-js.skin_vlone .vjs-control {
201
- width: 4.3em;
202
- }
203
-
204
- .vjs-menu-button-popup .vjs-menu {
205
- bottom: 10px !important;
206
- }
207
-
208
-
209
- .video-js.skin_vlone .vjs-control-bar .vjs-progress-control.vjs-control:hover {
210
- height: 1.3em;
211
- position: absolute;
212
- top: -1.3em;
213
- transition: height 0.3s, top 0.3s;
214
- }
215
-
216
-
217
- .video-js.skin_vlone.vjs-live .vjs-time-control{
218
- display: none !important;
219
- }
220
-
221
- .video-js.skin_vlone .vjs-time-control {
222
- display: block;
223
- }
224
- .video-js.skin_vlone .vjs-remaining-time {
225
- display: none;
226
- }
227
-
228
- .video-js.skin_vlone .vjs-remaining-time.vjs-time-control.vjs-control>span.vjs-remaining-time-display {
229
- line-height: 3.5em;
230
- font-size: 1.1em;
231
- min-width: 4em;
232
- }
233
-
234
- .video-js.skin_vlone .vjs-time-divider > div{
235
- display: flex;
236
- justify-content: center;
237
- }
238
-
239
- .video-js.skin_vlone .vjs-live-control{
240
- align-items: center;
241
- }
242
- .video-js.skin_vlone .vjs-live-display{
243
- height: 2.2em;
244
- display: flex;
245
- align-items: center;
246
- font-family: monospace;
247
- width: 4em;
248
- justify-content: center;
249
- background: red;
250
- margin: 4px 0px 4px 12px;
251
- }
252
-
253
- .video-js.skin_vlone .vjs-time-control {
254
- line-height: 3.5em !important;
255
- font-size: 1.1em !important;
256
- width: min-content !important;
257
- min-width: 1.5em;
258
- padding: 0 !important;
259
- user-select: none;
260
- }
261
-
262
- .video-js.skin_vlone .vjs-current-time.vjs-time-control.vjs-control {
263
- margin-left: 16px !important;
264
- }
265
-
266
-
267
- /* Big play */
268
- .video-js.skin_vlone.vjs-paused .vjs-big-play-button {
269
- width: 80px;
270
- height: 80px;
271
- display: flex;
272
- justify-content: center;
273
- align-items: center;
274
- border: none;
275
- position: absolute;
276
- top: 0;
277
- left: 0;
278
- right: 0;
279
- bottom: 0;
280
- margin: auto;
281
- font-size: 5em;
282
- line-height: 1.3em;
283
- transform: none !important;
284
- border-radius: 1.3em;
285
- }
286
-
287
-
288
- @media(max-width:600px){
289
- .video-js.skin_vlone button.vjs-big-play-button {
290
- width: 50px !important;
291
- height: 50px !important;
292
- font-size: 2.1rem !important;
293
- }
294
- }
295
-
296
-
297
3
 
298
4
  /*
299
5
  * Styles the icon size and line height for button icons in the SmartTV skin.
@@ -1383,476 +1089,770 @@
1383
1089
  * - Adjusts the right position for alignment.
1384
1090
  *
1385
1091
  * Accessibility:
1386
- * - Ensures the menu is accessible and does not overlap with controls.
1092
+ * - Ensures the menu is accessible and does not overlap with controls.
1093
+ */
1094
+ .video-js.skin_smartTV .vjs-menu > ul.vjs-menu-content {
1095
+ bottom: 3.5em !important;
1096
+ right: -1em;
1097
+ }
1098
+
1099
+ /*
1100
+ * Styles the Chromecast button icon in SmartTV skin.
1101
+ *
1102
+ * Purpose:
1103
+ * - Ensures the Chromecast button icon is properly sized.
1104
+ *
1105
+ * Visual Design:
1106
+ * - Fixed width (17px) and height (17px) for the icon.
1107
+ *
1108
+ * Accessibility:
1109
+ * - Crisp and legible icon on all displays.
1110
+ */
1111
+ .video-js.skin_smartTV .vjs-chromecast-button .vjs-icon-placeholder {
1112
+ width: 17px !important;
1113
+ height: 17px !important;
1114
+ }
1115
+
1116
+ /*
1117
+ * Hides the subs and caps button in SmartTV skin.
1118
+ *
1119
+ * Purpose:
1120
+ * - Omits the subs and caps button to simplify the UI.
1121
+ *
1122
+ * Visual Design:
1123
+ * - None (display: none).
1124
+ *
1125
+ * Accessibility:
1126
+ * - Reduces visual clutter for users.
1127
+ */
1128
+ .video-js.skin_smartTV .vjs-subs-caps-button.vjs-menu-button.vjs-menu-button-popup.vjs-control.vjs-button {
1129
+ display: none;
1130
+ }
1131
+
1132
+ /*
1133
+ * Styles the subs and caps button in SmartTV skin.
1134
+ *
1135
+ * Purpose:
1136
+ * - Ensures the subs and caps button is properly sized.
1137
+ *
1138
+ * Visual Design:
1139
+ * - Fixed height and width for consistency.
1140
+ *
1141
+ * Accessibility:
1142
+ * - Easily navigable with remotes or keyboard.
1143
+ */
1144
+ .video-js.skin_smartTV button.vjs-subs-caps-button.vjs-menu-button.vjs-menu-button-popup.vjs-button {
1145
+ height: min-content;
1146
+ width: min-content;
1147
+ }
1148
+
1149
+ /*
1150
+ * Styles the vertical volume panel in SmartTV skin.
1151
+ *
1152
+ * Purpose:
1153
+ * - Provides a vertical layout for the volume control, suitable for TV remotes and large screens.
1154
+ * - Ensures the volume panel is wide enough for easy interaction, especially with remote navigation.
1155
+ *
1156
+ * Visual Design:
1157
+ * - Sets a fixed width (6em) for consistent sizing and touch/remote usability.
1158
+ * - Integrates with the overall control bar design for a seamless look.
1159
+ *
1160
+ * Accessibility:
1161
+ * - Wide enough for easy focus and selection using a remote or keyboard.
1162
+ * - Supports users with limited dexterity by increasing the interactive area.
1163
+ */
1164
+ .video-js.skin_smartTV .vjs-volume-panel.vjs-volume-panel-vertical {
1165
+ width: 6em;
1166
+ }
1167
+
1168
+ /*
1169
+ * Adjusts the content position in SmartTV skin.
1170
+ *
1171
+ * Purpose:
1172
+ * - Fine-tunes the position of overlay content (such as menus or widgets) to avoid overlapping with controls.
1173
+ * - Ensures content is visually aligned and does not obscure important UI elements.
1174
+ *
1175
+ * Visual Design:
1176
+ * - Uses !important to override default positioning and guarantee placement.
1177
+ * - Moves content slightly up and to the left for optimal visibility on TV screens.
1178
+ *
1179
+ * Accessibility:
1180
+ * - Prevents overlay content from covering navigation or playback controls, supporting a better user experience.
1181
+ */
1182
+ .video-js.skin_smartTV .content {
1183
+ bottom: 3.4rem !important;
1184
+ right: -4rem !important;
1185
+ }
1186
+
1187
+ /*
1188
+ * Styles the setting icon in SmartTV skin.
1189
+ *
1190
+ * Purpose:
1191
+ * - Ensures the settings icon (SVG) is clearly visible and appropriately sized for TV interfaces.
1192
+ * - Maintains visual consistency with other icons and controls.
1193
+ *
1194
+ * Visual Design:
1195
+ * - Sets a fixed height (18px) for the SVG icon, overriding any inherited styles.
1196
+ * - Keeps the icon crisp and legible on high-resolution displays.
1197
+ *
1198
+ * Accessibility:
1199
+ * - Sufficient size for visibility from a distance and for users with low vision.
1200
+ */
1201
+ .setting-icon > svg {
1202
+ height: 18px !important;
1203
+ }
1204
+
1205
+ /*
1206
+ * Styles the output overlay in SmartTV skin.
1207
+ *
1208
+ * Purpose:
1209
+ * - Provides a transparent overlay for displaying output or feedback without blocking user interaction.
1210
+ * - Used for visual effects, loading indicators, or non-interactive overlays.
1211
+ *
1212
+ * Visual Design:
1213
+ * - Absolutely positioned to cover the entire player area.
1214
+ * - Full width and height ensure complete coverage.
1215
+ * - z-index: 0 keeps the overlay behind interactive controls.
1216
+ * - pointer-events: none allows clicks and navigation to pass through.
1217
+ * - No border for a clean, unobtrusive appearance.
1218
+ *
1219
+ * Accessibility:
1220
+ * - Overlay does not interfere with keyboard or remote navigation.
1221
+ * - Ensures that feedback or effects are visible but never block controls or content.
1387
1222
  */
1388
- .video-js.skin_smartTV .vjs-menu > ul.vjs-menu-content {
1389
- bottom: 3.5em !important;
1390
- right: -1em;
1223
+ .output-overlay {
1224
+ position: absolute;
1225
+ bottom: 0;
1226
+ height: 100%;
1227
+ width: 100%;
1228
+ z-index: 0;
1229
+ border: 0;
1230
+ pointer-events: none;
1391
1231
  }
1392
1232
 
1393
1233
  /*
1394
- * Styles the Chromecast button icon in SmartTV skin.
1234
+ * Styles the iframe to take full width and height in SmartTV skin.
1395
1235
  *
1396
1236
  * Purpose:
1397
- * - Ensures the Chromecast button icon is properly sized.
1237
+ * - Ensures iframes used in the player take up the full available space.
1398
1238
  *
1399
1239
  * Visual Design:
1400
- * - Fixed width (17px) and height (17px) for the icon.
1240
+ * - Sets width and height to 100% for full coverage.
1401
1241
  *
1402
1242
  * Accessibility:
1403
- * - Crisp and legible icon on all displays.
1243
+ * - Guarantees that iframes do not interfere with player controls or content.
1404
1244
  */
1405
- .video-js.skin_smartTV .vjs-chromecast-button .vjs-icon-placeholder {
1406
- width: 17px !important;
1407
- height: 17px !important;
1245
+ iframe {
1246
+ width: 100%;
1247
+ height: 100%;
1408
1248
  }
1409
1249
 
1410
1250
  /*
1411
- * Hides the subs and caps button in SmartTV skin.
1251
+ * Responsive styles for SmartTV skin on small screens.
1412
1252
  *
1413
1253
  * Purpose:
1414
- * - Omits the subs and caps button to simplify the UI.
1254
+ * - Adjusts the layout and element sizes for better usability on smaller screens.
1415
1255
  *
1416
1256
  * Visual Design:
1417
- * - None (display: none).
1257
+ * - Hides the provider image and adjusts icon sizes.
1258
+ * - Modifies button sizes and positions for smaller displays.
1259
+ * - Changes the layout of the seek to live control and live control.
1260
+ * - Hides unnecessary buttons like slowmo and rewind.
1261
+ * - Adjusts the title bar and progress control for smaller widths.
1418
1262
  *
1419
1263
  * Accessibility:
1420
- * - Reduces visual clutter for users.
1264
+ * - Ensures all controls are still accessible and usable on smaller screens.
1265
+ * - Maintains a good user experience across different device sizes.
1421
1266
  */
1422
- .video-js.skin_smartTV .vjs-subs-caps-button.vjs-menu-button.vjs-menu-button-popup.vjs-control.vjs-button {
1423
- display: none;
1267
+ @media (max-width: 600px) {
1268
+ .tvProviderImage {
1269
+ display: none;
1270
+ }
1271
+ .video-js.skin_smartTV .vjs-fullscreen .icon-minimize,
1272
+ .icon-maximize {
1273
+ height: 30px !important;
1274
+ }
1275
+ .video-js.skin_smartTV .vjs-fullscreen .icon-maximize,
1276
+ .icon-minimize {
1277
+ height: 30px !important;
1278
+ }
1279
+ .video-js.skin_smartTV button.vjs-fullscreen-control.vjs-control.vjs-button > span.vjs-icon-placeholder::before {
1280
+ height: min-content;
1281
+ }
1282
+ .video-js.skin_smartTV .vjs-seek-to-live-control.vjs-control {
1283
+ position: relative !important;
1284
+ right: 0em !important;
1285
+ bottom: 0 !important;
1286
+ }
1287
+ .video-js.skin_smartTV .vjs-live-control {
1288
+ right: -1em !important;
1289
+ position: relative !important;
1290
+ bottom: 0 !important;
1291
+ font-size: 12px !important;
1292
+ }
1293
+ .video-js.skin_smartTV button.vjs-slowmo-button {
1294
+ display: none;
1295
+ }
1296
+ .video-js.skin_smartTV button.vjs-rewind-button {
1297
+ display: none;
1298
+ }
1299
+ .video-js.skin_smartTV button.vjs-rewind-button > svg {
1300
+ height: 20px;
1301
+ }
1302
+ .video-js.skin_smartTV .vjs-button {
1303
+ width: 4.8em;
1304
+ }
1305
+ .video-js.skin_smartTV .widget-selection {
1306
+ display: none;
1307
+ }
1308
+ .video-js.skin_smartTV .container {
1309
+ display: none !important;
1310
+ }
1311
+ .video-js.skin_smartTV .vjs-control-bar {
1312
+ height: 4em !important;
1313
+ }
1314
+ .video-js.skin_smartTV .vjs-button > .vjs-icon-placeholder:before {
1315
+ font-size: 2.5em;
1316
+ line-height: 1.5;
1317
+ }
1318
+ .video-js.skin_smartTV .vjs-play-progress:before {
1319
+ font-size: 1.2em;
1320
+ position: absolute;
1321
+ right: -0.5em;
1322
+ z-index: 1;
1323
+ }
1324
+ .video-js.skin_smartTV button.vjs-skip-button > svg {
1325
+ height: 20px;
1326
+ }
1327
+ .video-js.skin_smartTV button.vjs-big-play-button {
1328
+ width: 50px !important;
1329
+ height: 50px !important;
1330
+ font-size: 2.1rem !important;
1331
+ }
1332
+ .video-js.skin_smartTV .vjs-seek-to-live-control.vjs-control > span.vjs-icon-placeholder {
1333
+ display: block;
1334
+ }
1335
+ .stream-selector-icon > svg {
1336
+ width: 24px;
1337
+ height: 24px;
1338
+ }
1339
+ .video-js.skin_smartTV.vjs-live .vjs-progress-control .vjs-progress-holder {
1340
+ margin: 0 12px 0 21px;
1341
+ }
1342
+ .video-js.skin_smartTV .vjs-seek-to-live-text {
1343
+ font-size: 12px;
1344
+ }
1345
+ .video-js.skin_smartTV .vjs-progress-control .vjs-progress-holder {
1346
+ margin: 0 5px 0 5px;
1347
+ }
1424
1348
  }
1425
1349
 
1426
1350
  /*
1427
- * Styles the subs and caps button in SmartTV skin.
1351
+ * Styles the big play button in paused state for SmartTV skin.
1428
1352
  *
1429
1353
  * Purpose:
1430
- * - Ensures the subs and caps button is properly sized.
1354
+ * - Provides a large, accessible play button when the video is paused.
1431
1355
  *
1432
1356
  * Visual Design:
1433
- * - Fixed height and width for consistency.
1357
+ * - Fixed size (90px) and circular shape.
1358
+ * - Centered icon with flexbox.
1359
+ * - Large font size (6em) for the play icon.
1434
1360
  *
1435
1361
  * Accessibility:
1436
- * - Easily navigable with remotes or keyboard.
1362
+ * - Large clickable area for easy interaction.
1437
1363
  */
1438
- .video-js.skin_smartTV button.vjs-subs-caps-button.vjs-menu-button.vjs-menu-button-popup.vjs-button {
1439
- height: min-content;
1440
- width: min-content;
1364
+ .video-js.skin_smartTV.vjs-paused .vjs-big-play-button {
1365
+ width: 90px;
1366
+ height: 90px;
1367
+ display: flex;
1368
+ justify-content: center;
1369
+ align-items: center;
1370
+ border-radius: 50%;
1371
+ position: absolute;
1372
+ top: 0;
1373
+ left: 0;
1374
+ right: 0;
1375
+ bottom: 0;
1376
+ margin: auto;
1377
+ font-size: 6em;
1378
+ line-height: 1.3em;
1441
1379
  }
1442
1380
 
1443
1381
  /*
1444
- * Styles the vertical volume panel in SmartTV skin.
1382
+ * Shows the volume control on hover and active states in SmartTV skin.
1445
1383
  *
1446
1384
  * Purpose:
1447
- * - Provides a vertical layout for the volume control, suitable for TV remotes and large screens.
1448
- * - Ensures the volume panel is wide enough for easy interaction, especially with remote navigation.
1385
+ * - Displays the volume control when the user hovers or the panel is active.
1449
1386
  *
1450
1387
  * Visual Design:
1451
- * - Sets a fixed width (6em) for consistent sizing and touch/remote usability.
1452
- * - Integrates with the overall control bar design for a seamless look.
1388
+ * - Flexbox display for centering content.
1389
+ * - Transition effects for smooth appearance.
1453
1390
  *
1454
1391
  * Accessibility:
1455
- * - Wide enough for easy focus and selection using a remote or keyboard.
1456
- * - Supports users with limited dexterity by increasing the interactive area.
1392
+ * - Ensures volume control is accessible when needed.
1457
1393
  */
1458
- .video-js.skin_smartTV .vjs-volume-panel.vjs-volume-panel-vertical {
1459
- width: 6em;
1394
+ .video-js.skin_smartTV .vjs-volume-panel.vjs-control.vjs-volume-panel-horizontal:hover .vjs-volume-control.vjs-control.vjs-volume-horizontal {
1395
+ display: flex;
1396
+ justify-content: center;
1397
+ align-items: center;
1398
+ height: 100%;
1399
+ transition: width 0.1s;
1400
+ }
1401
+
1402
+ .video-js.skin_smartTV .vjs-volume-panel.vjs-control.vjs-volume-panel-horizontal:active .vjs-volume-control.vjs-control.vjs-volume-horizontal {
1403
+ display: flex;
1404
+ justify-content: center;
1405
+ align-items: center;
1406
+ height: 100%;
1407
+ transition: width 0.1s;
1460
1408
  }
1461
1409
 
1462
1410
  /*
1463
- * Adjusts the content position in SmartTV skin.
1411
+ * Styles the player setting options in SmartTV skin.
1464
1412
  *
1465
1413
  * Purpose:
1466
- * - Fine-tunes the position of overlay content (such as menus or widgets) to avoid overlapping with controls.
1467
- * - Ensures content is visually aligned and does not obscure important UI elements.
1414
+ * - Styles the individual setting options in the SmartTV skin.
1468
1415
  *
1469
1416
  * Visual Design:
1470
- * - Uses !important to override default positioning and guarantee placement.
1471
- * - Moves content slightly up and to the left for optimal visibility on TV screens.
1417
+ * - Flexbox display for alignment.
1418
+ * - Width (95%) and height (50px) for consistency.
1419
+ * - Background color and text color for visibility.
1420
+ * - Padding and margin for spacing.
1421
+ * - Border radius (2px) and box shadow for a modern look.
1472
1422
  *
1473
1423
  * Accessibility:
1474
- * - Prevents overlay content from covering navigation or playback controls, supporting a better user experience.
1424
+ * - High contrast and clear sizing for visibility.
1425
+ * - Easily selectable with remote or keyboard.
1475
1426
  */
1476
- .video-js.skin_smartTV .content {
1477
- bottom: 3.4rem !important;
1478
- right: -4rem !important;
1427
+ .video-js.skin_smartTV .default-option-wrapper {
1428
+ display: flex;
1429
+ justify-content: space-between;
1430
+ align-items: center;
1431
+ width: 95%;
1432
+ height: 50px;
1433
+ background: rgba(0, 0, 0, 0.6);
1434
+ color: currentColor;
1435
+ padding: 5px 10px;
1436
+ font-weight: 700;
1437
+ font-size: 18px;
1438
+ border-radius: 2px;
1439
+ box-shadow: 0 10px 15px rgba(0, 0, 0, .1);
1440
+ margin: 15px 0px;
1441
+ text-transform: capitalize;
1442
+ cursor: pointer;
1443
+ }
1444
+
1445
+ .video-js.skin_smartTV .default-option-wrapper span {
1446
+ height: 40px;
1447
+ }
1448
+
1449
+ .video-js.skin_smartTV .default-option-wrapper span > img{
1450
+ height: 100%;
1479
1451
  }
1480
1452
 
1453
+
1481
1454
  /*
1482
- * Styles the setting icon in SmartTV skin.
1455
+ * Styles the default sidebar in SmartTV skin.
1483
1456
  *
1484
1457
  * Purpose:
1485
- * - Ensures the settings icon (SVG) is clearly visible and appropriately sized for TV interfaces.
1486
- * - Maintains visual consistency with other icons and controls.
1458
+ * - Provides a sidebar for additional options or information in the SmartTV skin.
1487
1459
  *
1488
1460
  * Visual Design:
1489
- * - Sets a fixed height (18px) for the SVG icon, overriding any inherited styles.
1490
- * - Keeps the icon crisp and legible on high-resolution displays.
1461
+ * - Absolutely positioned to the right of the video player.
1462
+ * - Fixed width (400px) and full height.
1463
+ * - Background color and padding for separation.
1464
+ * - Overflow set to scroll for content management.
1491
1465
  *
1492
1466
  * Accessibility:
1493
- * - Sufficient size for visibility from a distance and for users with low vision.
1467
+ * - Ensures the sidebar is always accessible and does not overlap with important controls.
1494
1468
  */
1495
- .setting-icon > svg {
1496
- height: 18px !important;
1469
+ .video-js.skin_smartTV .default-sidebar {
1470
+ position: absolute;
1471
+ top: 0;
1472
+ color: currentColor;
1473
+ display: flex;
1474
+ flex-direction: column;
1475
+ background-color: rgba(43, 51, 63, 0.9);
1476
+ height: 100%;
1477
+ min-height: 720px;
1478
+ width: 400px;
1479
+ padding: 20px 25px 0 25px;
1480
+ right: 0px;
1481
+ z-index: 30;
1482
+ overflow: scroll;
1483
+ /* right: -450px; */
1497
1484
  }
1498
1485
 
1499
1486
  /*
1500
- * Styles the output overlay in SmartTV skin.
1487
+ * Adds a focus outline to focused elements in SmartTV skin.
1501
1488
  *
1502
1489
  * Purpose:
1503
- * - Provides a transparent overlay for displaying output or feedback without blocking user interaction.
1504
- * - Used for visual effects, loading indicators, or non-interactive overlays.
1490
+ * - Provides a clear visual indicator when an element is focused.
1505
1491
  *
1506
1492
  * Visual Design:
1507
- * - Absolutely positioned to cover the entire player area.
1508
- * - Full width and height ensure complete coverage.
1509
- * - z-index: 0 keeps the overlay behind interactive controls.
1510
- * - pointer-events: none allows clicks and navigation to pass through.
1511
- * - No border for a clean, unobtrusive appearance.
1493
+ * - Adds a 2px solid outline in the current color.
1512
1494
  *
1513
1495
  * Accessibility:
1514
- * - Overlay does not interfere with keyboard or remote navigation.
1515
- * - Ensures that feedback or effects are visible but never block controls or content.
1496
+ * - Supports keyboard and remote navigation for users who cannot use a mouse.
1516
1497
  */
1517
- .output-overlay {
1518
- position: absolute;
1519
- bottom: 0;
1520
- height: 100%;
1521
- width: 100%;
1522
- z-index: 0;
1523
- border: 0;
1524
- pointer-events: none;
1498
+ .video-js.skin_smartTV .focused{
1499
+ outline: 2px solid currentColor;
1525
1500
  }
1526
1501
 
1527
1502
  /*
1528
- * Styles the iframe to take full width and height in SmartTV skin.
1503
+ * Hides player controls in SmartTV skin.
1529
1504
  *
1530
1505
  * Purpose:
1531
- * - Ensures iframes used in the player take up the full available space.
1506
+ * - Omits player controls to reduce clutter.
1532
1507
  *
1533
1508
  * Visual Design:
1534
- * - Sets width and height to 100% for full coverage.
1509
+ * - None (visibility: hidden; opacity: 0).
1535
1510
  *
1536
1511
  * Accessibility:
1537
- * - Guarantees that iframes do not interfere with player controls or content.
1512
+ * - Prevents accidental interaction with hidden controls.
1538
1513
  */
1539
- iframe {
1540
- width: 100%;
1541
- height: 100%;
1514
+ .video-js.skin_smartTV .hidePlayerControls {
1515
+ visibility: hidden !important;
1516
+ opacity: 0 !important;
1542
1517
  }
1543
1518
 
1544
1519
  /*
1545
- * Responsive styles for SmartTV skin on small screens.
1520
+ * Styles the settings heading in SmartTV skin.
1546
1521
  *
1547
1522
  * Purpose:
1548
- * - Adjusts the layout and element sizes for better usability on smaller screens.
1523
+ * - Provides a heading for the settings section in the SmartTV skin.
1549
1524
  *
1550
1525
  * Visual Design:
1551
- * - Hides the provider image and adjusts icon sizes.
1552
- * - Modifies button sizes and positions for smaller displays.
1553
- * - Changes the layout of the seek to live control and live control.
1554
- * - Hides unnecessary buttons like slowmo and rewind.
1555
- * - Adjusts the title bar and progress control for smaller widths.
1526
+ * - Large font size (38px) and bold weight for prominence.
1527
+ * - Top and bottom padding for spacing.
1556
1528
  *
1557
1529
  * Accessibility:
1558
- * - Ensures all controls are still accessible and usable on smaller screens.
1559
- * - Maintains a good user experience across different device sizes.
1530
+ * - High contrast and large size for readability.
1560
1531
  */
1532
+ .video-js.skin_smartTV .settingsHeading {
1533
+ font-size: 38px;
1534
+ font-weight: 700;
1535
+ padding-top: 30px;
1536
+ padding-bottom: 20px;
1537
+ }
1538
+
1539
+ .video-js.skin_smartTV .hide-default-controls {
1540
+ display: none !important;
1541
+ }
1561
1542
  @media (max-width: 600px) {
1562
- .tvProviderImage {
1563
- display: none;
1564
- }
1565
- .video-js.skin_smartTV .vjs-fullscreen .icon-minimize,
1566
- .icon-maximize {
1567
- height: 30px !important;
1568
- }
1569
- .video-js.skin_smartTV .vjs-fullscreen .icon-maximize,
1570
- .icon-minimize {
1571
- height: 30px !important;
1572
- }
1573
- .video-js.skin_smartTV button.vjs-fullscreen-control.vjs-control.vjs-button > span.vjs-icon-placeholder::before {
1574
- height: min-content;
1575
- }
1576
- .video-js.skin_smartTV .vjs-seek-to-live-control.vjs-control {
1577
- position: relative !important;
1578
- right: 0em !important;
1579
- bottom: 0 !important;
1543
+ .video-js.skin_smartTV button.vjs-big-play-button {
1544
+ width: 50px !important;
1545
+ height: 50px !important;
1546
+ font-size: 2.1rem !important;
1580
1547
  }
1581
- .video-js.skin_smartTV .vjs-live-control {
1582
- right: -1em !important;
1548
+
1549
+ }
1550
+
1551
+ .video-js.skin_smartTV .vjs-big-play-button .vjs-icon-placeholder:before,
1552
+ .vjs-button>.vjs-icon-placeholder:before {
1583
1553
  position: relative !important;
1584
- bottom: 0 !important;
1585
- font-size: 12px !important;
1586
- }
1587
- .video-js.skin_smartTV button.vjs-slowmo-button {
1588
- display: none;
1589
- }
1590
- .video-js.skin_smartTV button.vjs-rewind-button {
1591
- display: none;
1592
- }
1593
- .video-js.skin_smartTV button.vjs-rewind-button > svg {
1594
- height: 20px;
1595
- }
1596
- .video-js.skin_smartTV .vjs-button {
1597
- width: 4.8em;
1598
- }
1599
- .video-js.skin_smartTV .widget-selection {
1600
- display: none;
1601
- }
1602
- .video-js.skin_smartTV .container {
1603
- display: none !important;
1604
- }
1605
- .video-js.skin_smartTV .vjs-control-bar {
1606
- height: 4em !important;
1607
- }
1608
- .video-js.skin_smartTV .vjs-button > .vjs-icon-placeholder:before {
1609
- font-size: 2.5em;
1610
- line-height: 1.5;
1611
- }
1612
- .video-js.skin_smartTV .vjs-play-progress:before {
1613
- font-size: 1.2em;
1554
+ }
1555
+ .video-js.skin_smartTV .vjs-big-play-button .vjs-icon-placeholder:before{
1556
+ display: flex;
1557
+ left: 0px;
1558
+ top: -1px;
1559
+ }
1560
+
1561
+
1562
+
1563
+
1564
+
1565
+ .video-js.skin_vlone .vjs-control-bar .vjs-progress-control.vjs-control {
1566
+ height: 0.7em;
1614
1567
  position: absolute;
1615
- right: -0.5em;
1568
+ top: -0.7em;
1569
+ width: 100%;
1570
+ }
1571
+
1572
+ .video-js.skin_vlone .vjs-progress-holder.vjs-slider.vjs-slider-horizontal {
1573
+ height: 100%;
1574
+ }
1575
+
1576
+ .video-js.skin_vlone .vjs-play-progress:before {
1577
+ display: none !important;
1578
+ }
1579
+
1580
+ .video-js.skin_vlone .vjs-progress-control>.vjs-progress-holder.vjs-slider {
1581
+ margin: 0 !important;
1582
+
1583
+ }
1584
+
1585
+
1586
+ .video-js.skin_vlone .vjs-custom-control-spacer {
1587
+ display: block;
1588
+ flex: 1 1 auto;
1589
+ }
1590
+
1591
+ .video-js.skin_vlone .vjs-volume-panel.vjs-volume-panel-vertical{
1616
1592
  z-index: 1;
1617
- }
1618
- .video-js.skin_smartTV button.vjs-skip-button > svg {
1619
- height: 20px;
1620
- }
1621
- .video-js.skin_smartTV button.vjs-big-play-button {
1593
+ }
1594
+
1595
+
1596
+ .video-js.skin_vlone .vjs-control-bar {
1597
+ height: 40px;
1598
+ }
1599
+
1600
+ .video-js.skin_vlone .vjs-big-play-button .vjs-icon-placeholder:before,
1601
+ .vjs-button>.vjs-icon-placeholder:before {
1602
+ position: relative !important;
1603
+ }
1604
+ .video-js.skin_vlone .vjs-big-play-button .vjs-icon-placeholder:before{
1605
+ display: flex;
1606
+ left: 0px;
1607
+ top: -1px;
1608
+ }
1609
+
1610
+ .vjs-button>.vjs-icon-placeholder:before {
1611
+ font-size: 2em !important;
1612
+ }
1613
+
1614
+ .video-js.skin_vlone .vjs-control {
1615
+ width: 4.3em;
1616
+ }
1617
+
1618
+ .vjs-menu-button-popup .vjs-menu {
1619
+ bottom: 10px !important;
1620
+ }
1621
+
1622
+
1623
+ .video-js.skin_vlone .vjs-control-bar .vjs-progress-control.vjs-control:hover {
1624
+ height: 1.3em;
1625
+ position: absolute;
1626
+ top: -1.3em;
1627
+ transition: height 0.3s, top 0.3s;
1628
+ }
1629
+
1630
+
1631
+ .video-js.skin_vlone.vjs-live .vjs-time-control{
1632
+ display: none !important;
1633
+ }
1634
+
1635
+ .video-js.skin_vlone .vjs-time-control {
1636
+ display: block;
1637
+ }
1638
+ .video-js.skin_vlone .vjs-remaining-time {
1639
+ display: none;
1640
+ }
1641
+
1642
+ .video-js.skin_vlone .vjs-remaining-time.vjs-time-control.vjs-control>span.vjs-remaining-time-display {
1643
+ line-height: 3.5em;
1644
+ font-size: 1.1em;
1645
+ min-width: 4em;
1646
+ }
1647
+
1648
+ .video-js.skin_vlone .vjs-time-divider > div{
1649
+ display: flex;
1650
+ justify-content: center;
1651
+ }
1652
+
1653
+ .video-js.skin_vlone .vjs-live-control{
1654
+ align-items: center;
1655
+ }
1656
+ .video-js.skin_vlone .vjs-live-display{
1657
+ height: 2.2em;
1658
+ display: flex;
1659
+ align-items: center;
1660
+ font-family: monospace;
1661
+ width: 4em;
1662
+ justify-content: center;
1663
+ background: red;
1664
+ margin: 4px 0px 4px 12px;
1665
+ }
1666
+
1667
+ .video-js.skin_vlone .vjs-time-control {
1668
+ line-height: 3.5em !important;
1669
+ font-size: 1.1em !important;
1670
+ width: min-content !important;
1671
+ min-width: 1.5em;
1672
+ padding: 0 !important;
1673
+ user-select: none;
1674
+ }
1675
+
1676
+ .video-js.skin_vlone .vjs-current-time.vjs-time-control.vjs-control {
1677
+ margin-left: 16px !important;
1678
+ }
1679
+
1680
+
1681
+ /* Big play */
1682
+ .video-js.skin_vlone.vjs-paused .vjs-big-play-button {
1683
+ width: 80px;
1684
+ height: 80px;
1685
+ display: flex;
1686
+ justify-content: center;
1687
+ align-items: center;
1688
+ border: none;
1689
+ position: absolute;
1690
+ top: 0;
1691
+ left: 0;
1692
+ right: 0;
1693
+ bottom: 0;
1694
+ margin: auto;
1695
+ font-size: 5em;
1696
+ line-height: 1.3em;
1697
+ transform: none !important;
1698
+ border-radius: 1.3em;
1699
+ }
1700
+
1701
+
1702
+ @media(max-width:600px){
1703
+ .video-js.skin_vlone button.vjs-big-play-button {
1622
1704
  width: 50px !important;
1623
1705
  height: 50px !important;
1624
1706
  font-size: 2.1rem !important;
1625
1707
  }
1626
- .video-js.skin_smartTV .vjs-seek-to-live-control.vjs-control > span.vjs-icon-placeholder {
1627
- display: block;
1628
- }
1629
- .stream-selector-icon > svg {
1630
- width: 24px;
1631
- height: 24px;
1632
- }
1633
- .video-js.skin_smartTV.vjs-live .vjs-progress-control .vjs-progress-holder {
1634
- margin: 0 12px 0 21px;
1635
- }
1636
- .video-js.skin_smartTV .vjs-seek-to-live-text {
1637
- font-size: 12px;
1638
- }
1639
- .video-js.skin_smartTV .vjs-progress-control .vjs-progress-holder {
1640
- margin: 0 5px 0 5px;
1641
1708
  }
1709
+
1710
+
1711
+ /* CSS for videojs-dvr-seekbar */
1712
+
1713
+ .video-js.vjs-dvr-seekbar {
1714
+ display: block;
1642
1715
  }
1643
1716
 
1644
- /*
1645
- * Styles the big play button in paused state for SmartTV skin.
1646
- *
1647
- * Purpose:
1648
- * - Provides a large, accessible play button when the video is paused.
1649
- *
1650
- * Visual Design:
1651
- * - Fixed size (90px) and circular shape.
1652
- * - Centered icon with flexbox.
1653
- * - Large font size (6em) for the play icon.
1654
- *
1655
- * Accessibility:
1656
- * - Large clickable area for easy interaction.
1657
- */
1658
- .video-js.skin_smartTV.vjs-paused .vjs-big-play-button {
1659
- width: 90px;
1660
- height: 90px;
1661
- display: flex;
1662
- justify-content: center;
1663
- align-items: center;
1664
- border-radius: 50%;
1665
- position: absolute;
1666
- top: 0;
1667
- left: 0;
1668
- right: 0;
1669
- bottom: 0;
1670
- margin: auto;
1671
- font-size: 6em;
1672
- line-height: 1.3em;
1717
+ .video-js.vjs-dvr-seekbar .vjs-live-control {
1718
+ display: none;
1673
1719
  }
1674
1720
 
1675
- /*
1676
- * Shows the volume control on hover and active states in SmartTV skin.
1677
- *
1678
- * Purpose:
1679
- * - Displays the volume control when the user hovers or the panel is active.
1680
- *
1681
- * Visual Design:
1682
- * - Flexbox display for centering content.
1683
- * - Transition effects for smooth appearance.
1684
- *
1685
- * Accessibility:
1686
- * - Ensures volume control is accessible when needed.
1687
- */
1688
- .video-js.skin_smartTV .vjs-volume-panel.vjs-control.vjs-volume-panel-horizontal:hover .vjs-volume-control.vjs-control.vjs-volume-horizontal {
1721
+ .video-js.vjs-dvr-seekbar.vjs-live .vjs-progress-control {
1689
1722
  display: flex;
1690
- justify-content: center;
1691
- align-items: center;
1692
- height: 100%;
1693
- transition: width 0.1s;
1694
1723
  }
1695
1724
 
1696
- .video-js.skin_smartTV .vjs-volume-panel.vjs-control.vjs-volume-panel-horizontal:active .vjs-volume-control.vjs-control.vjs-volume-horizontal {
1697
- display: flex;
1698
- justify-content: center;
1699
- align-items: center;
1700
- height: 100%;
1701
- transition: width 0.1s;
1725
+ .video-js.vjs-dvr-seekbar.vjs-user-inactive .vjs-control-bar.vjs-dvr-control-bar .vjs-progress-control .vjs-slider .vjs-seek-handle:before {
1726
+ font-size: 0;
1727
+ transition-delay: 3s;
1728
+ -webkit-transition-delay: 3s;
1729
+ -moz-transition-delay: 3s;
1730
+ -ms-transition-delay: 3s;
1731
+ -o-transition-delay: 3s;
1702
1732
  }
1703
1733
 
1704
- /*
1705
- * Styles the player setting options in SmartTV skin.
1706
- *
1707
- * Purpose:
1708
- * - Styles the individual setting options in the SmartTV skin.
1709
- *
1710
- * Visual Design:
1711
- * - Flexbox display for alignment.
1712
- * - Width (95%) and height (50px) for consistency.
1713
- * - Background color and text color for visibility.
1714
- * - Padding and margin for spacing.
1715
- * - Border radius (2px) and box shadow for a modern look.
1716
- *
1717
- * Accessibility:
1718
- * - High contrast and clear sizing for visibility.
1719
- * - Easily selectable with remote or keyboard.
1720
- */
1721
- .video-js.skin_smartTV .default-option-wrapper {
1734
+ .video-js.vjs-dvr-seekbar .vjs-time-tooltip {
1735
+ z-index: 0;
1736
+ }
1737
+
1738
+ .video-js.vjs-dvr-seekbar .vjs-mouse-display .vjs-time-tooltip {
1739
+ z-index: 1;
1740
+ }
1741
+
1742
+ .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar {
1722
1743
  display: flex;
1723
- justify-content: space-between;
1724
- align-items: center;
1725
- width: 95%;
1726
- height: 50px;
1727
- background: rgba(0, 0, 0, 0.6);
1728
- color: currentColor;
1729
- padding: 5px 10px;
1730
- font-weight: 700;
1731
- font-size: 18px;
1732
- border-radius: 2px;
1733
- box-shadow: 0 10px 15px rgba(0, 0, 0, .1);
1734
- margin: 15px 0px;
1735
- text-transform: capitalize;
1736
- cursor: pointer;
1737
1744
  }
1738
1745
 
1739
- .video-js.skin_smartTV .default-option-wrapper span {
1740
- height: 40px;
1746
+ .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-dvr-progress-control {
1747
+ background: transparent;
1741
1748
  }
1742
1749
 
1743
- .video-js.skin_smartTV .default-option-wrapper span > img{
1744
- height: 100%;
1750
+ /* width of progress bar */
1751
+ .video-js.vjs-dvr-seekbar .vjs-progress-control.vjs-control.vjs-dvr-progress-control{
1752
+ background: transparent; /* #aaa8a8 */
1753
+ width: 99%;
1745
1754
  }
1746
1755
 
1756
+ .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button {
1757
+ -webkit-user-select: none;
1758
+ -moz-user-select: none;
1759
+ -ms-user-select: none;
1760
+ user-select: none;
1747
1761
 
1748
- /*
1749
- * Styles the default sidebar in SmartTV skin.
1750
- *
1751
- * Purpose:
1752
- * - Provides a sidebar for additional options or information in the SmartTV skin.
1753
- *
1754
- * Visual Design:
1755
- * - Absolutely positioned to the right of the video player.
1756
- * - Fixed width (400px) and full height.
1757
- * - Background color and padding for separation.
1758
- * - Overflow set to scroll for content management.
1759
- *
1760
- * Accessibility:
1761
- * - Ensures the sidebar is always accessible and does not overlap with important controls.
1762
- */
1763
- .video-js.skin_smartTV .default-sidebar {
1762
+ min-width: 50px;
1763
+ font-weight: bold;
1764
+ position: relative;
1765
+ color: #8c8b8b;
1766
+ }
1767
+
1768
+ /* align live circle with live text */
1769
+ .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button .liveCircle{
1770
+ margin-top: -9px;
1771
+ }
1772
+
1773
+ .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button.onair {
1774
+ color: #fff;
1775
+ }
1776
+
1777
+ .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button.onair .liveCircle:after {
1778
+ background: tomato;
1779
+ }
1780
+
1781
+ .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button.onair:focus .liveCircle:after {
1782
+ box-shadow: 0 0 1em tomato;
1783
+ }
1784
+
1785
+ .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button .liveText {
1786
+ margin-left: 1.5em;
1787
+ }
1788
+
1789
+ .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button .liveCircle:after {
1790
+ content: '';
1764
1791
  position: absolute;
1765
- top: 0;
1766
- color: currentColor;
1767
- display: flex;
1768
- flex-direction: column;
1769
- background-color: rgba(43, 51, 63, 0.9);
1770
- height: 100%;
1771
- min-height: 720px;
1772
- width: 400px;
1773
- padding: 20px 25px 0 25px;
1774
- right: 0px;
1775
- z-index: 30;
1776
- overflow: scroll;
1777
- /* right: -450px; */
1792
+ width: 0.9em;
1793
+ height: 0.9em;
1794
+ border-radius: 50%;
1795
+ background: gray;
1796
+ left: 0.5em;
1778
1797
  }
1779
1798
 
1780
- /*
1781
- * Adds a focus outline to focused elements in SmartTV skin.
1782
- *
1783
- * Purpose:
1784
- * - Provides a clear visual indicator when an element is focused.
1785
- *
1786
- * Visual Design:
1787
- * - Adds a 2px solid outline in the current color.
1788
- *
1789
- * Accessibility:
1790
- * - Supports keyboard and remote navigation for users who cannot use a mouse.
1791
- */
1792
- .video-js.skin_smartTV .focused{
1793
- outline: 2px solid currentColor;
1799
+ .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button:focus .liveCircle:after {
1800
+ box-shadow: 0 0 1em gray;
1794
1801
  }
1795
1802
 
1796
- /*
1797
- * Hides player controls in SmartTV skin.
1798
- *
1799
- * Purpose:
1800
- * - Omits player controls to reduce clutter.
1801
- *
1802
- * Visual Design:
1803
- * - None (visibility: hidden; opacity: 0).
1804
- *
1805
- * Accessibility:
1806
- * - Prevents accidental interaction with hidden controls.
1807
- */
1808
- .video-js.skin_smartTV .hidePlayerControls {
1809
- visibility: hidden !important;
1810
- opacity: 0 !important;
1803
+ .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-live-button:hover {
1804
+ cursor: pointer;
1805
+ }
1806
+
1807
+ .video-js.vjs-dvr-seekbar .vjs-control-bar.vjs-dvr-control-bar .vjs-load-progress {
1808
+ overflow: hidden;
1811
1809
  }
1812
1810
 
1813
- /*
1814
- * Styles the settings heading in SmartTV skin.
1815
- *
1816
- * Purpose:
1817
- * - Provides a heading for the settings section in the SmartTV skin.
1818
- *
1819
- * Visual Design:
1820
- * - Large font size (38px) and bold weight for prominence.
1821
- * - Top and bottom padding for spacing.
1822
- *
1823
- * Accessibility:
1824
- * - High contrast and large size for readability.
1825
- */
1826
- .video-js.skin_smartTV .settingsHeading {
1827
- font-size: 38px;
1828
- font-weight: 700;
1829
- padding-top: 30px;
1830
- padding-bottom: 20px;
1811
+ .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-current-time,
1812
+ .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-duration,
1813
+ .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-remaining-time,
1814
+ .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-time-divider {
1815
+ display: none;
1831
1816
  }
1832
1817
 
1833
- .video-js.skin_smartTV .hide-default-controls {
1834
- display: none !important;
1818
+ .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-live-display {
1819
+ display: none;
1835
1820
  }
1836
- @media (max-width: 600px) {
1837
- .video-js.skin_smartTV button.vjs-big-play-button {
1838
- width: 50px !important;
1839
- height: 50px !important;
1840
- font-size: 2.1rem !important;
1841
- }
1842
1821
 
1822
+ .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-progress-control.vjs-control .vjs-slider .vjs-control-text:before {
1823
+ height: 0;
1843
1824
  }
1844
1825
 
1845
- .video-js.skin_smartTV .vjs-big-play-button .vjs-icon-placeholder:before,
1846
- .vjs-button>.vjs-icon-placeholder:before {
1847
- position: relative !important;
1826
+ .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-progress-control.vjs-control .vjs-slider .vjs-control-text:after {
1827
+ content: ' \25BC';
1828
+ color: #000;
1829
+ top: 1.25em;
1830
+ position: relative;
1831
+ left: -1.55em;
1832
+ font-size: 1.5em;
1848
1833
  }
1849
- .video-js.skin_smartTV .vjs-big-play-button .vjs-icon-placeholder:before{
1850
- display: flex;
1851
- left: 0px;
1852
- top: -1px;
1834
+
1835
+ .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-progress-control.vjs-control .vjs-slider .vjs-seek-handle.vjs-slider-handle {
1836
+ line-height: 0.2em;
1837
+ position: relative;
1838
+ top: -0.21em;
1839
+ float: left;
1853
1840
  }
1854
1841
 
1842
+ .video-js.vjs-dvr-seekbar .vjs-dvr-control-bar .vjs-progress-control .vjs-slider .vjs-seek-handle.vjs-slider-handle:before {
1843
+ content: ' \25CF';
1844
+ font-size: 2em;
1845
+ transition: font-size 0.2s;
1846
+ -webkit-transition: font-size 0.2s;
1847
+ -moz-transition: font-size 0.2s;
1848
+ -ms-transition: font-size 0.2s;
1849
+ -o-transition: font-size 0.2s;
1850
+ }
1855
1851
 
1852
+ /* handle defaultV2 skin changes */
1853
+ .video-js.vjs-dvr-seekbar .vjs-seek-to-live-control.vjs-control{
1854
+ display: none;
1855
+ }
1856
1856
 
1857
1857
  .video-js .tvProviderImage {
1858
1858
  position: absolute;
@@ -1880,6 +1880,8 @@ iframe {
1880
1880
 
1881
1881
 
1882
1882
 
1883
+
1884
+
1883
1885
  .video-js .multicamera-parent.default{
1884
1886
  height: 345px;
1885
1887
  position: absolute;
@@ -1962,8 +1964,6 @@ iframe {
1962
1964
 
1963
1965
 
1964
1966
 
1965
-
1966
-
1967
1967
  /* nextep */
1968
1968
  .next-ep-preview{
1969
1969
  position: absolute;
@@ -2094,6 +2094,541 @@ iframe {
2094
2094
  -webkit-animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite;
2095
2095
  animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite;
2096
2096
  }
2097
+ /* a wrapper element that tracks the mouse vertically */
2098
+ .vjs-thumbnail-holder {
2099
+ position: absolute;
2100
+ left: -1000px;
2101
+ }
2102
+
2103
+ /* the thumbnail image itself */
2104
+ .vjs-thumbnail {
2105
+ position: absolute;
2106
+ left: 0;
2107
+ bottom: 1.3em;
2108
+ opacity: 0;
2109
+ transition: opacity .2s ease;
2110
+ -webkit-transition: opacity .2s ease;
2111
+ -moz-transition: opacity .2s ease;
2112
+ -mz-transition: opacity .2s ease;
2113
+ }
2114
+
2115
+ /* fade in the thumbnail when hovering over the progress bar */
2116
+ /* .fake-active is needed for Android only. It's removed on touchend/touchecancel */
2117
+ .vjs-progress-control:hover .vjs-thumbnail,
2118
+ .vjs-progress-control.fake-active .vjs-thumbnail,
2119
+ .vjs-progress-control:active .vjs-thumbnail {
2120
+ opacity: 1;
2121
+ }
2122
+
2123
+ /* ... but hide the thumbnail when hovering directly over it */
2124
+ .vjs-progress-control:hover .vjs-thumbnail:hover,
2125
+ .vjs-progress-control:active .vjs-thumbnail:active {
2126
+ opacity: 0;
2127
+ }
2128
+
2129
+ .vjs-poster {
2130
+ display: inline-block;
2131
+ vertical-align: middle;
2132
+ background-repeat: no-repeat;
2133
+ background-position: 50% 50%;
2134
+ background-size: contain;
2135
+ background-color: #000;
2136
+ cursor: pointer;
2137
+ margin: 0;
2138
+ padding: 0;
2139
+ position: absolute;
2140
+ top: 0;
2141
+ right: 0;
2142
+ bottom: 0;
2143
+ left: 0;
2144
+ height: 100%;
2145
+ }
2146
+
2147
+
2148
+ .video-js .vjs-tech{
2149
+ outline: none;
2150
+ }
2151
+
2152
+ .video-js .vjs-loading-spinner{
2153
+ margin: 0 !important;
2154
+ }
2155
+ .vjs-text-track-display-ttml{
2156
+ inset: -30px 7px -40px 0.222222px !important;
2157
+ margin: unset !important;
2158
+ }
2159
+
2160
+
2161
+ /* ADs */
2162
+ .ima-ad-container {
2163
+ top: 0em;
2164
+ position: absolute;
2165
+ display: none;
2166
+ width: 100%;
2167
+ height: 100%;
2168
+ }
2169
+
2170
+ .ima-controls-div {
2171
+ bottom: 0em;
2172
+ height: 1.4em;
2173
+ position: absolute;
2174
+ overflow: hidden;
2175
+ display: none;
2176
+ opacity: 1;
2177
+ background-color: rgba(7, 20, 30, .7);
2178
+ background: -moz-linear-gradient(bottom, rgba(7, 20, 30, .7) 0%, rgba(7, 20, 30, 0) 100%);
2179
+ /* FF3.6+ */
2180
+ background: -webkit-gradient(linear, left bottom, left top, color-stop(0%, rgba(7, 20, 30, .7)), color-stop(100%, rgba(7, 20, 30, 0)));
2181
+ /* Chrome,Safari4+ */
2182
+ background: -webkit-linear-gradient(bottom, rgba(7, 20, 30, .7) 0%, rgba(7, 20, 30, 0) 100%);
2183
+ /* Chrome10+,Safari5.1+ */
2184
+ background: -o-linear-gradient(bottom, rgba(7, 20, 30, .7) 0%, rgba(7, 20, 30, 0) 100%);
2185
+ /* Opera 11.10+ */
2186
+ background: -ms-linear-gradient(bottom, rgba(7, 20, 30, .7) 0%, rgba(7, 20, 30, 0) 100%);
2187
+ /* IE10+ */
2188
+ background: linear-gradient(to top, rgba(7, 20, 30, .7) 0%, rgba(7, 20, 30, 0) 100%);
2189
+ /* W3C */
2190
+ /* filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#0007141E', endColorstr='#07141E', GradientType=0); */
2191
+ /* IE6-9 */
2192
+ }
2193
+
2194
+ .ima-controls-div.ima-controls-div-showing {
2195
+ height: 3.7em;
2196
+ }
2197
+
2198
+ .ima-countdown-div {
2199
+ height: 1em;
2200
+ color: #FFFFFF;
2201
+ text-shadow: 0 0 0.2em #000;
2202
+ cursor: default;
2203
+ }
2204
+
2205
+ .ima-seek-bar-div {
2206
+ top: 1.2em;
2207
+ height: 0.3em;
2208
+ position: absolute;
2209
+ background: rgba(255, 255, 255, .4);
2210
+ }
2211
+
2212
+ .ima-progress-div {
2213
+ width: 0em;
2214
+ height: 0.3em;
2215
+ background-color: #ECC546;
2216
+ }
2217
+
2218
+ .ima-play-pause-div,
2219
+ .ima-mute-div,
2220
+ .ima-slider-div,
2221
+ .ima-fullscreen-div {
2222
+ width: 2.33em;
2223
+ height: 1.33em;
2224
+ top: 0.733em;
2225
+ left: 0em;
2226
+ position: absolute;
2227
+ color: #CCCCCC;
2228
+ font-size: 1.5em;
2229
+ line-height: 2;
2230
+ text-align: center;
2231
+ font-family: VideoJS;
2232
+ cursor: pointer;
2233
+ }
2234
+
2235
+ .ima-mute-div {
2236
+ left: auto;
2237
+ right: 5.667em;
2238
+ }
2239
+
2240
+ .ima-slider-div {
2241
+ left: auto;
2242
+ right: 2.33em;
2243
+ width: 3.33em;
2244
+ height: 0.667em;
2245
+ top: 1.33em;
2246
+ background-color: #555555;
2247
+ }
2248
+
2249
+ .ima-slider-level-div {
2250
+ width: 100%;
2251
+ height: 0.667em;
2252
+ background-color: #ECC546;
2253
+ }
2254
+
2255
+ .ima-fullscreen-div {
2256
+ left: auto;
2257
+ right: 0em;
2258
+ }
2259
+
2260
+ .ima-playing:before {
2261
+ content: "\00f103";
2262
+ }
2263
+
2264
+ .ima-paused:before {
2265
+ content: "\00f101";
2266
+ }
2267
+
2268
+ .ima-playing:hover:before,
2269
+ .ima-paused:hover:before {
2270
+ text-shadow: 0 0 1em #fff;
2271
+ }
2272
+
2273
+ .ima-non-muted:before {
2274
+ content: "\00f107";
2275
+ }
2276
+
2277
+ .ima-muted:before {
2278
+ content: "\00f104";
2279
+ }
2280
+
2281
+ .ima-non-muted:hover:before,
2282
+ .ima-muted:hover:before {
2283
+ text-shadow: 0 0 1em #fff;
2284
+ }
2285
+
2286
+ .ima-non-fullscreen:before {
2287
+ content: "\00f108";
2288
+ }
2289
+
2290
+ .ima-fullscreen:before {
2291
+ content: "\00f109";
2292
+ }
2293
+
2294
+ .ima-non-fullscreen:hover:before,
2295
+ .ima-fullscreen:hover:before {
2296
+ text-shadow: 0 0 1em #fff;
2297
+ }
2298
+
2299
+ /* Move overlay when controls are active. */
2300
+ .video-js.vjs-user-inactive.vjs-playing .bumpable-ima-ad-container {
2301
+ margin-top: 0em;
2302
+ }
2303
+
2304
+ .video-js.vjs-paused .bumpable-ima-ad-container,
2305
+ .video-js.vjs-playing:hover .bumpable-ima-ad-container,
2306
+ .video-js.vjs-user-active.vjs-playing .bumpable-ima-ad-container {
2307
+ margin-top: -4em;
2308
+ }
2309
+
2310
+ /* Move overlay if user fast-clicks play button. */
2311
+
2312
+ .video-js.vjs-playing .bumpable-ima-ad-container {
2313
+ margin-top: -4em;
2314
+ }
2315
+ /* Resolution Module */
2316
+
2317
+ .video-js .container {
2318
+ position: relative;
2319
+ display: flex;
2320
+ align-items: center;
2321
+ width: 5em;
2322
+ justify-content: center;
2323
+ }
2324
+
2325
+ .video-js .setting-icon:hover {
2326
+ cursor: pointer;
2327
+ }
2328
+
2329
+ .video-js .customFontHeading {
2330
+ font-size: 13px;
2331
+ }
2332
+
2333
+ .video-js .content {
2334
+ opacity: 1;
2335
+ display: flex;
2336
+ position: absolute;
2337
+ background-color: rgb(52 51 51 / 70%);
2338
+ height: max-content;
2339
+ width: max-content;
2340
+ text-align: center;
2341
+ overflow-y: scroll;
2342
+ bottom: 2.4rem;
2343
+ right: -2rem;
2344
+ border-radius: 5px;
2345
+ z-index: 1;
2346
+ }
2347
+
2348
+ .video-js .resolution{
2349
+ min-width: 180px;
2350
+ }
2351
+
2352
+ .video-js .rendition {
2353
+ margin: 4px;
2354
+ }
2355
+
2356
+ .video-js .rendition span {
2357
+ background: brown;
2358
+ color: #fff;
2359
+ font-size: 9px;
2360
+ padding: 1px 3px;
2361
+ border-radius: 2px;
2362
+ margin-left: 2px;
2363
+ }
2364
+
2365
+ @media(max-width:500px) {
2366
+ .video-js .rendition {
2367
+ margin: 1px;
2368
+ }
2369
+
2370
+ .video-js .title {
2371
+ margin: 2px;
2372
+ }
2373
+ }
2374
+
2375
+ .video-js .resolution_hidden {
2376
+ opacity: 0;
2377
+ visibility: hidden;
2378
+ transition: visibility 300ms, opacity 300ms;
2379
+ }
2380
+
2381
+ .video-js .rendition {
2382
+ padding: 3px 1.6rem;
2383
+ }
2384
+
2385
+ .video-js .selected {
2386
+ font-weight: 900;
2387
+ }
2388
+
2389
+
2390
+ .video-js .renditions {
2391
+ font-size: 12px;
2392
+ position: relative;
2393
+ padding: 1px;
2394
+ }
2395
+
2396
+ .video-js .rendition.selected::before {
2397
+ content: "";
2398
+ position: absolute;
2399
+ width: 5px;
2400
+ height: 5px;
2401
+ top: 50%;
2402
+ border-radius: 50%;
2403
+ background: white;
2404
+ left: 10px;
2405
+ -webkit-transform: translateY(-50%);
2406
+ transform: translateY(-50%);
2407
+ }
2408
+
2409
+ .video-js .content::-webkit-scrollbar {
2410
+ /* WebKit */
2411
+ width: 0;
2412
+ height: 0;
2413
+ }
2414
+
2415
+ .video-js .disable-play-btn {
2416
+ display: none !important;
2417
+ pointer-events: none !important;
2418
+ }
2419
+
2420
+ .video-js .title {
2421
+ font-size: 14px;
2422
+ font-weight: 900;
2423
+ padding: 3px 0px;
2424
+ margin-top: 5px;
2425
+ }
2426
+
2427
+ .video-js .rendition:hover {
2428
+ cursor: pointer;
2429
+ }
2430
+
2431
+ .video-js .relative {
2432
+ position: relative;
2433
+ }
2434
+
2435
+
2436
+ .video-js p.customFontHeading {
2437
+ margin: 4px;
2438
+ padding: 3px;
2439
+ font-weight: 900;
2440
+ }
2441
+
2442
+ .video-js .font {
2443
+ font-size: 1rem;
2444
+ width: 5rem;
2445
+ }
2446
+
2447
+
2448
+
2449
+ /* @media (max-width:700px){
2450
+ .hideCustomFonts{
2451
+ display: none;
2452
+ }
2453
+ } */
2454
+
2455
+ @media (max-width:700px) {
2456
+ .video-js .title {
2457
+ font-size: 12px;
2458
+ }
2459
+
2460
+ .video-js .rendition.selected:before {
2461
+ height: 5px;
2462
+ width: 5px;
2463
+ }
2464
+
2465
+ .video-js .renditions {
2466
+ font-size: 10px;
2467
+ }
2468
+
2469
+ }
2470
+
2471
+ .hideCustomFonts {
2472
+ /* display: none; */
2473
+ }
2474
+
2475
+ /* Resolution Module End */
2476
+ /* Chromecast */
2477
+ .video-js .vjs-chromecast-button .vjs-icon-placeholder {
2478
+ background: url('https://player.viewlift.com/images/ic_cast_white_24dp.png') center center no-repeat;
2479
+ background-size: contain;
2480
+ display: inline-block;
2481
+ width: 16px;
2482
+ height: 16px;
2483
+ }
2484
+
2485
+ .video-js .vjs-chromecast-button:hover {
2486
+ cursor: pointer;
2487
+ }
2488
+
2489
+ .video-js .vjs-chromecast-button:hover .vjs-icon-placeholder {
2490
+ background-image: url('https://player.viewlift.com/images/ic_cast_white_24dp.png');
2491
+ }
2492
+
2493
+ .video-js .vjs-chromecast-button.vjs-chromecast-casting-state .vjs-icon-placeholder {
2494
+ background-image: url('https://player.viewlift.com/images/ic_cast_connected_white_24dp.png');
2495
+ }
2496
+
2497
+ .video-js .vjs-chromecast-button.vjs-chromecast-casting-state:hover .vjs-icon-placeholder {
2498
+ background-image: url('https://player.viewlift.com/images/ic_cast_connected_white_24dp.png');
2499
+ }
2500
+ .video-js .vjs-chromecast-button >.vjs-chromecast-button-label{
2501
+ display: none !important;
2502
+ }
2503
+
2504
+ .video-js .vjs-tech-chromecast {
2505
+ display: flex;
2506
+ flex-direction: column;
2507
+ justify-content: center;
2508
+ align-items: center;
2509
+ overflow: hidden;
2510
+ }
2511
+
2512
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-poster::after {
2513
+ content: ' ';
2514
+ display: block;
2515
+ height: 2px;
2516
+ width: 100px;
2517
+ background-color: #cccccc;
2518
+ position: absolute;
2519
+ left: calc(50% - 50px);
2520
+ }
2521
+
2522
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-poster-img {
2523
+ max-height: 180px;
2524
+ width: auto;
2525
+ border: 2px solid #cccccc;
2526
+ }
2527
+
2528
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-poster-img.vjs-tech-chromecast-poster-img-empty {
2529
+ width: 160px;
2530
+ height: 90px;
2531
+ }
2532
+
2533
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-title-container {
2534
+ position: absolute;
2535
+ bottom: 50%;
2536
+ margin-bottom: 100px;
2537
+ color: #cccccc;
2538
+ text-align: center;
2539
+ }
2540
+
2541
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-title {
2542
+ font-size: 22px;
2543
+ }
2544
+
2545
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-title.vjs-tech-chromecast-title-empty {
2546
+ display: none;
2547
+ }
2548
+
2549
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-subtitle {
2550
+ font-size: 18px;
2551
+ padding-top: 0.5em;
2552
+ }
2553
+
2554
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-subtitle.vjs-tech-chromecast-subtitle-empty {
2555
+ display: none;
2556
+ }
2557
+
2558
+ .video-js .vjs-tech-chromecast {
2559
+ display: flex;
2560
+ flex-direction: column;
2561
+ justify-content: center;
2562
+ align-items: center;
2563
+ overflow: hidden;
2564
+ }
2565
+
2566
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-poster::after {
2567
+ content: ' ';
2568
+ display: block;
2569
+ height: 2px;
2570
+ width: 100px;
2571
+ background-color: #ccc;
2572
+ position: absolute;
2573
+ left: calc(50% - 50px);
2574
+ }
2575
+
2576
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-poster-img {
2577
+ max-height: 180px;
2578
+ width: auto;
2579
+ border: 2px solid #ccc;
2580
+ }
2581
+
2582
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-poster-img.vjs-tech-chromecast-poster-img-empty {
2583
+ width: 160px;
2584
+ height: 90px;
2585
+ }
2586
+
2587
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-title-container {
2588
+ position: absolute;
2589
+ bottom: 50%;
2590
+ margin-bottom: 100px;
2591
+ color: #ccc;
2592
+ text-align: center;
2593
+ }
2594
+
2595
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-title {
2596
+ font-size: 22px;
2597
+ }
2598
+
2599
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-title.vjs-tech-chromecast-title-empty {
2600
+ display: none;
2601
+ }
2602
+
2603
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-subtitle {
2604
+ font-size: 18px;
2605
+ padding-top: 0.5em;
2606
+ }
2607
+
2608
+ .video-js .vjs-tech-chromecast .vjs-tech-chromecast-subtitle.vjs-tech-chromecast-subtitle-empty {
2609
+ display: none;
2610
+ }
2611
+
2612
+ /* Chromecast End */
2613
+ /* Airplay */
2614
+
2615
+ .video-js .vjs-airplay-button .vjs-icon-placeholder {
2616
+ background: url('https://player.viewlift.com/images/ic_airplay_white_24px.svg') center center no-repeat;
2617
+ background-size: contain;
2618
+ display: inline-block;
2619
+ width: 18px;
2620
+ height: 18px;
2621
+ }
2622
+
2623
+ .video-js .vjs-airplay-button:hover {
2624
+ cursor: pointer;
2625
+ }
2626
+
2627
+ .video-js .vjs-airplay-button:hover .vjs-icon-placeholder {
2628
+ background-image: url('https://player.viewlift.com/images/ic_airplay_white_24px.svg');
2629
+ }
2630
+
2631
+ /* Airplay end */
2097
2632
  .ssai-ad-container{
2098
2633
  display: none;
2099
2634
  }