PluginProbe
WpStream – Live Streaming, Video on Demand, Pay Per View / 4.12.3
WpStream – Live Streaming, Video on Demand, Pay Per View v4.12.3
4.14.1 4.14.0 4.13.2 4.13.1 4.13 4.12.5 4.12.4 4.12.3 4.12.2 4.12.1 4.12 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.5 4.5.1 4.5.11 4.5.11.1 4.5.11.2 4.5.11.4 4.5.11.5 4.5.11.6 All 181 releases
wpstream / public / css / broadcaster.css

broadcaster.css in WpStream – Live Streaming, Video on Demand, Pay Per View 4.12.3, at public/css/broadcaster.css

423 lines 7.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* Additional styles for the broadcaster */
2 html {
3 margin-top: 0 !important;
4 }
5
6 body {
7 background: #F8F8F8;
8 }
9
10 body.wpstream-broadcaster-page {
11 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
12 background-color: #F8F8F8;
13 margin: 0;
14 color: #333;
15 padding: 0 15px;
16 }
17
18 body.wpstream-broadcaster-page #wpadminbar {
19 display: none;
20 }
21
22 /* Style for the header */
23 .broadcaster-header {
24 background-color: #f8f9fa!important;
25 box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.05);
26 padding: 10px 0;
27 top: 0;
28 left: 0;
29 right: 0;
30 z-index: 100;
31 }
32
33 .header-container {
34 display: flex;
35 justify-content: space-between;
36 align-items: center;
37 margin: 0 auto;
38 padding: 0 20px;
39 }
40
41 .header-logo {
42 padding: .3125rem 0;
43 }
44
45 .header-logo img {
46 width: auto;
47 }
48
49 .header-nav {
50 display: flex;
51 align-items: center;
52 }
53
54 .nav-item {
55 font-size: 16px;
56 font-weight: 500;
57 color: #333;
58 }
59
60 #messageContainer {
61 display: flex;
62 margin-top: 1rem;
63 justify-content: center;
64 }
65
66 /* Adjust the main container to account for the fixed header */
67 .broadcaster-container {
68 margin-top: 70px;
69 }
70
71 /* Style for the main broadcaster container */
72 .broadcaster-container {
73 max-width: 1500px;
74 margin: 0 auto;
75 padding: 20px;
76 }
77
78 .broadcaster-container .video-live-indicator {
79 position: absolute;
80 top: 0.5em;
81 left: 1.5em;
82 opacity: 90%;
83 z-index: 3;
84 }
85
86 .broadcaster-container .video-live-indicator .badge {
87 display: inline-block;
88 padding: .25em .4em;
89 font-size: 75%;
90 font-weight: 700;
91 line-height: 1;
92 text-align: center;
93 white-space: nowrap;
94 vertical-align: baseline;
95 border-radius: .25rem;
96 transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
97 }
98
99 .broadcaster-container .video-live-indicator .badge.badge-pill {
100 padding-right: .6em;
101 padding-left: .6em;
102 border-radius: 10rem;
103 }
104
105 .broadcaster-container .video-live-indicator .badge.badge-danger {
106 color: #fff;
107 background-color: #d63638;
108 }
109
110 .broadcaster-container .video-live-indicator .badge.badge-warning {
111 color: #212529;
112 background-color: #ffc107;
113 }
114
115 .video-container {
116 flex: 2;
117 position: relative;
118 width: 100%;
119 height: auto;
120 background-color: #EEEEEE;
121 margin-bottom: 20px;
122 border-radius: 4px;
123 overflow: hidden;
124 }
125
126 @media screen and (max-width: 600px) {
127 .video-container {
128 display: flex;
129 flex-direction: column;
130 justify-content: center;
131 max-height: 60vh;
132 }
133 }
134
135 #localVideo {
136 position: relative;
137 z-index: 2;
138 width: 100%;
139 background-color: #EEEEEE;
140 }
141
142 .controls-container {
143 display: flex;
144 flex-wrap: wrap;
145 gap: 15px;
146 margin-bottom: 20px;
147 }
148
149 .button {
150 background-color: #2271b1;
151 border: none;
152 color: white;
153 padding: 10px 20px;
154 text-align: center;
155 text-decoration: none;
156 display: inline-block;
157 font-size: 16px;
158 margin: 4px 2px;
159 cursor: pointer;
160 border-radius: 4px;
161 transition: background-color 0.3s;
162 }
163
164 .button:hover {
165 background-color: #135e96;
166 }
167
168 .button.start-broadcast {
169 background-color: #066AA6;
170 width: 100%;
171 }
172
173 .button.stop-broadcast {
174 background-color: #2c3338;
175 width: 100%;
176 }
177
178 .status-container {
179 display: none;
180 padding: 15px;
181 background-color: #fff;
182 border-radius: 4px;
183 margin-bottom: 20px;
184 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
185 }
186
187 .wrapper {
188 display: flex;
189 gap: 15px;
190 }
191
192 @media screen and (max-width: 768px) {
193 .wrapper {
194 flex-direction: column;
195 }
196 }
197
198 .status-indicator {
199 display: inline-block;
200 width: 12px;
201 height: 12px;
202 border-radius: 50%;
203 margin-right: 8px;
204 background-color: #ccc;
205 }
206
207 .status-indicator.connected {
208 background-color: #00a32a;
209 }
210
211 .status-indicator.disconnected {
212 background-color: #d63638;
213 }
214
215 .status-indicator.connecting {
216 background-color: #f0c33c;
217 }
218
219 .settings-panel {
220 flex: 1;
221 background-color: #fff;
222 border-radius: 4px;
223 padding: 15px;
224 margin-bottom: 20px;
225 box-shadow: 0 1px 3px rgba(0,0,0,0.1);
226 }
227
228 .settings-row {
229 display: flex;
230 flex-wrap: wrap;
231 gap: 20px;
232 margin-bottom: 15px;
233 }
234
235 .settings-row .settings-group .input-group {
236 display: flex;
237 flex-direction: row;
238 align-items: center;
239 }
240
241 .settings-row .settings-group .input-group #audioBitrate {
242 border-top-right-radius: 0;
243 border-bottom-right-radius: 0;
244 }
245
246 .settings-row .settings-group .input-group input {
247 flex: 1;
248 font-size: 1rem;
249 }
250
251 .settings-row.media-row {
252 display: flex;
253 flex-direction: column;
254 gap: 10px;
255 }
256
257 .settings-row .settings-group .input-group .input-suffix {
258 background-color: #e9ecef;
259 padding: .375rem .75rem;
260 border: 1px solid #ced4da;
261 border-radius: .25rem;
262 font-size: 1rem;
263 border-top-left-radius: 0;
264 border-bottom-left-radius: 0;
265 border-left: 0;
266 }
267
268 .settings-group {
269 flex: 1;
270 /*min-width: 250px;*/
271 }
272
273 .settings-group label {
274 display: block;
275 margin-bottom: 5px;
276 font-weight: 500;
277 font-size: 1rem;
278 }
279
280 .settings-group .controls-group {
281 display: flex;
282 gap: 10px;
283 }
284
285 .settings-group .controls-group button {
286 background: #FFFFFF;
287 border: 1px solid #B2B3B5;
288 box-sizing: border-box;
289 border-radius: 6px;
290 }
291
292 .hidden {
293 display: none;
294 }
295
296 .info-message {
297 color: #0056b3;
298 background-color: #e9f5ff;
299 padding: 10px;
300 border-left: 4px solid #0056b3;
301 margin-bottom: 15px;
302 }
303
304 .error-message {
305 color: #d63638;
306 background-color: #fcf0f1;
307 padding: 10px;
308 border-left: 4px solid #d63638;
309 margin-bottom: 15px;
310 max-width: 83.33%;
311 flex: 0 0 83.333333%;
312 }
313
314 .error-message a {
315 color: #d63638;
316 text-decoration: underline;
317 }
318
319 .info-message,
320 .error-message {
321 position: relative;
322 padding: 1rem;
323 padding-right: 2.5rem; /* Make space for the close button */
324 }
325
326 .error-message .dismiss-message {
327 position: absolute;
328 top: 50%;
329 right: 0.5rem;
330 transform: translateY(-50%);
331 background: none;
332 border: none;
333 font-size: 1.5rem;
334 line-height: 1;
335 color: inherit;
336 cursor: pointer;
337 opacity: 0.7;
338 padding: 0.5rem;
339 }
340
341 .error-message .dismiss-message:hover {
342 opacity: 1;
343 }
344
345
346 .success-message {
347 color: #00a32a;
348 background-color: #edfaef;
349 padding: 10px;
350 border-left: 4px solid #00a32a;
351 margin-bottom: 15px;
352 }
353
354 .stats-container {
355 display: flex;
356 flex-direction: column;
357 gap: 10px;
358 font-size: 14px;
359 }
360
361 .stat-item {
362 background-color: #f0f0f1;
363 padding: 5px 10px;
364 border-radius: 4px;
365 }
366
367 .settings-group select {
368 color: #495057;
369 width: 100%;
370 padding: 8px 12px;
371 border-radius: 4px;
372 border: 1px solid #ccc;
373 background-color: #fff;
374 font-size: 1rem;
375 appearance: menulist;
376 background-image: none;
377 -webkit-appearance: menulist;
378 }
379
380 .settings-group select:focus {
381 outline: none;
382 border-color: #2271b1;
383 box-shadow: 0 0 0 1px #2271b1;
384 }
385
386 /* Code to expand portrait video on mobile */
387 .settings-group select:disabled {
388 background-color: #f0f0f1;
389 cursor: not-allowed;
390 opacity: 0.7;
391 }
392
393 /* Mobile Expand/Collapse Button */
394 .video-expand-toggle {
395 display: none;
396 position: absolute;
397 top: 10px;
398 right: 10px;
399 z-index: 10;
400 background: rgba(0, 0, 0, 0.5);
401 border: none;
402 border-radius: 4px;
403 color: white;
404 padding: 6px;
405 cursor: pointer;
406 line-height: 0;
407 transition: background 0.3s;
408 }
409
410 .video-expand-toggle:hover {
411 background: rgba(0, 0, 0, 0.8);
412 }
413
414 @media screen and (max-width: 600px) {
415 .video-expand-toggle {
416 display: block;
417 }
418
419 .video-container.expanded {
420 max-height: none !important;
421 height: auto;
422 }
423 }