PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents / 4.6.0
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents v4.6.0
4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 trunk 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.14 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.10 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.4.0 4.4.1 4.4.10 4.4.11 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.5.0 4.5.1
embedpress / assets / css / embedpress.css
embedpress / assets / css Last commit date
fonts 9 months ago vendor 9 months ago admin-notices.css 2 months ago admin.build.css 2 months ago admin.css 8 months ago analytics.build.css 2 months ago blocks.build.css 3 days ago carousel.min.css 2 years ago custom-player.build.css 2 months ago el-icon.css 3 months ago embedpress-elementor.css 2 years ago embedpress.css 3 days ago ep-gr-elementor-picker.css 3 days ago ep-pdf-lightbox.css 3 months ago feature-notices.css 8 months ago feature-preview-modal.css 3 days ago font.css 7 years ago glider.min.css 2 years ago google-reviews.build.css 3 days ago google-reviews.css 3 days ago index.html 7 years ago instagram-shortcode-generator.css 1 month ago lazy-load.css 6 months ago meetup-events.css 8 months ago modal.css 9 months ago onboarding.build.css 2 months ago pdf-gallery.css 3 months ago plyr.css 9 months ago preview.css 6 years ago settings-icons.css 9 months ago settings.css 3 days ago
embedpress.css
6781 lines
1 /**
2 * @package EmbedPress
3 * @author EmbedPress <help@embedpress.com>
4 * @copyright Copyright (C) 2018 EmbedPress. All rights reserved.
5 * @license GPLv2 or later
6 * @since 1.0
7 */
8 .embedpress-wrapper {
9 position: relative;
10 }
11
12 .ose-dailymotion.responsive,
13 .ose-kickstarter.responsive,
14 .ose-rutube.responsive,
15 .ose-ted.responsive,
16 .ose-vimeo.responsive,
17 .ose-youtube.responsive,
18 .ose-ustream.responsive,
19 .ose-google-docs.responsive,
20 .ose-animatron.responsive,
21 .ose-amcharts.responsive,
22 .ose-on-aol-com.responsive,
23 .ose-animoto.responsive,
24 .ose-soundcloud.responsive,
25 .ose-videojug.responsive,
26 .ose-facebook.responsive,
27 .ose-issuu.responsive {
28 overflow: hidden;
29 position: relative;
30 height: auto;
31 }
32
33 .ose-dailymotion.responsive iframe,
34 .ose-kickstarter.responsive iframe,
35 .ose-rutube.responsive iframe,
36 .ose-ted.responsive iframe,
37 .ose-vimeo.responsive iframe,
38 .ose-vine.responsive iframe,
39 .ose-youtube.responsive iframe,
40 .ose-ustream.responsive iframe,
41 .ose-google-docs.responsive iframe,
42 .ose-animatron.responsive iframe,
43 .ose-amcharts.responsive iframe,
44 .ose-on-aol-com.responsive iframe,
45 .ose-animoto.responsive iframe,
46 .ose-soundcloud.responsive iframe,
47 .ose-videojug.responsive iframe,
48 .ose-issuu.responsive iframe {
49 left: 0;
50 top: 0;
51 height: 100%;
52 width: 100%;
53 position: absolute;
54 }
55
56 /* 16:9 aspect ratio */
57 .ose-dailymotion.responsive,
58 .ose-kickstarter.responsive,
59 .ose-rutube.responsive,
60 .ose-ted.responsive,
61 .ose-vimeo.responsive,
62 .ose-youtube.responsive,
63 .ose-animatron.responsive,
64 .ose-amcharts.responsive,
65 .ose-on-aol-com.responsive,
66 .ose-animoto.responsive,
67 .ose-videojug.responsive {
68 padding-bottom: 56.25%;
69 }
70
71 /* 1:1 aspect ratio */
72 .ose-vine.responsive {
73 padding-bottom: 100%;
74 }
75
76 /* Mixed aspect ratio */
77 .ose-ustream.responsive {
78 padding-bottom: 63.3%;
79 }
80
81 .ose-google-docs.responsive {
82 padding-bottom: 62.6%;
83 }
84
85 .ose-google-docs.ose-google-docs-drawings.responsive {
86 padding-bottom: 74.5%;
87 }
88
89 .ose-google-docs.ose-google-docs-document.responsive,
90 .ose-google-docs.ose-google-docs-forms.responsive,
91 .ose-google-docs.ose-google-docs-spreadsheets.responsive {
92 padding-bottom: 142%;
93 }
94
95 .ose-soundcloud.responsive {
96 padding-bottom: 155px;
97 }
98
99 .ose-issuu.responsive iframe {
100 z-index: 2;
101 }
102
103 .ose-issuu.responsive {
104 padding-bottom: 31.25%;
105 }
106
107 .ose-issuu>div>div>div:last-child {
108 width: 100% !important;
109 z-index: 0;
110 position: absolute;
111 bottom: 0;
112 }
113
114 .ose-mixcloud.responsive iframe {
115 width: 100%;
116 }
117
118 /* Fix scrolling on iOS devices */
119 .ose-google-docs.responsive {
120 -webkit-overflow-scrolling: touch;
121 overflow-y: auto;
122 }
123
124 .ose-facebook.responsive iframe {
125 padding-bottom: 0;
126 width: 100%;
127 }
128
129 .elementor-widget iframe {
130 max-height: 100% !important;
131 }
132
133 .elementor-cbutton-preview-wrapper {
134 display: flex;
135 flex-direction: column;
136 justify-content: center;
137 align-items: center;
138 padding: 100px 30px;
139 background: #fbf6f6;
140 }
141
142 @media only screen and (max-width: 800px) {
143
144 .elementor-widget-embedpres_elementor .embedpress-facebook-vid-iframe,
145 .embedpress-gutenberg-wrapper .embedpress-facebook-vid-iframe,
146 .embedpress-facebook-vid-iframe {
147 max-height: inherit !important;
148 }
149
150 .ep-first-video iframe {
151 max-height: 100% !important;
152 }
153
154 .ep-youtube__content__block .youtube__content__body .content__wrap:not(.youtube-carousel) {
155 grid-template-columns: repeat(auto-fit, minmax(calc(50% - 30px), 1fr)) !important;
156 }
157 }
158
159 @media only screen and (max-width: 500px) {
160
161 .elementor-widget-embedpres_elementor .embedpress-facebook-vid-iframe,
162 .embedpress-gutenberg-wrapper .embedpress-facebook-vid-iframe,
163 .embedpress-facebook-vid-iframe {
164 max-height: 390px !important;
165 }
166
167 .ep-youtube__content__block .youtube__content__body .content__wrap:not(.youtube-carousel) {
168 grid-template-columns: repeat(auto-fit, minmax(calc(100% - 30px), 1fr)) !important;
169 }
170 }
171
172 .ose-matterport .embera-embed-responsive, .ose-matterport .embera-embed-responsive iframe {
173 width: 100%;
174 height: 100%;
175 }
176
177 .ose-flourish iframe {
178 border: none;
179 }
180
181 .ose-deviantart img, .ose-deviantart a, .ose-deviantart div {
182 width: 100%;
183 height: 100%;
184 }
185
186 /*Meetup Event styling starts */
187 .ose-meetup {
188 overflow: auto !important;
189 text-align: left;
190 display: block !important;
191 margin: auto;
192 }
193
194 .ose-meetup img {
195 height: auto;
196 }
197
198 article.embedpress-event div#sponsors {
199 display: none;
200 }
201
202 .embedpress-event .link {
203 color: #0098ab;
204 }
205
206 .embedpress-event .visibility--a11yHide {
207 border: 0;
208 clip: rect(0 0 0 0);
209 position: absolute;
210 overflow: hidden;
211 margin: -1px;
212 padding: 0;
213 width: 1px;
214 height: 1px;
215 }
216
217 .embedpress-event .text--small {
218 font-size: 14px;
219 margin: 0;
220 }
221
222 .embedpress-event .flex {
223 display: flex;
224 box-sizing: border-box;
225 }
226
227 .embedpress-event .flex--wrap {
228 flex-wrap: wrap;
229 }
230
231 .embedpress-event .flex--row {
232 align-items: center;
233 box-sizing: border-box;
234 display: flex;
235 justify-content: flex-start;
236 flex-direction: row;
237 flex-wrap: nowrap;
238 }
239
240 .embedpress-event .flex-item {
241 flex-basis: 0;
242 flex-grow: 1;
243 width: auto;
244 min-width: 0;
245 /*padding-left: 16px;*/
246 box-sizing: border-box;
247 }
248
249 .embedpress-event .flex-item--shrink {
250 flex-basis: auto;
251 -webkit-box-flex: 0;
252 flex-grow: 0;
253 flex-shrink: 0;
254 width: auto;
255 }
256
257 .embedpress-event .flex--row>.flex-item:first-child {
258 padding-left: 0;
259 }
260
261 .embedpress-event .text--bold {
262 font-weight: 700;
263 }
264
265 .embedpress-event h1,
266 .embedpress-event h2,
267 .embedpress-event h3,
268 .embedpress-event h4,
269 .embedpress-event h5,
270 .embedpress-event h6 {
271 font-size: inherit;
272 }
273
274 .embedpress-event .ep-event--title {
275 font-size: 32px;
276 font-weight: 700;
277 }
278
279 .embedpress-event .ep-event--date {
280 color: #757575;
281 font-weight: 400;
282 font-size: 16px;
283 }
284
285 /*Host*/
286 .embedpress-event .ep-event--host {
287 margin-top: 20px;
288 display: flex;
289 align-items: center;
290 margin-bottom: 20px;
291 }
292
293 .ep-event--host .avatar-print {
294 border-radius: 50%;
295 height: 50px;
296 width: 50px;
297 }
298
299 .embedpress-event img.avatar--person {
300 background-image: none !important;
301 background-repeat: no-repeat;
302 background-position: 50%;
303 background-size: cover;
304 border-radius: 50%;
305 box-sizing: border-box;
306 vertical-align: middle;
307 }
308
309 .event-info-hosts-text {
310 padding-left: 20px;
311 font-size: 16px;
312 font-weight: 400;
313 }
314
315 .embedpress-event .event-description {
316 margin-top: 20px;
317 }
318
319 .text--sectionTitle {
320 font-size: 20px;
321 line-height: 28px;
322 }
323
324 .ep-event--attendees {
325 margin-top: 50px;
326 }
327
328 .ep-event--attendees>.flex {
329 margin-bottom: 20px;
330 }
331
332 .ep-event--attendees .gridList {
333 list-style: none;
334 margin: 0 -16px 0 0;
335 padding: 0;
336 }
337
338 .ep-event--attendees .gridList-item {
339 width: auto;
340 }
341
342 .ep-event--attendees .gridList--autoHeight--has4>.gridList-item {
343 flex: 0 0 50%;
344 max-width: 50%;
345 }
346
347 .ep-event--attendees .groupMember-name {
348 line-height: 1.2 !important;
349 }
350
351 .ep-event--attendees .avatar--person {
352 margin-bottom: 15px;
353 display: inline-block;
354 border-radius: 50%;
355 }
356
357 .ep-event--attendees img.avatar-print {
358 border-radius: 50%;
359 }
360
361 .ep-event--attendees .groupMember-role {
362 font-size: 12px;
363 color: #757575;
364 padding-top: 2px;
365 margin: 0;
366 }
367
368 .ep-event--attendees .groupMember {
369 min-height: 100%;
370 min-width: 128px;
371 padding-left: 8px;
372 padding-right: 8px;
373 }
374
375 .embedpress-event .align--center {
376 text-align: center;
377 }
378
379 .embedpress-event .card {
380 background: #fff;
381 background-clip: padding-box;
382 background-size: cover;
383 border: 1px solid rgba(46, 62, 72, .12);
384 border-radius: 8px;
385 -webkit-box-sizing: border-box;
386 box-sizing: border-box;
387 display: block;
388 min-height: 100%;
389 padding: 16px 16px 18px;
390 position: relative;
391 white-space: normal;
392 }
393
394 .embedpress-event .card--hasHoverShadow {
395 transition: box-shadow .25s cubic-bezier(.4, 0, .2, 1), transform .25s cubic-bezier(.4, 0, .2, 1);
396 }
397
398 .embedpress-event .ep-event-group-link {
399 display: flex;
400 flex-wrap: wrap;
401 align-items: center;
402 background: #ffffff;
403 border-radius: 8px;
404 padding: 20px;
405 margin-bottom: 20px;
406 border: 1px solid rgba(46, 62, 72, .12);
407 }
408
409 .embedpress-event .ep-event-group--name {
410 padding-left: 20px;
411 font-size: 14px;
412 line-height: 1.45;
413 margin: 0;
414 width: 70%;
415 word-break: break-word;
416 }
417
418 .embedpress-event .ep-event-group--image {
419 -o-object-fit: cover;
420 object-fit: cover;
421 width: 56px;
422 height: 56px;
423 border-radius: 4px;
424 }
425
426 .embedpress-event .ep-event-time-location {
427 background: #ffffff;
428 border-radius: 8px;
429 padding: 16px 20px 0 20px;
430 border: 1px solid rgba(46, 62, 72, .12);
431 }
432
433 .embedpress-event .ep-event-time-location .ep-event-datetime,
434 .embedpress-event .ep-event-time-location .ep-event-location {
435 padding-bottom: 20px;
436 }
437
438 .embedpress-event .ep-event-location .wrap--singleLine--truncate,
439 .embedpress-event .ep-event-time-location .ep-event-datetime {
440 font-size: 15px;
441 line-height: 1.5;
442 color: #2e3e48;
443 font-style: normal;
444 margin: 0;
445 }
446
447 .embedpress-event .ep-event-location address {
448 font-style: normal;
449 margin: 0;
450 }
451
452 .embedpress-event .ep-event-location .venueDisplay-venue-address {
453 font-style: normal;
454 color: #757575;
455 margin: 0;
456 }
457
458 .embedpress-event .ep-event-location p {
459 line-height: 20px;
460 }
461
462 .ep-event--attendees .gridList-item {
463 -webkit-box-sizing: border-box;
464 box-sizing: border-box;
465 display: inline-block;
466 font-size: 1rem;
467 margin: 0;
468 vertical-align: top;
469 width: 50%;
470 }
471
472 .gridList-itemInner {
473 -webkit-box-sizing: border-box;
474 box-sizing: border-box;
475 height: 100%;
476 padding: 0 16px 16px 0;
477 }
478
479 /*Youtube subscribe button*/
480 .embedpress-yt-subscribe {
481 display: flex;
482 align-items: center;
483 align-content: start;
484 text-align: center;
485 gap: 1rem;
486 max-width: 600px;
487 width: 100%;
488 }
489
490 .embedpress-yt-subscribe .embedpress-yt-subscribe.dark {
491 color: #ffffff;
492 }
493
494 .embedpress-yt-subscribe .embedpress-yt-sub-text {
495 display: inline-block;
496 margin: 0;
497 padding: 0;
498 }
499
500 /* Meetup styling for new markup*/
501 .dewqijm {
502 height: 100%;
503 margin-right: 10px;
504 }
505
506 .dewqijm img[src^="image"] {
507 display: none;
508 }
509
510 .dewqijm img[src^="http"] {
511 height: 56px !important;
512 width: 56px !important;
513 }
514
515 .dewqijm>div>div {
516 display: none;
517 }
518
519 .embedpress-event .sticky button {
520 display: none;
521 }
522
523 .embedpress-event .items-center {
524 align-items: center;
525 }
526
527 /*Media query*/
528 @media only screen and (min-width: 530px) {
529 .ep-event--attendees .gridList--autoHeight--has4>.gridList-item {
530 flex: 0 0 33.333333%;
531 max-width: 33.333333%;
532 }
533 }
534
535 @media only screen and (min-width: 640px) {
536 .embedpress-event .card {
537 padding: 18px 18px 20px;
538 }
539
540 .ep-event--attendees .gridList--autoHeight--has4>.gridList-item {
541 flex: 0 0 25%;
542 max-width: 25%;
543 }
544 }
545
546
547
548
549 /**
550 * NFT card frontend style
551 */
552
553 .ose-opensea {
554 height: 100% !important;
555 width: calc(100% - 40px) !important;
556 max-height: 100% !important;
557 }
558
559 .ose-github {
560 overflow: auto;
561 }
562
563 .ep_nft_content_wrap.ep_nft__wrapper {
564 display: grid;
565 }
566
567 .ep_nft_content_wrap.ep_nft__wrapper,
568 .ep_nft_content_wrap.ep_nft_list {
569 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
570 grid-column-gap: 15px;
571 grid-row-gap: 15px;
572 }
573
574 .ep_nft_content_wrap .ep_nft_item {
575 padding-top: 15px;
576 padding-right: 15px;
577 padding-left: 15px;
578 padding-bottom: 15px;
579 background-color: #ffffff;
580 border-radius: 10px;
581 transition: background 0.5s, border 0.5s, border-radius 0.5s, box-shadow 0.5s;
582 box-shadow: 0 4px 15px rgba(0, 0, 0, .09);
583 overflow: hidden;
584 padding: 15px;
585 position: relative;
586 transition: .3s ease-in-out;
587 }
588
589 .ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-grid .ep_nft_item {
590 display: flex;
591 flex-direction: column;
592 }
593
594 .ep_nft_content_wrap.ep_nft_list .ep_nft_item {
595 justify-content: flex-start;
596 align-items: flex-start;
597 }
598
599 .ep_nft_content_wrap.ep_nft__wrapper.preset-3 .ep_nft_item .ep_nft_content {
600 background-color: #edecf6e6;
601 }
602
603 .ep_nft_content_wrap .ep_nft_thumbnail {
604 margin-top: 0px;
605 margin-right: 0px;
606 margin-left: 0px;
607 margin-bottom: 15px;
608 border-radius: 5px;
609 }
610
611 .ep_nft_content_wrap .ep_nft_thumbnail img {
612 height: 340px;
613 border-radius: 5px;
614 width: 100%;
615 object-fit: cover;
616 }
617
618 .ep_nft_content .ep_nft_title {
619 color: #333333;
620 font-size: 16px;
621 margin-top: 0px;
622 margin-right: 0px;
623 margin-left: 0px;
624 margin-bottom: 15px;
625 font-weight: 600;
626 word-break: break-all;
627 }
628
629 .ep_nft_content {
630 text-align: left;
631 }
632
633 .ep_nft_content .ep_nft_price {
634 color: #333333;
635 font-size: 14px;
636 margin-top: 0px;
637 margin-right: 0px;
638 margin-left: 0px;
639 margin-bottom: 0px;
640 display: flex;
641 font-weight: 600;
642 }
643
644 .ep_nft_content .ep_nft_price:first-child {
645 margin-bottom: 10px;
646 }
647
648 span.eb_nft_currency {
649 max-width: 28px;
650 display: flex;
651 align-items: center;
652 justify-content: center;
653 }
654
655 span.eb_nft_currency svg {
656 width: 100%;
657 height: auto;
658 }
659
660 .ep_nft_content .ep_nft_price_wrapper {
661 min-height: 20px;
662 }
663
664
665 .ep_nft_content .ep_nft_creator {
666 color: #333333;
667 font-size: 14px;
668 margin-top: 0px;
669 margin-right: 0px;
670 margin-left: 0px;
671 margin-bottom: 20px;
672 display: flex;
673 align-items: center;
674 gap: 5px;
675 }
676
677 .ep_nft_content .ep_nft_creator a {
678 color: #3080E2;
679 font-size: 14px;
680 text-decoration: none;
681 word-break: break-all;
682 text-decoration: none;
683 }
684
685 .ep_nft_content .ep_nft_creator img {
686 height: 30px;
687 width: 30px;
688 border-radius: 50%;
689 }
690
691 .ep_nft_content .ep_nft_button button {
692 margin-top: 0px;
693 margin-right: 0px;
694 margin-left: 0px;
695 margin-bottom: 0px;
696 }
697
698 .ep_nft_content .ep_nft_button button a {
699 background-color: #3080E2;
700 color: #ffffff;
701 font-size: 14px;
702 padding-top: 15px;
703 padding-right: 20px;
704 padding-left: 20px;
705 padding-bottom: 15px;
706 transition: border 0.5s, border-radius 0.5s, box-shadow 0.5s;
707 }
708
709 .ep_nft_content .ep_nft_button button:hover a {
710 background-color: rgb(46, 142, 238);
711 color: #ffffff;
712 }
713
714 .ep-nft-gallery-wrapper .ep_nft_content_wrap.ep_nft__wrapper.ep-preset-1 .ep_nft_item:hover .ep_nft_button {
715 opacity: 1;
716 transform: translate(0);
717 visibility: visible;
718 }
719
720
721 .ep-nft-gallery-wrapper.ep-nft-gallery-r1a5mbx .ep_nft_button a.ep-details-btn:hover {
722 background-color: rgb(46, 142, 238);
723 color: #ffffff;
724 }
725
726 .ep-nft-gallery-wrapper .ep_nft_content_wrap.ep_nft__wrapper.ep-preset-1 .ep_nft_item:hover .ep_nft_button {
727 opacity: 1;
728 transform: translate(0);
729 visibility: visible;
730 }
731
732 .ep-nft-gallery-wrapper .ep_nft_content_wrap.ep_nft__wrapper.ep-preset-1 .ep_nft_item .ep_nft_button {
733 bottom: 0;
734 left: 0;
735 opacity: 0;
736 position: absolute;
737 transform: translateY(30px);
738 visibility: hidden;
739 width: 100%;
740 transition: 0.3s;
741 }
742
743 .ep-nft-gallery-wrapper.ep-nft-gallery-r1a5mbx .ep-nft-single-item-wraper .ep_nft_button {
744 margin-top: auto;
745 display: flex;
746 justify-content: space-between;
747 gap: 15px;
748 }
749
750 .ep-nft-gallery-wrapper.ep-nft-gallery-r1a5mbx .ep_nft_button a {
751 background-color: #3080E2;
752 color: #ffffff;
753 font-size: 14px;
754 padding: 10px 20px;
755 transition: border 0.5s, border-radius 0.5s, box-shadow 0.5s;
756 display: block;
757 text-align: center;
758 font-weight: 500;
759 text-decoration: none;
760 }
761
762 .ep-nft-gallery-wrapper.ep-nft-gallery-r1a5mbx .ep_nft_button span.ep-nft-rank {
763 color: #a88484;
764 border-color: #a88484;
765 }
766
767 /* mimmikcssStart */
768
769
770 /* NFT List item CSS */
771
772 .ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-list .ep_nft_item {
773 display: flex;
774 gap: 15px;
775 align-items: center;
776 border-radius: 10px;
777 }
778
779 .ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-list .ep_nft_item .ep_nft_thumbnail {
780 width: 55%;
781 }
782
783 .ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-list .ep_nft_item .ep_nft_content {
784 width: calc(45% - 15px);
785 }
786
787 .ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-list .ep_nft_item .ep_nft_content .ep_nft_price.ep_nft_last_sale {
788 margin-bottom: 15px;
789 }
790
791 .ep_nft_content_wrap.ep_nft__wrapper.nft_items .ep_nft_item .ep_nft_thumbnail svg {
792 border-radius: 10px;
793 }
794
795 .ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-list .ep_nft_item .ep_nft_thumbnail img {
796 height: 260px;
797 }
798
799 .ep-nft-single-item-wraper.ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-list .ep_nft_item .ep_nft_button a {
800 border-radius: 10px;
801 width: 100%;
802 display: flex;
803 align-items: center;
804 justify-content: center;
805 }
806
807 .ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-grid.ep-preset-2 .ep_nft_content .ep_nft_price:last-child {
808 margin-bottom: 15px;
809 }
810
811 .alignleft .ose-opensea,
812 .alignright .ose-opensea,
813 .aligncenter .ose-opensea {
814 max-width: calc(100% - 40px) !important;
815 }
816
817 .embedpress-gutenberg-wrapper.alignright, .embedpress-gutenberg-wrapper.alignleft {
818 width: 100%;
819 }
820
821 .embedpress-gutenberg-wrapper.alignright .ep-embed-content-wraper>div {
822 float: right;
823 }
824
825 .embedpress-gutenberg-wrapper.aligncenter.ep-content-share-enabled .ep-embed-content-wraper {
826 justify-content: center;
827 }
828
829 .embedpress-gutenberg-wrapper.alignright.ep-content-share-enabled .ep-embed-content-wraper {
830 justify-content: right;
831 }
832
833 .embedpress-gutenberg-wrapper.alignleft.ep-content-share-enabled .ep-embed-content-wraper {
834 justify-content: left;
835 }
836
837 .embedpress-gutenberg-wrapper.aligncenter {
838 text-align: center;
839 clear: both;
840 }
841
842 .theme-twentytwentythree footer.wp-block-template-part {
843 clear: both;
844 }
845
846 /* mimmikcssEnd */
847
848 @media all and (max-width: 1024px) {
849
850 /* tabcssStart */
851 .ep_nft_content_wrap.ep_nft__wrapper,
852 .ep_nft_content_wrap.ep_nft_list {
853 grid-template-columns: repeat(3, 1fr) !important;
854 }
855
856 .alignleft .ose-opensea,
857 .alignright .ose-opensea,
858 .aligncenter .ose-opensea {
859 max-width: 100% !important;
860 }
861
862 /* tabcssEnd */
863
864 }
865
866 @media all and (max-width: 991px) {
867
868 /* tabcssStart */
869 .ose-opensea {
870 min-width: 100% !important;
871 max-width: calc(100% - 40px) !important;
872 }
873
874
875
876 .ep_nft_content_wrap.ep_nft__wrapper,
877 .ep_nft_content_wrap.ep_nft_list {
878 grid-template-columns: repeat(2, 1fr) !important;
879 }
880
881 /* tabcssEnd */
882
883 }
884
885 @media all and (max-width: 767px) {
886
887 /* mobcssStart */
888 .ep_nft_content_wrap.ep_nft__wrapper,
889 .ep_nft_content_wrap.ep_nft_list {
890 grid-template-columns: repeat(1, 1fr) !important;
891 }
892
893 /* mobcssEnd */
894
895 }
896
897
898 /* NFT Single item CSS */
899 .ep-nft-single-item-wraper.ep_nft_content_wrap .ep_nft_item {
900 box-shadow: none;
901 }
902
903 .ep-nft-rank-wraper {
904 margin-bottom: 16px;
905 font-weight: 600;
906 color: #333;
907 font-size: 16px;
908 }
909
910 .ep-nft-rank-wraper.ep-empty-label span {
911 margin-left: 0px;
912 }
913
914 span.ep-nft-rank {
915 padding: 2px 8px;
916 border-radius: 7px;
917 margin-left: 10px;
918 display: inline-block;
919 font-size: 14px;
920 font-weight: 600;
921 background: transparent !important;
922 border: 1px solid #ddd;
923 color: #333;
924 }
925
926 .ep-nft-single-item-wraper.ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-list .ep_nft_item .ep_nft_content {
927 width: calc(55% - 15px);
928 }
929
930 .ep-nft-single-item-wraper.ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-list .ep_nft_item .ep_nft_thumbnail {
931 width: 45%;
932 height: 100%;
933 }
934
935 .ep-nft-single-item-wraper.ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-list .ep_nft_item .ep_nft_thumbnail img {
936 height: 100%;
937 }
938
939 .ep-nft-single-item-wraper span.eb_nft_label {
940 color: #333;
941 /* margin-bottom: -10px; */
942 }
943
944 .ep-nft-single-item-wraper .ep_nft_content .ep_nft_price {
945 display: flex;
946 flex-direction: column;
947 margin-right: 45px;
948 }
949
950 .ep-nft-single-item-wraper span.eb_nft_price {
951 font-size: 30px;
952 line-height: normal;
953 }
954
955 .ep-nft-single-item-wraper .ep_nft_content .ep_nft_creator img {
956 height: 15px;
957 width: 15px;
958 border-radius: 50%;
959 }
960
961 .ep-nft-single-item-wraper .ep-usd-price {
962 bottom: 0;
963 font-size: 12px;
964 }
965
966 .ep-nft-single-item-wraper span.eb_nft_label {
967 /* margin-bottom: -14px; */
968 font-size: 15px;
969 }
970
971 .ep-nft-single-item-wraper .ep_nft_content .ep_nft_title {
972 margin-bottom: 10px;
973 font-size: 24px;
974 }
975
976 .ep-nft-single-item-wraper .CollectionLink--name svg {
977 width: 20px;
978 height: 20px;
979 margin-left: 5px;
980 }
981
982 .ep-nft-single-item-wraper a.CollectionLink--link {
983 font-size: 15px;
984 font-weight: 500;
985 text-decoration: none;
986 margin-bottom: 15px;
987 display: block;
988 color: #3080E2;
989 }
990
991 .ep-nft-single-item-wraper sub.verified-icon {
992 bottom: -5px;
993 left: 4px;
994 }
995
996 /* toggle */
997 .ep-nft-single-item-wraper .ep-accordion {
998 border: 1px solid #ddd;
999 border-radius: 10px;
1000 margin-top: 15px;
1001 display: block;
1002 }
1003
1004 .ep-nft-single-item-wraper .ep-toggle {
1005 display: none;
1006 }
1007
1008 .ep-nft-single-item-wraper .ep-option {
1009 position: relative;
1010 }
1011
1012 .ep-nft-single-item-wraper .ep-content {
1013 padding: 1em;
1014 border-top: 1px solid #ddd;
1015 }
1016
1017 .ep-nft-single-item-wraper .ep-content {
1018 -webkit-backface-visibility: hidden;
1019 backface-visibility: hidden;
1020 transform: translateZ(0);
1021 transition: all 0.2s;
1022 }
1023
1024 .ep-nft-single-item-wraper .ep-title {
1025 -webkit-backface-visibility: hidden;
1026 backface-visibility: hidden;
1027 transform: translateZ(0);
1028 transition: all 0.2s;
1029 padding: 1em;
1030 display: flex;
1031 color: #333;
1032 font-weight: bold;
1033 cursor: pointer;
1034 border-radius: 10px 10px 0 0;
1035 align-items: center;
1036 }
1037
1038 .ep-nft-single-item-wraper label.ep-title svg {
1039 width: 20px;
1040 height: 20px;
1041 margin-right: 6px;
1042 }
1043
1044 .ep-nft-single-item-wraper .ep-asset-detail-item {
1045 display: flex;
1046 justify-content: space-between;
1047 font-weight: 500;
1048 }
1049
1050 .ep-nft-single-item-wraper .ep-asset-detail-item span {
1051 word-break: break-word;
1052 max-width: 75%;
1053 }
1054
1055 .ep-nft-single-item-wraper .ep-content {
1056 display: block;
1057 }
1058
1059 .ep-nft-single-item-wraper .ep-content p {
1060 margin: 0;
1061 padding: 0.5em 1em 1em;
1062 font-size: 0.9em;
1063 line-height: 1.5;
1064 }
1065
1066 .ep-nft-single-item-wraper .ep-toggle:checked+.ep-title+.ep-content {
1067 display: none;
1068 background: transparent;
1069 }
1070
1071
1072
1073 .ep-nft-single-item-wraper .ep_nft_content .ep_nft_price_wrapper {
1074 display: flex;
1075 }
1076
1077 .ep-nft-single-item-wraper .ep-toggle+.ep-title:after {
1078 content: "";
1079 display: inline-block;
1080 position: absolute;
1081 width: 12px;
1082 height: 12px;
1083 background: transparent;
1084 text-indent: -9999px;
1085 border-top: 2px solid #bfbfbf;
1086 border-left: 2px solid #bfbfbf;
1087 transition: all 250ms ease-in-out;
1088 text-decoration: none;
1089 color: transparent;
1090 right: 15px;
1091 top: 50%;
1092 transform: rotate(45deg) translate(-20%, -5%);
1093 }
1094
1095 .ep-nft-single-item-wraper .ep-toggle:checked+.ep-title:before {
1096 content: "";
1097 display: inline-block;
1098 position: absolute;
1099 width: 12px;
1100 height: 12px;
1101 background: transparent;
1102 text-indent: -9999px;
1103 border-top: 2px solid #bfbfbf;
1104 border-left: 2px solid #bfbfbf;
1105 transition: all 250ms ease-in-out;
1106 text-decoration: none;
1107 color: transparent;
1108 right: 15px;
1109 top: 50%;
1110 transform: rotate(225deg) translate(80%, 20%);
1111 }
1112
1113 .ep-nft-single-item-wraper .ep-toggle:checked+.ep-title:after {
1114 display: none;
1115 }
1116
1117 .ep-nft-single-item-wraper.ep_nft_content_wrap.ep_nft__wrapper.nft_items .ep_nft_item .ep_nft_button span.ep-nft-rank {
1118 pointer-events: none;
1119 }
1120
1121 .ep-nft-single-item-wraper.ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-nft-single-item-wraper.ep-grid .ep_nft_content {
1122 margin-bottom: 20px;
1123 }
1124
1125 .elementor-widget-embedpres_elementor .ep-nft-gallery-wrapper .ep-loadmore-wrapper button, .embedpress-gutenberg-wrapper .ep-nft-gallery-wrapper .ep-loadmore-wrapper button {
1126 display: none;
1127 }
1128
1129 @media screen and (max-width: 1024px) {
1130
1131 .ep-nft-single-item-wraper.ep_nft_content_wrap.ep_nft__wrapper, .ep-nft-single-item-wraper.ep_nft_content_wrap.ep_nft_list {
1132 grid-template-columns: repeat(1, 1fr) !important;
1133 }
1134
1135 }
1136
1137 @media screen and (max-width: 991px) {
1138
1139 .ep-nft-single-item-wraper.ep_nft_content_wrap.ep_nft__wrapper, .ep-nft-single-item-wraper.ep_nft_content_wrap.ep_nft_list {
1140 grid-template-columns: repeat(1, 1fr) !important;
1141 }
1142
1143 .ep-nft-single-item-wraper.ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-list .ep_nft_item {
1144 align-items: unset;
1145 flex-direction: column;
1146 }
1147
1148 .ep-nft-single-item-wraper.ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-list .ep_nft_item .ep_nft_thumbnail {
1149 width: 100%;
1150 }
1151
1152 .ep-nft-single-item-wraper.ep_nft_content_wrap.ep_nft__wrapper.nft_items.ep-list .ep_nft_item .ep_nft_content {
1153 width: 100%;
1154 }
1155 }
1156
1157 @media screen and (max-width: 537px) {
1158 .ep-nft-single-item-wraper sub.ep-usd-price {
1159 margin-bottom: 15px;
1160 display: block;
1161 }
1162
1163 .ose-google-drive iframe {
1164 height: 250px !important;
1165
1166 }
1167
1168 .ose-nrk-radio iframe {
1169 height: 400px !important;
1170 }
1171
1172 }
1173
1174 .emebedpress-unit-percent iframe {
1175 width: 100% !important;
1176 }
1177
1178
1179 /* Locked content form */
1180
1181 .password-form-container {
1182 width: 350px;
1183 text-align: center;
1184 padding: 30px;
1185 border-radius: 10px;
1186 box-shadow: 0px 0px 10px #f4eded;
1187 background-color: #f9f9ff;
1188 max-width: 100%;
1189 margin: auto;
1190 }
1191
1192 .password-form-container h2 {
1193 font-size: 22px;
1194 margin-bottom: 15px;
1195 font-family: system-ui;
1196 }
1197
1198 .password-form-container p {
1199 font-size: 12px;
1200 font-family: sans-serif;
1201 line-height: 1.4em;
1202 margin-bottom: 15px;
1203 }
1204
1205 form.password-form {
1206 margin-bottom: 2px;
1207 }
1208
1209 .password-form-container input[type="password"] {
1210 padding: 10px;
1211 border-radius: 5px;
1212 width: 100%;
1213 margin-bottom: 12px;
1214 font-size: 20px;
1215 color: #6354a5;
1216 outline: none;
1217 border: 1px solid #ddd;
1218 outline: 0;
1219 padding-left: 50px;
1220 font-family: sans-serif;
1221 height: 42px;
1222 }
1223
1224 .password-form-container input[type="password"]::placeholder {
1225 color: #e0d1d1;
1226 font-size: 14px;
1227 }
1228
1229 .password-field {
1230 position: relative;
1231 }
1232
1233 .password-field span {
1234 position: absolute;
1235 top: 0px;
1236 left: 0px;
1237 display: flex;
1238 align-items: center;
1239 justify-content: center;
1240 height: 42px;
1241 width: 40px;
1242 background: #DED7FC;
1243 border-radius: 4px;
1244 }
1245
1246 .password-field svg {
1247 width: 22px;
1248 }
1249
1250 .password-form-container input[type="submit"] {
1251 padding: 12px 20px;
1252 background-color: #6354a5;
1253 color: #fff;
1254 border: none;
1255 border-radius: 5px;
1256 font-size: 14px;
1257 cursor: pointer;
1258 font-family: sans-serif;
1259 transition: background-color 0.3s ease, box-shadow 0.3s ease;
1260 font-weight: initial;
1261 white-space: normal;
1262 word-break: break-all;
1263 min-height: 42px;
1264 }
1265
1266 .password-form-container button:hover {
1267 background-color: #0062cc;
1268 box-shadow: 0px 0px 10px #007bff;
1269 }
1270
1271 .password-form-container .error-message {
1272 color: #ff0000;
1273 margin-top: 20px;
1274 font-size: 12px;
1275 line-height: 1.4em;
1276 }
1277
1278 .password-form-container .error-message.hidden {
1279 display: none;
1280 }
1281
1282 p.need-access-message {
1283 margin-bottom: 2px;
1284 margin-top: 13px;
1285 }
1286
1287 .wp-block-embed__wrapper {
1288 display: inline-block;
1289 width: 100%;
1290 max-width: 100% !important;
1291 }
1292
1293 .wp-block-embed__wrapper.position-right-wraper, .wp-block-embed__wrapper.position-right-wraper {
1294 max-width: calc(100% - 40px) !important;
1295 }
1296
1297 .ep-elementor-content {
1298 position: relative;
1299 display: inline-block;
1300 max-width: 100%;
1301 }
1302
1303 .ep-elementor-content.source-opensea {
1304 display: block;
1305 }
1306
1307 /* social share css */
1308 .wp-block-embedpress-embedpress>div, .ep-gutenberg-content {
1309 position: relative;
1310 clear: both;
1311 }
1312
1313 .gutenberg-pdf-wraper {
1314 position: relative;
1315 width: 100%;
1316 }
1317
1318 .wp-block-embedpress-embedpress-pdf.aligncenter .main-content-wraper {
1319 justify-content: center;
1320 }
1321
1322 .wp-block-embedpress-embedpress-pdf.alignleft .main-content-wraper {
1323 justify-content: left;
1324 }
1325
1326 .wp-block-embedpress-embedpress-pdf.alignright .main-content-wraper {
1327 justify-content: right;
1328 }
1329
1330 .presentationModeEnabledIosDevice {
1331 position: fixed;
1332 left: 0;
1333 top: 0;
1334 border: 0;
1335 height: 100% !important;
1336 width: 100% !important;
1337 z-index: 999999;
1338 min-width: 100% !important;
1339 min-height: 100% !important;
1340 }
1341
1342 .ep-embed-content-wraper {
1343 width: 100%;
1344 }
1345
1346 .embedpress-gutenberg-wrapper.popup_button, .embedpress-elements-wrapper.popup_button {
1347 display: none !important;
1348 }
1349
1350 .elementor-element-edit-mode .embedpress-elements-wrapper.popup_button {
1351 display: block !important;
1352 }
1353
1354 .ep-content-share-enabled .ep-embed-content-wraper {
1355 display: flex !important;
1356 }
1357
1358 .ep-content-share-enabled .ep-embed-content-wraper.hidden {
1359 display: none !important;
1360 }
1361
1362 .ep-share-position-right .ep-embed-content-wraper {
1363 flex-direction: row;
1364 }
1365
1366 .ep-content-share-enabled .ep-embed-content-wraper>div:first-child {
1367 width: 100%;
1368 }
1369
1370 .ep-share-position-left .ep-embed-content-wraper {
1371 flex-direction: row-reverse;
1372 }
1373
1374 .ep-share-position-bottom .ep-embed-content-wraper {
1375 flex-direction: column;
1376 }
1377
1378 .ep-share-position-top .ep-embed-content-wraper {
1379 flex-direction: column-reverse;
1380 }
1381
1382 .ep-fixed-width .gutenberg-pdf-wraper {
1383 display: inline-block;
1384 }
1385
1386 .ep-percentage-width .embedpress-inner-iframe {
1387 width: 100%;
1388 }
1389
1390 /* social share css */
1391
1392 .ep-social-share {
1393 display: flex;
1394 align-items: center;
1395 }
1396
1397 .ep-social-share.share-position-right {
1398 right: -40px;
1399 top: 0;
1400 flex-direction: column;
1401 }
1402
1403 .ep-social-share.share-position-left {
1404 left: 0px;
1405 top: 0;
1406 flex-direction: column;
1407 }
1408
1409 .ep-social-share.share-position-bottom, .ep-social-share.share-position-top {
1410 justify-content: center;
1411 }
1412
1413 .embedpress-gutenberg-wrapper .ep-social-share.share-position-left, .ep-elementor-content .ep-social-share.share-position-left {
1414 left: -40px;
1415 }
1416
1417 .ep-social-icon {
1418 display: flex;
1419 justify-content: center;
1420 align-items: center;
1421 width: 40px;
1422 height: 40px;
1423 margin: 0;
1424 color: #fff;
1425 text-decoration: none;
1426 font-size: 20px;
1427 }
1428
1429 .ep-social-icon:hover {
1430 opacity: 0.8;
1431 }
1432
1433 .ep-social-share svg {
1434 width: 20px;
1435 height: auto;
1436 }
1437
1438 a.ep-social-icon.pinterest svg {
1439 height: 25px;
1440 }
1441
1442 .ep-social-share .facebook {
1443 background-color: #3b5998;
1444 }
1445
1446 .ep-social-share .facebook svg {
1447 width: 40px;
1448 }
1449
1450 .ep-social-share .twitter {
1451 background-color: #000000;
1452 }
1453
1454 a.ep-social-icon.twitter:focus-visible {
1455 box-shadow: none;
1456 border: none;
1457 outline: none;
1458 }
1459
1460 .ep-social-share .pinterest {
1461 background-color: #bd081c;
1462 }
1463
1464 .ep-social-share .linkedin {
1465 background-color: #0077b5;
1466 }
1467
1468 .ep-social-share .instagram {
1469 background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af, #515bd4);
1470 }
1471
1472 .ep-social-share .reddit {
1473 background-color: #ff4500;
1474 }
1475
1476 .ep-social-icon i {
1477 margin-right: 0;
1478 }
1479
1480 .ep-content-locked .watermark {
1481 display: none !important;
1482 }
1483
1484 .ep-content-protection-enabled .watermark {
1485 display: none !important;
1486 }
1487
1488 .embedpress-pro-control.not-active {
1489 pointer-events: none;
1490 }
1491
1492 .pro__alert__wrap .pro__alert__card h2 {
1493 font-size: 22px;
1494 font-weight: 600;
1495 color: #131f4d;
1496 margin-bottom: 8px;
1497 }
1498
1499 .pro__alert__wrap .pro__alert__card p {
1500 font-size: 14px;
1501 font-weight: 400;
1502 color: #7c8db5;
1503 margin-top: 0;
1504 margin-bottom: 20px;
1505 }
1506
1507 .pro__alert__wrap .pro__alert__card p a {
1508 text-decoration: underline;
1509 font-weight: 700;
1510 color: #131f4d;
1511 }
1512
1513 .pro__alert__icon {
1514 width: 72px;
1515 height: 72px;
1516 border-radius: 50%;
1517 background: #f0edf9;
1518 display: flex;
1519 align-items: center;
1520 justify-content: center;
1521 margin-bottom: 16px;
1522 }
1523
1524 .pro__alert__btn {
1525 display: inline-block;
1526 background: #5b4e96;
1527 color: #fff !important;
1528 padding: 12px 32px;
1529 border-radius: 6px;
1530 font-size: 14px;
1531 font-weight: 600;
1532 text-decoration: none !important;
1533 transition: background 0.2s;
1534 }
1535
1536 .pro__alert__btn:hover {
1537 background: #4a3f7e;
1538 color: #fff !important;
1539 }
1540
1541 .pro__alert__close {
1542 background: none !important;
1543 border: none !important;
1544 color: #7c8db5 !important;
1545 font-size: 13px;
1546 cursor: pointer;
1547 margin-top: 12px;
1548 text-decoration: none !important;
1549 padding: 5px 10px !important;
1550 }
1551
1552 .pro__alert__close:hover {
1553 color: #131f4d !important;
1554 }
1555
1556 .emebedpress-unit-percent, .ep-elementor-content.ep-percentage-width {
1557 width: 100%;
1558 }
1559
1560 /* Documents viewer style */
1561 [data-theme-mode='dark'] {
1562 --viewer-primary-color: #343434;
1563 --viewer-icons-hover-bgcolor: #453838;
1564
1565 }
1566
1567 [data-theme-mode='light'] {
1568 --viewer-primary-color: #f2f2f6;
1569 --viewer-icons-color: #343434;
1570 --viewer-icons-hover-bgcolor: #e5e1e9;
1571 }
1572
1573 @media (prefers-color-scheme: dark) {
1574 :root {
1575 --viewer-primary-color: #343434;
1576 --viewer-icons-color: #f2f2f6;
1577 --viewer-icons-hover-bgcolor: #453838;
1578
1579 }
1580 }
1581
1582 @media (prefers-color-scheme: light) {
1583 :root {
1584 --viewer-primary-color: #f2f2f6;
1585 --viewer-icons-color: #343434;
1586 --viewer-icons-hover-bgcolor: #e5e1e9;
1587
1588 }
1589 }
1590
1591 .ep-file-download-option-masked::after, .ep-external-doc-icons {
1592 background: var(--viewer-primary-color);
1593 }
1594
1595 .ep-external-doc-icons svg path {
1596 fill: var(--viewer-icons-color);
1597 }
1598
1599 .ep-doc-draw-icon svg path {
1600 fill: var(--viewer-primary-color);
1601 stroke: var(--viewer-icons-color);
1602 }
1603
1604 .ep-external-doc-icons svg:hover svg path {
1605 fill: var(--viewer-icons-color);
1606 stroke: var(--viewer-icons-color);
1607 }
1608
1609 .ep-external-doc-icons svg:hover {
1610 background-color: var(--viewer-icons-hover-bgcolor);
1611 }
1612
1613 .ep-file-download-option-masked {
1614 position: relative;
1615 }
1616
1617 .ep-file-download-option-masked {
1618 position: relative;
1619 width: 100%;
1620 height: 100%;
1621 overflow: hidden;
1622 }
1623
1624 .ep-file-download-option-masked .overlay {
1625 position: absolute;
1626 top: 0;
1627 left: 50%;
1628 transform: translateX(-50%);
1629 width: calc(100% - 15px);
1630 height: calc(100% - 45px);
1631 background-color: rgb(66 23 23 / 0%);
1632 pointer-events: unset;
1633 z-index: 1;
1634 user-select: none;
1635 max-width: 800px;
1636 margin: 0 auto;
1637 }
1638
1639
1640 .ep-file-download-option-masked.ep-file-xls .overlay {
1641 height: calc(100% - 78px);
1642 }
1643
1644 .ep-file-download-option-masked iframe {
1645 width: 100%;
1646 height: 100%;
1647 pointer-events: auto;
1648 }
1649
1650 .wp-block-embedpress-document.embedpress-document-embed iframe {
1651 border: none !important;
1652 box-shadow: none !important;
1653 }
1654
1655 .ep-file-download-option-masked.enabled-text-copy {
1656 pointer-events: all;
1657 }
1658
1659 .embed-download-disabled {
1660 width: 200px;
1661 height: 22px;
1662 background: #444444;
1663 position: absolute;
1664 right: 2px;
1665 bottom: 8px;
1666 opacity: 0;
1667 pointer-events: none;
1668 }
1669
1670 .cui-toolbar-button-right {
1671 display: none !important;
1672 }
1673
1674 .ndfHFb-c4YZDc-Wrql6b {
1675 display: none;
1676 }
1677
1678 .ep-external-doc-icons {
1679 position: absolute;
1680 display: flex;
1681 flex-direction: revert;
1682 background: var(--viewer-primary-color);
1683 border-radius: 6px;
1684 z-index: 2;
1685 bottom: -18px;
1686 left: 50%;
1687 transform: translate(-50%, -50%);
1688 padding: 0 10px;
1689 }
1690
1691 .ep-external-doc-icons svg {
1692 width: 22px;
1693 height: 22px;
1694 cursor: pointer;
1695 transition: 0.3s;
1696 padding: 5px;
1697 border-radius: 4px;
1698 }
1699
1700 .block-editor-block-list__block .ep-gutenberg-file-doc .ep-external-doc-icons svg {
1701 width: 22px;
1702 height: 22px;
1703 }
1704
1705 .block-editor-block-list__block .ep-gutenberg-file-doc .ep-doc-download-icon svg, .block-editor-block-list__block .ep-gutenberg-file-doc .ep-doc-fullscreen-icon svg {
1706 width: 20px !important;
1707 }
1708
1709 .ep-doc-minimize-icon svg, .ep-doc-fullscreen-icon svg {
1710 padding: 6px;
1711 }
1712
1713 .ep-external-doc-icons svg:hover {
1714 border-radius: 4px;
1715 }
1716
1717 .ep-doc-draw-icon.active svg {
1718 background: var(--viewer-icons-hover-bgcolor);
1719 }
1720
1721 .ep-doc-download-icon, .ep-doc-print-icon, .ep-doc-fullscreen-icon, .ep-doc-popup-icon, .ep-doc-draw-icon, .ep-doc-minimize-icon {
1722 display: flex;
1723 align-items: center;
1724 justify-content: center;
1725 width: 32px;
1726 height: 32px;
1727 /* background: var(--viewer-primary-color); */
1728 }
1729
1730 .ep-file-download-option-masked.fullscreen-enabled iframe,
1731 .elementor .elementor-element.elementor-element .embedpress-document-embed .fullscreen-enabled iframe, .embedpress-document-embed .fullscreen-enabled iframe {
1732 width: 100% !important;
1733 height: 100% !important;
1734 }
1735
1736 .ep-file-download-option-masked.fullscreen-enabled {
1737 overflow: visible;
1738 }
1739
1740 .ep-file-download-option-masked.fullscreen-enabled .embed-download-disabled {
1741 display: none;
1742 }
1743
1744 .ep-file-download-option-masked.fullscreen-enabled::after {
1745 display: block;
1746 }
1747
1748 .embedpress-document-embed {
1749 position: relative;
1750 /* The inline style sets a FIXED height equal to the embed (e.g. 400px),
1751 but the iframe carries its own height too — so the badge + "Powered By"
1752 line rendered inside this wrapper spilled BELOW the fixed box and
1753 overlapped the next block. The viewer keeps its height via the iframe;
1754 the wrapper grows to contain its trailing content. (fbs-82395) */
1755 height: auto !important;
1756 }
1757
1758 .position-right-wraper .main-content-wraper, .position-left-wraper .main-content-wraper {
1759 display: flex;
1760 }
1761
1762 .position-left-wraper .main-content-wraper {
1763 display: flex;
1764 flex-direction: row-reverse;
1765 }
1766
1767 .position-top-wraper .main-content-wraper {
1768 display: flex;
1769 flex-direction: column-reverse;
1770 justify-content: center;
1771 }
1772
1773 .position-bottom-wraper .main-content-wraper {
1774 justify-content: center;
1775
1776 }
1777
1778 /* .embedpress-document-embed .ep-social-share {
1779 position: absolute;
1780 }
1781
1782 .embedpress-document-embed .ep-social-share.share-position-top {
1783 position: static;
1784 } */
1785
1786
1787
1788 .ep-file-download-option-masked.ep-file-link.fullscreen-enabled iframe {
1789 margin-left: 22%;
1790 }
1791
1792 .ep-file-download-option-masked::after {
1793 position: absolute;
1794 width: 100%;
1795 height: 30px;
1796 background: var(--viewer-primary-color);
1797 z-index: 1;
1798 bottom: 0;
1799 content: '';
1800 left: 0;
1801 pointer-events: none;
1802 }
1803
1804 .ep-file-download-option-masked.ep-file-docx::after {
1805 bottom: 0;
1806 }
1807
1808 .ep-file-download-option-masked.ep-file-docx.ep-powered-by-enabled::after {
1809 bottom: 0px;
1810 background: white;
1811 height: 22px;
1812 }
1813
1814 .ep-file-download-option-masked.ep-file-docx.ep-powered-by-enabled.fullscreen-enabled::after {
1815 bottom: 0;
1816 }
1817
1818
1819 canvas.ep-doc-canvas {
1820 position: absolute;
1821 z-index: 1;
1822 left: 0;
1823 bottom: 0;
1824 right: 0;
1825 top: 0;
1826 clear: both;
1827 margin: auto;
1828 display: none;
1829 }
1830
1831 /* .ep-file-download-option-masked::after, .ep-file-download-option-masked iframe {
1832 pointer-events: none;
1833 user-select: none;
1834 opacity: 0;
1835 } */
1836
1837 /* custom player css */
1838 :root {
1839 /* --plyr-color-main: #3700ff85; */
1840 --plyr-control-icon-size: 15px;
1841 --plyr-range-track-height: 3px;
1842 --plyr-range-thumb-height: 10px;
1843
1844 }
1845
1846 .plyr--audio .plyr--full-ui input[type=range] {
1847 color: red !important;
1848 }
1849
1850 .ep-embed-content-wraper input[type=range]::-webkit-slider-runnable-track {
1851 box-shadow: none;
1852 }
1853
1854 .ep-embed-content-wraper input[type=range]::-moz-range-track {
1855 box-shadow: none;
1856 }
1857
1858 a.plyr__controls__item.plyr__control {
1859 border-radius: inherit;
1860 color: inherit !important;
1861 }
1862
1863 .plyr-initialized button:focus {
1864 background-color: var(--plyr-color-main);
1865 }
1866
1867 .custom-player-preset-1 .plyr__controls {
1868 background: var(--plyr-color-main) !important;
1869 padding: 0 !important;
1870 }
1871
1872 .custom-player-preset-1 button.plyr__control {
1873 border-radius: 0;
1874 }
1875
1876 .custom-player-preset-1 a.plyr__controls__item.plyr__control {
1877 border-radius: inherit;
1878 }
1879
1880 .custom-player-preset-1 button.plyr__control.plyr__control--overlaid[data-plyr="play"], .custom-player-preset-2 button.plyr__control.plyr__control--overlaid[data-plyr="play"] {
1881 width: 100px !important;
1882 text-align: center;
1883 display: flex;
1884 align-items: center !important;
1885 justify-content: center;
1886 height: 60px;
1887 }
1888
1889 .custom-player-preset-1 button.plyr__control.plyr__control--overlaid[data-plyr="play"] svg, .custom-player-preset-2 button.plyr__control.plyr__control--overlaid[data-plyr="play"] svg {
1890 width: 22px;
1891 height: 22px;
1892 }
1893
1894 .custom-player-preset-1 .plyr__control:focus {
1895 border: none;
1896 }
1897
1898 .custom-player-preset-2 a.plyr__controls__item.plyr__control, .custom-player-preset-2 button.plyr__control.plyr__control--overlaid[data-plyr="play"], .preset-default a.plyr__controls__item.plyr__control {
1899 border-radius: 4px;
1900 }
1901
1902 .plyr--audio .plyr__control:focus-visible, .plyr--audio .plyr__control:hover, .plyr--audio .plyr__control[aria-expanded=true] {
1903 color: var(--plyr-audio-control-color-hover, #fff) !important;
1904 }
1905
1906 .custom-player-preset-3 .plyr__controls, .custom-player-preset-4 .plyr__controls {
1907 background: var(--plyr-color-main) !important;
1908 padding: 0 !important;
1909 }
1910
1911
1912 .custom-player-preset-4 button.plyr__control.plyr__control--overlaid {
1913 display: none !important;
1914 }
1915
1916 /* Progress bar visibility — Plyr's default `--plyr-range-fill-background`
1917 resolves to `--plyr-color-main`, which we also paint as the controls-bar
1918 background on most presets. That makes the played-fill invisible against
1919 the bar (same color on same color). Force the played-fill to white and
1920 bump the buffered-track contrast so the progress bar stays readable on
1921 every preset/color combo. Site owners can override via the same CSS vars. */
1922 .ep-embed-content-wraper[data-playerid] {
1923 --plyr-range-fill-background: #ffffff;
1924 --plyr-video-progress-buffered-background: rgba(255, 255, 255, 0.35);
1925 }
1926
1927 /* Overite plyr css */
1928 figure .plyr--full-ui .plyr__video-embed>.plyr__video-embed__container {
1929 padding-bottom: inherit !important;
1930 }
1931
1932 .plyr {
1933 background-color: black;
1934 }
1935
1936 .plyr--fullscreen-fallback {
1937 width: 100% !important;
1938 max-height: 100vh !important;
1939 height: 100% !important;
1940 }
1941
1942 .pip-mode {
1943 position: fixed !important;
1944 width: 320px !important;
1945 height: 180px !important;
1946 top: calc(100% - 200px) !important;
1947 left: calc(100% - 340px) !important;
1948 z-index: 9999;
1949 border-radius: 15px !important;
1950
1951 }
1952
1953 .plyr [data-plyr="pip"] {
1954 display: block !important;
1955 }
1956
1957 .pip-mode .plyr__video-wrapper {
1958 pointer-events: none;
1959
1960 }
1961
1962 .pip-mode .pip-play {
1963 display: none;
1964 }
1965
1966 .pip-mode .pip-play, .pip-mode .pip-pause {
1967 opacity: 0 !important;
1968 position: absolute;
1969 top: 50%;
1970 left: 50%;
1971 transform: translate(-50%, -50%);
1972 background: #0000004a;
1973 z-index: 1;
1974 display: flex;
1975 align-items: center;
1976 justify-content: center;
1977 width: 30px;
1978 height: 30px;
1979 border-radius: 50px;
1980 cursor: pointer;
1981 }
1982
1983 .pip-mode .pip-close {
1984 opacity: 0;
1985 position: absolute;
1986 right: 10px;
1987 top: 10px;
1988 background: #0000004a;
1989 z-index: 1;
1990 display: flex;
1991 align-items: center;
1992 justify-content: center;
1993 width: 30px;
1994 height: 30px;
1995 border-radius: 50px;
1996 cursor: pointer;
1997 }
1998
1999 .pip-mode:hover .pip-play, .pip-mode:hover .pip-close, .pip-mode:hover .pip-pause {
2000 opacity: 1 !important;
2001 }
2002
2003 .pip-mode .overlay-mask {
2004 position: absolute;
2005 top: 0;
2006 left: 0;
2007 right: 0;
2008 bottom: 0;
2009 }
2010
2011 .pip-mode iframe {
2012 pointer-events: none !important;
2013 }
2014
2015 /* Frontend-only fade-in: opacity:0 is set inline by save.js so the
2016 Gutenberg editor (which renders via edit.js without the inline style)
2017 stays visible while toggling Custom Player on/off. initplyr.js sets
2018 opacity:1 once Plyr finishes initialising; the helper.js editor path
2019 also adds .plyr-initialized as a CSS-driven safety net. */
2020 [data-playerid].plyr-initialized,
2021 [data-playerid].audio.plyr-initialized {
2022 opacity: 1;
2023 }
2024
2025 .plyr--paused.plyr__poster-enabled .plyr__poster {
2026 display: block !important;
2027 opacity: 1;
2028 background-size: cover;
2029 }
2030
2031 @media only screen and (max-width: 767px) {
2032 .plyr__controls [data-plyr="restart"], .plyr__controls [data-plyr="rewind"], .plyr__controls [data-plyr="fast-forward"], .plyr__controls [data-plyr="pip"] {
2033 display: none !important;
2034 }
2035
2036 .plyr__video-wrapper iframe {
2037 max-height: 100% !important;
2038 }
2039
2040 .plyr__controls .plyr__volume input[type=range] {
2041 max-width: 40px;
2042 min-width: 40px;
2043 }
2044 }
2045
2046 /* Instagram profile info design */
2047 /* Base styles for the profile header */
2048 .profile-header {
2049 display: flex;
2050 align-items: center;
2051 padding: 16px;
2052 border-bottom: 1px solid #ddd;
2053 justify-content: center;
2054 gap: 30px;
2055 padding-bottom: 30px;
2056 }
2057
2058 /* Styling for the container holding the tabs */
2059 .posts-tab-options {
2060 text-align: center;
2061 margin: 0;
2062 }
2063
2064 /* Styling for the tabs */
2065 .posts-tab-options .tabs {
2066 list-style: none;
2067 padding: 0;
2068 margin: 0;
2069 display: inline-flex;
2070 border-radius: 5px;
2071 gap: 25px;
2072 padding: 0;
2073 }
2074
2075 .posts-tab-options .tabs svg {
2076 width: 15px;
2077 height: 15px;
2078 }
2079
2080 li[data-media-type="ALL"] svg {
2081 width: 12px;
2082 height: 12px;
2083 }
2084
2085 .posts-tab-options .tabs li {
2086 margin-right: 15px;
2087 cursor: pointer;
2088 padding: 10px 0;
2089 text-transform: uppercase;
2090 font-size: 12px;
2091 font-weight: 500;
2092 display: flex;
2093 align-items: center;
2094 justify-content: center;
2095 gap: 6px;
2096 }
2097
2098 .posts-tab-options .tabs li:last-child {
2099 margin-right: 0;
2100 }
2101
2102 /* Styling for the active tab */
2103 .posts-tab-options .tabs li.active {
2104 /* border-top: 1px solid rgb(115,115,115); */
2105 position: relative;
2106 color: rgb(115, 115, 115);
2107
2108 }
2109
2110 .posts-tab-options .tabs li svg {
2111 border-radius: 2px;
2112 }
2113
2114 .posts-tab-options .tabs li.active svg {
2115 color: rgb(115, 115, 115);
2116 }
2117
2118 .posts-tab-options .tabs li:hover, .posts-tab-options .tabs li:hover svg, .posts-tab-options .tabs li:hover .fill-color {
2119 color: rgb(115, 115, 115);
2120 }
2121
2122 .posts-tab-options .tabs li:hover .fill-color, .posts-tab-options .tabs li.active .fill-color {
2123 fill: rgb(115, 115, 115) !important;
2124 }
2125
2126 .posts-tab-options .tabs li.active::after {
2127 content: '';
2128 position: absolute;
2129 top: -1px;
2130 height: 1px;
2131 width: 100%;
2132 background-color: rgb(115, 115, 115);
2133 left: 0;
2134 right: 0;
2135 }
2136
2137 /* Styles for the profile image and change photo button */
2138 .profile-image {
2139 margin-right: 16px;
2140 }
2141
2142 .posts-count {
2143 margin-right: 15px;
2144 }
2145
2146 .profile-image img {
2147 width: 120px;
2148 height: 120px !important;
2149 object-fit: cover;
2150 border-radius: 50% !important;
2151 border: 3px solid #037bff;
2152 }
2153
2154 .change-photo-button {
2155 background-color: transparent;
2156 border: none;
2157 cursor: pointer;
2158 }
2159
2160 .change-photo-image {
2161 width: 100px;
2162 height: 100px;
2163 border-radius: 50%;
2164 object-fit: cover;
2165 }
2166
2167 /* Styles for the profile username and edit profile button */
2168 .username-section {
2169 display: flex;
2170 align-items: center;
2171 margin-bottom: 8px;
2172 }
2173
2174 .profile-link {
2175 text-decoration: none;
2176 }
2177
2178 .username {
2179 font-size: 18px;
2180 font-weight: bold;
2181 margin-right: 12px;
2182 }
2183
2184 .edit-profile-link {
2185 text-decoration: none;
2186 color: #3897f0;
2187 font-weight: bold;
2188 }
2189
2190 /* Styles for the profile stats */
2191 .profile-stats {
2192 display: flex;
2193 margin-bottom: 8px;
2194 }
2195
2196 .stats-list {
2197 list-style: none;
2198 margin: 0;
2199 padding: 0;
2200 display: flex;
2201 }
2202
2203 .stats-list li {
2204 margin-right: 24px;
2205 font-size: 14px;
2206 }
2207
2208 /* Styles for the profile bio */
2209 .bio-section {
2210 margin-bottom: 12px;
2211 text-align: left;
2212 }
2213
2214 section.profile-details div:last-child {
2215 margin: 0;
2216 }
2217
2218
2219 .bio {
2220 font-size: 14px;
2221 }
2222
2223 a.edit-profile-link {
2224 padding: 8px 15px;
2225 background: #efefef;
2226 text-decoration: none !important;
2227 border-radius: 7px;
2228 color: #222;
2229 font-size: 12px;
2230 font-weight: 500;
2231 }
2232
2233 span.count {
2234 font-weight: 600;
2235 }
2236
2237 a.followers-link {
2238 text-decoration: none !important;
2239 }
2240
2241
2242 /* Hover effect for the edit profile button */
2243
2244 a.profile-link, a.profile-link h2 {
2245 font-size: 20px;
2246 text-decoration: none !important;
2247 margin: 0;
2248 margin-right: 15px;
2249 }
2250
2251 /* Instagram feed layout design */
2252 .embedpress-insta-container {
2253 overflow: hidden;
2254 position: relative;
2255 }
2256
2257 .ose-instagram-feed {
2258 max-height: 100% !important;
2259 height: 100% !important;
2260 }
2261
2262
2263 .insta-grid .embedpress-insta-container .insta-gallery, .insta-justify .ose-instagram-feed .insta-gallery {
2264 display: grid;
2265 grid-template-columns: repeat(3, minmax(0, 1fr));
2266 /* Set 3 columns */
2267 gap: 15px;
2268 grid-auto-flow: row;
2269 /* Ensure items flow in rows */
2270 }
2271
2272
2273 .insta-carousel .embedpress-insta-container .insta-gallery {
2274 grid-auto-columns: calc(25% + 0px);
2275 gap: 0px;
2276 left: 0px;
2277 }
2278
2279 .insta-masonry .embedpress-insta-container .insta-gallery {
2280 column-count: 3;
2281 gap: .5em;
2282 margin: auto;
2283 width: 100%;
2284 display: inherit;
2285 }
2286
2287
2288 .insta-grid .embedpress-insta-container .insta-gallery-item {
2289 position: relative;
2290 color: #fff;
2291 cursor: pointer;
2292 height: 350px;
2293 }
2294
2295 .embedpress-insta-container .insta-gallery-item:hover {
2296 cursor: pointer;
2297 }
2298
2299 .insta-masonry .embedpress-insta-container .insta-gallery .insta-gallery-item {
2300 height: auto;
2301 margin-bottom: .5em;
2302 }
2303
2304
2305 .insta-masonry .embedpress-insta-container .insta-gallery .insta-gallery-item video.insta-gallery-image {
2306 height: 550px;
2307 margin-bottom: -13px;
2308 }
2309
2310 .embedpress-insta-container .insta-gallery-item .insta-gallery-item-info,
2311 .embedpress-insta-container .insta-gallery-item .insta-gallery-item-info {
2312 display: flex;
2313 justify-content: center;
2314 align-items: center;
2315 position: absolute;
2316 top: 0;
2317 width: 100%;
2318 height: 100%;
2319 background-color: rgba(0, 0, 0, 0.7);
2320 transition: 0.3s;
2321 opacity: 0;
2322 visibility: hidden;
2323 }
2324
2325 .insta-masonry .embedpress-insta-container .insta-gallery-item .insta-gallery-item-info {
2326 height: calc(100% + 4px);
2327 }
2328
2329
2330 .embedpress-insta-container .insta-gallery-item:hover .insta-gallery-item-info,
2331 .embedpress-insta-container .insta-gallery-item:hover .insta-gallery-item-info {
2332 opacity: 1;
2333 visibility: visible;
2334 }
2335
2336 .embedpress-insta-container .insta-gallery-item-info ul {
2337 display: flex;
2338 align-items: center;
2339 justify-content: center;
2340 padding: 0;
2341 margin: 0;
2342 height: 100%;
2343 }
2344
2345 .embedpress-insta-container .insta-gallery-item-info li {
2346 display: flex;
2347 align-items: center;
2348 font-size: 1.7rem;
2349 font-weight: 600;
2350 gap: 5px;
2351 }
2352
2353 .embedpress-insta-container .insta-gallery-item-likes {
2354 margin-right: 2.2rem;
2355 }
2356
2357 .embedpress-insta-container .insta-gallery-item-type {
2358 position: absolute;
2359 right: 1rem;
2360 top: 1rem;
2361 text-shadow: 0.2rem 0.2rem 0.2rem rgba(0, 0, 0, .1);
2362 }
2363
2364 .embedpress-insta-container .insta-gallery-image {
2365 width: 100%;
2366 height: 100%;
2367 object-fit: cover;
2368 min-height: 320px;
2369 }
2370
2371 .insta-masonry .embedpress-insta-container .insta-gallery-image {
2372 margin-bottom: -13px;
2373 }
2374
2375 .insta-gallery-item-info svg {
2376 width: 40px;
2377 height: 40px;
2378 }
2379
2380 .insta-item-reaction-count {
2381 display: flex;
2382 }
2383
2384 .insta-item-reaction-count .insta-gallery-item-likes, .insta-item-reaction-count .insta-gallery-item-comments {
2385 display: flex;
2386 align-items: center;
2387 justify-content: center;
2388 gap: 6px;
2389 font-size: 20px;
2390 font-weight: bold;
2391 color: #fff;
2392 }
2393
2394 .insta-gallery-item-info .insta-item-reaction-count svg {
2395 width: 25px;
2396 height: 25px;
2397 }
2398
2399 .insta-gallery-item-type svg {
2400 width: 25px;
2401 height: 25px;
2402 }
2403
2404 .insta-gallery-item-type svg.insta-video-icon {
2405 width: 22px;
2406 height: 22px;
2407 }
2408
2409 .cg-carousel__btns.hidden {
2410 display: none;
2411 }
2412
2413 .cg-carousel__btns {
2414 top: 50%;
2415 transform: translateY(-50%);
2416 position: absolute;
2417 width: 100%;
2418 }
2419
2420 .ep-embed-content-wraper.insta-carousel .cg-carousel__btns {
2421 top: calc(50% - 16px);
2422 }
2423
2424 .ep-embed-content-wraper.insta-carousel .insta-gallery-item-permalink {
2425 display: flex;
2426 align-content: center;
2427 }
2428
2429 .cg-carousel__btns button {
2430 background: #262323;
2431 border: 0;
2432 border-radius: 50px;
2433 width: 35px;
2434 height: 35px;
2435 display: inline-grid;
2436 align-items: center;
2437 justify-content: center;
2438 cursor: pointer;
2439 padding: 0;
2440 }
2441
2442 button#js-carousel__prev-1 {
2443 position: absolute;
2444 left: 30px;
2445 /* top: 50%;
2446 transform: translateY(-50%); */
2447 z-index: 1;
2448 padding: 8px 15px;
2449
2450 }
2451
2452 button#js-carousel__next-1 {
2453 position: absolute;
2454 right: 30px;
2455 /* top: 50%;
2456 transform: translateY(-50%); */
2457 z-index: 1;
2458 padding: 8px 15px;
2459
2460 }
2461
2462 .embedpress-popup-block.embedpress-popup-img {
2463 position: relative;
2464 height: 100%;
2465 display: flex;
2466 background: #000;
2467 }
2468
2469 .popup-carousel, .cg-carousel__track {
2470 height: 100%;
2471 }
2472
2473 .popup-container .popup-carousel .cg-carousel__track {
2474 align-items: center;
2475 background-color: #000;
2476 }
2477
2478 .popup-container .popup-carousel {
2479 background-color: #000;
2480 }
2481
2482
2483
2484 button.js-carousel__prev-1 {
2485 position: absolute;
2486 left: 30px;
2487 top: 50%;
2488 transform: translateY(-50%);
2489 z-index: 1;
2490
2491 }
2492
2493 button.js-carousel__next-1 {
2494 position: absolute;
2495 right: 30px;
2496 top: 50%;
2497 transform: translateY(-50%);
2498 z-index: 1;
2499
2500 }
2501
2502 .cg-carousel__btn svg {
2503 width: 16px;
2504 height: 16px;
2505 }
2506
2507 .load-more-button-container, .load-more-button-container button {
2508 display: flex;
2509 align-items: center;
2510 justify-content: center;
2511 gap: 5px;
2512 }
2513
2514 .load-more-button-container button {
2515 border-style: solid;
2516 border-top-width: 0;
2517 border-right-width: 0;
2518 border-left-width: 0;
2519 border-bottom-width: 0;
2520 color: #ffffff;
2521 border-color: #037bff;
2522 background-color: #037bff;
2523 padding-top: 15px;
2524 padding-right: 30px;
2525 padding-bottom: 15px;
2526 padding-left: 30px;
2527 font-family: inherit;
2528 font-weight: inherit;
2529 line-height: 1em;
2530 cursor: pointer;
2531 border-radius: 5px;
2532 margin-top: 30px;
2533 }
2534
2535
2536 /* Popup design for instafeed */
2537
2538
2539 .popup-container {
2540 display: flex;
2541 width: 100%;
2542 }
2543
2544 /* Wrapper */
2545 .popup-wrapper {
2546 position: fixed;
2547 top: 0;
2548 left: 0;
2549 width: 100%;
2550 height: 100%;
2551 background-color: rgba(0, 0, 0, 0.85);
2552 display: flex;
2553 justify-content: center;
2554 align-items: center;
2555 z-index: 99999;
2556 }
2557
2558 /* Popup Container */
2559 .popup {
2560 border-radius: 10px;
2561 overflow: hidden;
2562 position: absolute;
2563 top: 50%;
2564 left: 50%;
2565 transform: translate(-50%, -50%);
2566 display: flex;
2567 align-items: center;
2568 justify-content: center;
2569 max-height: 90vh;
2570 max-width: 90vw;
2571 width: auto;
2572 background: #fff;
2573 box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
2574 }
2575
2576 .popup .popup-container {
2577 max-height: 90vh;
2578 overflow: hidden;
2579 }
2580
2581 .popup-container .popup-md-9.white {
2582 max-height: 90vh;
2583 display: flex;
2584 align-items: center;
2585 justify-content: center;
2586 background: #000;
2587 }
2588
2589 .popup-md-3.red {
2590 max-height: 90vh;
2591 overflow-y: auto;
2592 display: flex;
2593 flex-direction: column;
2594 }
2595
2596 .embedpress-popup-img,
2597 .embedpress-popup-img img,
2598 .popup-carousel,
2599 .popup-carousel .cg-carousel__slide {
2600 max-height: 90vh;
2601 }
2602
2603 .embedpress-popup-img img,
2604 img.popup-media-image,
2605 video.popup-media-image {
2606 max-height: 90vh;
2607 width: auto;
2608 height: auto;
2609 object-fit: contain;
2610 }
2611
2612 /* .popup>div {
2613 height: calc(100% - 100px);
2614 } */
2615
2616 /* .popup-md-3.red {
2617 display: flex;
2618 align-items: center;
2619 } */
2620
2621 .popup-container .popup-md-9.white {
2622 width: 60%;
2623 overflow: hidden;
2624 }
2625
2626 .popup-md-3.red {
2627 width: 40%;
2628 }
2629
2630 /* Image Block */
2631 .embedpress-popup-img img {
2632 width: 100%;
2633 height: auto;
2634 object-fit: contain;
2635 }
2636
2637 video.popup-media-image {
2638 height: auto;
2639 max-width: 100%;
2640 width: 100%;
2641 max-height: 100vh;
2642 border-top-left-radius: 5px;
2643 border-bottom-left-radius: 5px;
2644 }
2645
2646 img.popup-media-image {
2647 height: auto;
2648 }
2649
2650 /* Header */
2651 .embedpress-popup-header, .embedpress-hashtag-header {
2652 display: flex;
2653 align-items: center;
2654 padding: 15px 10px;
2655 justify-content: space-between;
2656 border-bottom: 1px solid #f4e9e9;
2657 }
2658
2659 .hashtag-container {
2660 border-bottom: 1px solid #f4e9e9;
2661 }
2662
2663 .embedpress-hashtag-header {
2664 border: none;
2665 max-width: 350px;
2666 margin: auto;
2667 }
2668
2669 .embedpress-hashtag-username {
2670 font-weight: bold;
2671 }
2672
2673 .embedpress-popup-header-img img, .embedpress-hashtag-header-img img {
2674 border-radius: 50% !important;
2675 margin-right: 10px;
2676 width: 30px;
2677 height: 30px !important;
2678 object-fit: cover;
2679 border: 2px solid #037bff !important;
2680 }
2681
2682 .embedpress-popup-header-img a, .embedpress-hashtag-header-img a {
2683 display: flex;
2684 align-items: center;
2685 justify-content: center;
2686 text-decoration: none !important;
2687 }
2688
2689 .embedpress-popup-username {
2690 color: #005293;
2691 font-weight: bold;
2692 font-size: 15px;
2693 text-decoration: none !important;
2694 }
2695
2696 img.embedpress-hashtag-round {
2697 border-radius: 50px !important;
2698 }
2699
2700 .insta-followbtn a {
2701 text-decoration: none !important;
2702 padding: 6px 15px;
2703 background: #007bff;
2704 border-radius: 5px;
2705 color: #fff !important;
2706 font-size: 14px;
2707 font-weight: normal;
2708 border: 0;
2709 }
2710
2711 /* Text */
2712 .embedpress-popup-block.embedpress-popup-info {
2713 display: flex;
2714 flex-direction: column;
2715 justify-content: space-between;
2716 flex-grow: 1;
2717 height: 100%;
2718 background-color: #fff;
2719 /* max-height: calc(100% - 67px);
2720 margin-top: 33px; */
2721 }
2722
2723 .embedpress-popup-text {
2724 font-size: 14px;
2725 font-weight: normal;
2726 overflow: hidden;
2727 letter-spacing: 0.04em;
2728 line-height: 1.8rem;
2729 padding: 10px;
2730 flex: auto;
2731 border-bottom: 1px solid #f4e9e9;
2732 text-align: left;
2733 max-height: calc(100vh - 235px);
2734 overflow: auto;
2735 word-break: normal;
2736 overflow-wrap: anywhere;
2737 }
2738
2739 /* Stats */
2740 .embedpress-popup-stats {
2741 display: flex;
2742 align-items: center;
2743 justify-content: space-between;
2744 padding: 16px 10px;
2745 }
2746
2747 .embedpress-popup-stats .embedpress-inline {
2748 display: flex;
2749 align-items: center;
2750 gap: 5px;
2751 font-weight: bold;
2752 color: #000;
2753 cursor: pointer;
2754 position: relative;
2755 }
2756
2757 .embedpress-popup-stats .embedpress-inline a {
2758 display: flex;
2759 align-items: center;
2760 gap: 6px;
2761 color: #000;
2762 text-decoration: none;
2763 font-weight: 400;
2764 }
2765
2766 .embedpress-popup-stats .embedpress-inline a svg {
2767 width: 20px;
2768 height: 20px;
2769 }
2770
2771 /* Share Buttons */
2772
2773 .embedpress-popup-share-buttons {
2774 padding: 10px;
2775 background-color: #fafafa;
2776 display: flex;
2777 align-items: center;
2778 }
2779
2780 .embedpress-popup-share-buttons a {
2781 color: #007bff;
2782 }
2783
2784 .embedpress-href.embedpress-popup-share {
2785 cursor: pointer;
2786 color: #ca379d;
2787 display: flex;
2788 align-items: center;
2789 gap: 6px;
2790 }
2791
2792 .embedpress-popup-share-buttons {
2793 background: #f4f9ff;
2794 position: absolute;
2795 top: -50px;
2796 left: -55px;
2797 gap: 10px;
2798 border-radius: 5px;
2799 box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
2800 visibility: hidden;
2801 opacity: 0;
2802 margin-bottom: -10px;
2803 transition: 0.3s;
2804 }
2805
2806 .embedpress-popup-share-buttons.show {
2807 visibility: visible;
2808 opacity: 1;
2809 margin-bottom: 0;
2810 }
2811
2812 .embedpress-popup-share-buttons::before {
2813 content: "";
2814 position: absolute;
2815 bottom: -15px;
2816 left: 50%;
2817 margin-left: -8px;
2818 border-width: 8px;
2819 border-style: solid;
2820 border-color: #f4f9ff transparent transparent transparent;
2821 }
2822
2823 .embedpress-popup-share-buttons::before {
2824 content: "";
2825 position: absolute;
2826 bottom: -15px;
2827 left: 50%;
2828 margin-left: -8px;
2829 border-width: 8px;
2830 border-style: solid;
2831 border-color: #f4f9ff transparent transparent transparent;
2832 z-index: 1 !important;
2833 }
2834
2835 .embedpress-popup-share-buttons::after {
2836 content: "";
2837 position: absolute;
2838 bottom: -16.1px;
2839 left: 50%;
2840 margin-left: -8px;
2841 border-width: 8px;
2842 border-style: solid;
2843 border-color: #e7eaef transparent transparent transparent;
2844 }
2845
2846 .embedpress-popup-share-buttons span {
2847 color: #fff;
2848 font-size: 18px;
2849 display: flex;
2850 align-items: center;
2851 }
2852
2853 .embedpress-popup-share-buttons span svg {
2854 width: 16px !important;
2855 height: 16px !important;
2856 }
2857
2858 .embedpress-popup-share-buttons span.dashicons.dashicons-linkedin {
2859 color: #0077b5;
2860 }
2861
2862 .embedpress-popup-share-buttons span.dashicons.dashicons-facebook {
2863 color: #1877F2;
2864 }
2865
2866 .embedpress-popup-share-buttons span.dashicons.dashicons-pinterest {
2867 color: #E60023;
2868 }
2869
2870 span.tag-wrapper a {
2871 font-weight: bold;
2872 text-decoration: none !important;
2873 }
2874
2875 .embedpress-href.embedpress-popup-share svg {
2876 width: 20px;
2877 height: 20px;
2878 }
2879
2880 .embedpress-popup-instagram-buttons svg {
2881 width: 18px !important;
2882 height: 20px !important;
2883 }
2884
2885 .embedpress-popup-stats .embedpress-inline {
2886 transition: 0.3s;
2887 }
2888
2889 .embedpress-popup-stats .embedpress-inline:hover svg, .embedpress-popup-stats .embedpress-inline a:hover, .embedpress-popup-stats .embedpress-inline:hover, .embedpress-href:hover svg .st0 {
2890 color: rgb(115, 115, 115) !important;
2891 /* stroke: rgb(115, 115, 115); */
2892 }
2893
2894 .embedpress-inline.embedpress-popup-instagram-buttons a:hover svg path {
2895 stroke: rgb(115, 115, 115);
2896 }
2897
2898 .embedpress-inline.popup-like-button a:hover svg {
2899 color: rgb(115, 115, 115);
2900 fill: rgb(115, 115, 115);
2901 }
2902
2903 .embedpress-href.embedpress-popup-share:hover svg {
2904 fill: rgb(115, 115, 115);
2905 }
2906
2907 /* Date */
2908 .date-post {
2909 padding: 10px;
2910 font-size: 12px;
2911 color: #8e8e8e;
2912 }
2913
2914 div.popup-close {
2915 position: absolute;
2916 top: 50px;
2917 right: 50px;
2918 color: white;
2919 z-index: 15566555655;
2920 cursor: pointer;
2921 padding: 15px;
2922 background: #643535;
2923 border-radius: 50px;
2924 height: 10px;
2925 width: 10px;
2926 display: flex;
2927 align-items: center;
2928 justify-content: center;
2929 text-transform: uppercase;
2930 cursor: pointer;
2931 }
2932
2933 .load-spin {
2934 width: 100px;
2935 height: 100px;
2936 background-color: #f00;
2937 animation: spin 2s linear infinite;
2938 }
2939
2940 @keyframes spin {
2941 0% {
2942 transform: rotate(0deg);
2943 }
2944
2945 100% {
2946 transform: rotate(360deg);
2947 }
2948 }
2949
2950
2951 .loader {
2952 margin: auto;
2953 border: 5px solid #EAF0F6;
2954 border-radius: 50%;
2955 border-top: 5px solid #FF7A59;
2956 width: 30px;
2957 height: 30px;
2958 animation: spinner 4s linear infinite;
2959 }
2960
2961 .sponsored-youtube-video {
2962 height: 100%;
2963 }
2964
2965 @keyframes spinner {
2966 0% {
2967 transform: rotate(0deg);
2968 }
2969
2970 100% {
2971 transform: rotate(360deg);
2972 }
2973 }
2974
2975 @media screen and (max-width: 1200px) {
2976
2977 .popup-container .popup-md-9.white {
2978 width: 50%;
2979 }
2980
2981 .popup-container .popup-md-3 {
2982 width: 50%;
2983 }
2984
2985 }
2986
2987 @media screen and (max-width: 991px) {
2988 .popup-container {
2989 flex-direction: column;
2990 overflow-y: auto;
2991 }
2992
2993 .popup-container .popup-md-9.white {
2994 width: 100%;
2995 max-height: 55vh;
2996 }
2997
2998 .popup-container .popup-md-3 {
2999 width: 100%;
3000 max-height: none;
3001 }
3002
3003 .embedpress-popup-img img,
3004 img.popup-media-image,
3005 video.popup-media-image {
3006 max-height: 55vh;
3007 }
3008
3009 .embedpress-popup-text {
3010 max-height: 300px;
3011 }
3012
3013 }
3014
3015 @media screen and (max-width: 768px) {
3016 .insta-grid .embedpress-insta-container .insta-gallery {
3017 grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
3018 }
3019
3020 .popup {
3021 width: 94vw;
3022 max-width: 94vw;
3023 max-height: 94vh;
3024 border-radius: 14px;
3025 }
3026
3027 .popup-container {
3028 width: 100%;
3029 max-height: 94vh;
3030 }
3031
3032 .popup .popup-container {
3033 max-height: 94vh;
3034 }
3035
3036 .popup-container .popup-md-9.white {
3037 width: 100%;
3038 max-height: 55vh;
3039 background: #000;
3040 }
3041
3042 .embedpress-popup-img,
3043 .embedpress-popup-block.embedpress-popup-img {
3044 width: 100%;
3045 display: flex;
3046 align-items: center;
3047 justify-content: center;
3048 }
3049
3050 .embedpress-popup-img img,
3051 img.popup-media-image,
3052 video.popup-media-image {
3053 width: 100%;
3054 max-width: 100%;
3055 max-height: 55vh;
3056 object-fit: contain;
3057 }
3058
3059 .embedpress-popup-header,
3060 .embedpress-hashtag-header {
3061 padding: 12px 14px;
3062 }
3063
3064 .embedpress-popup-text {
3065 max-height: 220px;
3066 padding: 12px 14px;
3067 line-height: 1.55;
3068 letter-spacing: 0.01em;
3069 }
3070
3071 .embedpress-popup-stats {
3072 padding: 12px 14px;
3073 gap: 18px;
3074 }
3075
3076 .embedpress-popup-stats .embedpress-inline a svg,
3077 .embedpress-popup-instagram-buttons svg {
3078 width: 22px !important;
3079 height: 22px !important;
3080 }
3081
3082 div.popup-close {
3083 top: 12px;
3084 right: 12px;
3085 padding: 12px;
3086 background: rgba(0, 0, 0, 0.6);
3087 -webkit-backdrop-filter: blur(6px);
3088 backdrop-filter: blur(6px);
3089 }
3090 }
3091
3092 @media screen and (max-width: 420px) {
3093 .insta-grid .embedpress-insta-container .insta-gallery {
3094 grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
3095 }
3096
3097 .profile-header {
3098 flex-direction: column;
3099 }
3100
3101 .popup {
3102 max-width: 100vw;
3103 max-height: 100vh;
3104 width: 100%;
3105 height: 100%;
3106 border-radius: 0;
3107 top: 0;
3108 left: 0;
3109 transform: none;
3110 }
3111
3112 .popup-container,
3113 .popup .popup-container {
3114 max-height: 100vh;
3115 height: 100%;
3116 }
3117
3118 .popup-container .popup-md-9.white {
3119 max-height: 45vh;
3120 }
3121
3122 .embedpress-popup-img img,
3123 img.popup-media-image,
3124 video.popup-media-image {
3125 max-height: 45vh;
3126 }
3127
3128 .embedpress-popup-text {
3129 max-height: none;
3130 flex: 1 1 auto;
3131 }
3132
3133 .insta-followbtn {
3134 display: none;
3135 }
3136
3137 .embedpress-popup-share-buttons {
3138 left: auto;
3139 right: -10px;
3140 }
3141 }
3142
3143 /* youtube channel css */
3144
3145 .ep-player-wrap .hide {
3146 display: none;
3147 }
3148
3149 .ep-gdrp-content {
3150 background: #222;
3151 padding: 50px 30px;
3152 color: #fff;
3153 }
3154
3155 .ep-gdrp-content a {
3156 color: #fff;
3157 }
3158
3159 .ep-youtube__content__pagination {
3160 display: flex;
3161 justify-content: center;
3162 align-items: center;
3163 margin-top: 30px;
3164 gap: 10px;
3165 }
3166
3167 .ep-loader-wrap {
3168 margin-top: 30px;
3169 display: flex;
3170 justify-content: center;
3171 }
3172
3173 .ep-youtube__content__pagination .ep-prev,
3174 .ep-youtube__content__pagination .ep-next {
3175 cursor: pointer;
3176 border: 1px solid rgba(0, 0, 0, .1);
3177 border-radius: 30px;
3178 padding: 0 20px;
3179 height: 40px;
3180 transition: .3s;
3181 display: flex;
3182 align-items: center;
3183 }
3184
3185 .ep-youtube__content__pagination .ep-prev:hover,
3186 .ep-youtube__content__pagination .ep-next:hover {
3187 background-color: #5B4E96;
3188 color: #fff;
3189 }
3190
3191 .ep-youtube__content__pagination .ep-page-numbers {
3192 display: flex;
3193 align-items: center;
3194 gap: 10px;
3195 flex-wrap: wrap;
3196 }
3197
3198 .ep-youtube__content__pagination .ep-page-numbers>span {
3199 border: 1px solid rgba(0, 0, 0, .1);
3200 border-radius: 30px;
3201 display: inline-block;
3202 width: 45px;
3203 height: 45px;
3204 display: flex;
3205 align-items: center;
3206 justify-content: center;
3207 }
3208
3209 .active__current_page {
3210 background: #5B4E96;
3211 color: #fff;
3212 }
3213
3214 .ep-youtube__content__block .youtube__content__body .content__wrap:not(.youtube-carousel) {
3215 margin-top: 30px;
3216 display: grid;
3217 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
3218 gap: 30px;
3219 }
3220
3221
3222 [data-source-id] .layout-list .ep-youtube__content__block .youtube__content__body .content__wrap {
3223 grid-template-columns: repeat(auto-fit, minmax(calc(100% - 30px), 1fr)) !important;
3224 }
3225
3226 [data-youtube-channel-carousel].ep-youtube__content__block {
3227 position: relative
3228 }
3229
3230 .ep-youtube__content__block .item {
3231 cursor: pointer;
3232 white-space: initial;
3233 }
3234
3235 .ep-youtube__content__block .youtube-carousel .item {
3236 margin: 10px;
3237 }
3238
3239 .ep-youtube__content__block .item:hover .thumb .play-icon {
3240 opacity: 1;
3241 top: 50%;
3242 }
3243
3244 .ep-youtube__content__block .item:hover .thumb:after {
3245 opacity: .4;
3246 z-index: 0;
3247 }
3248
3249 .ep-youtube__content__block .thumb {
3250 padding-top: 56.25%;
3251 margin-bottom: 5px;
3252 position: relative;
3253 background-color: #222;
3254 background-size: contain !important;
3255 border-radius: 12px;
3256 overflow: hidden;
3257 }
3258
3259 figure .ep-youtube__content__block .thumb {
3260 background-color: #222 !important;
3261 }
3262
3263 .ep-youtube__content__block .thumb:after {
3264 position: absolute;
3265 top: 0;
3266 left: 0;
3267 height: 100%;
3268 width: 100%;
3269 content: '';
3270 background: #000;
3271 opacity: 0;
3272 transition: opacity .3s ease;
3273 }
3274
3275 .ep-youtube__content__block .thumb:before {
3276 position: absolute;
3277 top: 0;
3278 left: 0;
3279 height: 100%;
3280 width: 100%;
3281 content: '';
3282 background: #222;
3283 z-index: -1;
3284 }
3285
3286 .ep-youtube__content__block .thumb img {
3287 width: 100%;
3288 height: 100%;
3289 object-fit: cover;
3290 }
3291
3292 .ep-youtube__content__block .thumb .play-icon {
3293 width: 50px;
3294 height: auto;
3295 position: absolute;
3296 top: 40%;
3297 left: 50%;
3298 transform: translate(-50%, -50%);
3299 opacity: 0;
3300 transition: all .3s ease;
3301 z-index: 2;
3302 }
3303
3304 .ep-youtube__content__block .thumb .play-icon img {
3305 width: 100;
3306 }
3307
3308 .ep-youtube__content__block .body p {
3309 margin-bottom: 0;
3310 font-size: 15px;
3311 text-align: left;
3312 line-height: 1.5;
3313 font-weight: 400;
3314 }
3315
3316 .ep-youtube__content__block.loading .ep-youtube__content__pagination {
3317 display: none;
3318 }
3319
3320 .ep-youtube__content__block .ep-loader {
3321 display: none;
3322 }
3323
3324 .ep-youtube__content__block.loading .ep-loader {
3325 display: block;
3326 }
3327
3328 .ep-loader img {
3329 width: 20px;
3330 }
3331
3332 .is_mobile_device {
3333 display: none !important;
3334 }
3335
3336
3337 .is_mobile_devic.ep-page-numbers {
3338 gap: 5px;
3339 }
3340
3341 @media only screen and (max-width: 480px) {
3342 .is_desktop_device {
3343 display: none !important;
3344 }
3345
3346 .ep-youtube__content__pagination .ep-page-numbers>span {
3347 width: 35px;
3348 height: 35px;
3349 }
3350
3351 .ep-youtube__content__pagination .ep-prev, .ep-youtube__content__pagination .ep-next {
3352 height: 35px;
3353 }
3354
3355 .is_mobile_device {
3356 display: flex !important;
3357 ;
3358 }
3359
3360 .ep-youtube__content__pagination .ep-page-numbers {
3361 gap: 5px;
3362 }
3363 }
3364
3365 /* Youtube Advance layout style */
3366 .embedded-youtube-channel .ose-youtube {
3367 height: 100% !important;
3368 max-height: 100% !important;
3369 }
3370
3371 .ep-embed-content-wraper.embedded-youtube-channel .ose-youtube, .ep-youtube-channel .ose-youtube {
3372 height: 100% !important;
3373 max-height: 100% !important;
3374 }
3375
3376 .ose-youtube .channel-header {
3377 display: flex;
3378 align-items: center;
3379 padding: 20px;
3380 border-radius: 10px;
3381 }
3382
3383 .ose-youtube .profile-picture {
3384 width: 120px;
3385 height: 120px;
3386 border-radius: 50%;
3387 margin-right: 20px;
3388 }
3389
3390 .ose-youtube .channel-info {
3391 flex-grow: 1;
3392 text-align: left;
3393 }
3394
3395 .ose-youtube .info-description {
3396 margin-bottom: 20px;
3397 }
3398
3399
3400
3401 .ose-youtube .channel-name {
3402 font-size: 24px;
3403 margin: 0;
3404 }
3405
3406 .ose-youtube .channel-details {
3407 margin: 5px 0;
3408 }
3409
3410 .ose-youtube .more-info {
3411 text-decoration: none;
3412 }
3413
3414 .ose-youtube .subscribe-button {
3415 background-color: red;
3416 border: none;
3417 padding: 10px 20px 10px 12px;
3418 border-radius: 30px;
3419 cursor: pointer;
3420 display: inline-flex;
3421 align-items: center;
3422 /* display: inline; */
3423 text-decoration: none !important;
3424 color: white;
3425 font-weight: 600;
3426 }
3427
3428 .ose-youtube .subscribe-button svg {
3429 height: 20px;
3430 width: 20px;
3431 margin-right: 5px;
3432 }
3433
3434 .ose-youtube .subscribe-button:hover {
3435 background-color: #ff6868;
3436 }
3437
3438 #videoPopup.video-popup {
3439 display: none;
3440 position: fixed;
3441 z-index: 1000;
3442 left: 0;
3443 top: 0;
3444 width: 100%;
3445 height: 100%;
3446 background-color: rgba(0, 0, 0, 0.95);
3447 }
3448
3449 .video-popup-content {
3450 position: absolute;
3451 left: 50%;
3452 top: calc(50% + 30px);
3453 transform: translate(-50%, -50%);
3454 max-width: 90%;
3455 max-height: 90%;
3456 text-align: center;
3457 }
3458
3459 .video-popup-inner-content {
3460 width: 100%;
3461 height: 100%;
3462 max-height: 90vh;
3463 overflow: auto !important;
3464 border: 1px solid #333;
3465 border-radius: 8px;
3466 background: #000;
3467 box-sizing: border-box;
3468 padding: 20px;
3469
3470 }
3471
3472 .video-popup-content iframe {
3473 width: 700px !important;
3474 height: 420px !important;
3475 max-width: 100%;
3476 max-height: 100%;
3477 }
3478
3479 #videoPopup.video-popup .close {
3480 position: absolute;
3481 top: -25px;
3482 right: -30px;
3483 color: #fff;
3484 font-size: 35px;
3485 }
3486
3487 #videoPopup.video-popup .close:hover,
3488 #videoPopup.video-popup .close:focus {
3489 color: #999;
3490 text-decoration: none;
3491 cursor: pointer;
3492 }
3493
3494 #videoPopup.video-popup .popup-controls {
3495 position: absolute;
3496 width: 100%;
3497 height: 100%;
3498 top: 0;
3499 left: 0;
3500 display: flex;
3501 justify-content: space-between;
3502 align-items: center;
3503 pointer-events: none;
3504 /* Allow clicks to pass through to iframe */
3505 }
3506
3507 #videoPopup.video-popup .nav-icon {
3508 pointer-events: auto;
3509 /* Enable click events */
3510 color: white;
3511 font-size: 50px;
3512 cursor: pointer;
3513 user-select: none;
3514 }
3515
3516 #videoPopup.video-popup .prev-icon {
3517 position: absolute;
3518 left: -60%;
3519 top: 50%;
3520 transform: translate(0, -50%);
3521 padding: 10px;
3522 }
3523
3524 #videoPopup.video-popup .next-icon {
3525 position: absolute;
3526 right: -60%;
3527 top: 50%;
3528 transform: translate(0, -50%);
3529 padding: 10px;
3530 }
3531
3532 #videoDescription {
3533 color: #fff;
3534 font-size: 14px;
3535 }
3536
3537
3538 .youtube-video-description {
3539 font-family: Arial, sans-serif;
3540 margin: 0;
3541 padding: 0 20px;
3542 bottom: no;
3543 max-width: 700px;
3544 text-align: left;
3545 }
3546
3547 .youtube-video-header h1 {
3548 font-size: 20px;
3549 margin: 0 0 10px 0;
3550 color: #fff;
3551 }
3552
3553 .youtube-video-meta {
3554 font-size: 14px;
3555 color: #666;
3556 margin-bottom: 10px;
3557 }
3558
3559 .youtube-video-meta span {
3560 margin-right: 10px;
3561 }
3562
3563 .youtube-video-body {
3564 max-height: 200px;
3565 overflow: auto;
3566 }
3567
3568 .youtube-video-body p {
3569 font-size: 15px;
3570 margin: 0 0 20px 0;
3571 color: #ddd;
3572 }
3573
3574 .youtube-video-footer {
3575 display: flex;
3576 justify-content: space-between;
3577 align-items: center;
3578 padding-top: 5px;
3579 }
3580
3581 .youtube-video-link {
3582 font-size: 16px;
3583 color: #0073aa;
3584 text-decoration: none;
3585 }
3586
3587 .youtube-video-link:hover {
3588 text-decoration: underline;
3589 }
3590
3591 .youtube-video-stats {
3592 font-size: 14px;
3593 color: #666;
3594 display: flex;
3595 align-items: center;
3596 gap: 18px;
3597 }
3598
3599 .youtube-video-stats svg {
3600 height: 12px;
3601 width: 14px;
3602 }
3603
3604 .youtube-video-stats span {
3605 margin-right: 10px;
3606 display: flex;
3607 align-items: center;
3608 gap: 8px;
3609 color: #dad2d2;
3610 }
3611
3612 .youtube-video-stats i {
3613 margin-right: 5px;
3614 }
3615
3616 /* grid item description */
3617
3618 .youtube-body-content .description-container {
3619 display: flex;
3620 /* background-color: #ffffff; */
3621 border-radius: 4px;
3622 max-width: 600px;
3623 text-align: left;
3624 margin-top: 10px;
3625 }
3626
3627 .youtube-body-content.body {
3628 width: 100%;
3629 }
3630
3631 .youtube-body-content .thumbnail {
3632 width: 30px;
3633 height: 30px;
3634 border-radius: 4px;
3635 margin-right: 10px;
3636 }
3637
3638 .youtube-body-content .thumbnail img {
3639 border-radius: 50%;
3640 margin-right: 10px;
3641 width: 30px;
3642 height: 30px;
3643 }
3644
3645 .youtube-body-content .details {
3646 display: flex;
3647 flex-direction: column;
3648 justify-content: space-between;
3649 width: calc(100% - 30px);
3650 }
3651
3652 .youtube-body-content .title {
3653 font-size: 14px;
3654 font-weight: 500;
3655 color: #000000;
3656 margin-bottom: 4px;
3657 line-height: 1.4;
3658 }
3659
3660 .youtube-body-content .channel,
3661 .youtube-body-content .views,
3662 .youtube-body-content .time {
3663 font-size: 14px;
3664 color: #606060;
3665 }
3666
3667 .youtube-body-content .channel {
3668 margin-bottom: 4px;
3669 }
3670
3671 /* Youtube List layout design */
3672
3673 .ep-player-wrap.layout-gallery .ep-first-video iframe {
3674 border-radius: 15px;
3675 }
3676
3677 .ep-player-wrap.layout-list .ep-youtube__content__block .item {
3678 display: flex;
3679 width: 100%;
3680 gap: 20px;
3681 }
3682
3683 .ep-player-wrap.layout-list .ep-youtube__content__block .thumb {
3684 padding-top: 20.25%;
3685 min-width: 250px;
3686 max-width: 300px;
3687 }
3688
3689 /* Youtube Carousel Css */
3690 [data-youtube-channel-carousel] .youtube-carousel-container {
3691 position: relative;
3692 width: 100%;
3693 overflow: hidden;
3694 }
3695
3696 [data-youtube-channel-carousel] .youtube-carousel {
3697 display: flex;
3698 transition: transform 0.5s ease-in-out;
3699 }
3700
3701 [data-youtube-channel-carousel] .youtube-carousel .item {
3702 min-width: calc(33.3333% - 20px);
3703 /* Adjust this value to show more or fewer items */
3704 box-sizing: border-box;
3705 }
3706
3707
3708
3709 [data-youtube-channel-carousel] button {
3710 position: absolute;
3711 top: 50%;
3712 transform: translateY(-50%);
3713 color: white;
3714 border: none;
3715 cursor: pointer;
3716 padding: 10px;
3717 box-shadow: none;
3718 background-color: #000000ba;
3719 width: 40px;
3720 height: 40px;
3721 display: flex;
3722 align-items: center;
3723 border-radius: 50%;
3724 justify-content: center;
3725 }
3726
3727 [data-youtube-channel-carousel] button.preview {
3728 left: -100px;
3729
3730 }
3731
3732 .carousel-controls button.next {
3733 right: -100px;
3734 }
3735
3736
3737 /* full calender style overide */
3738
3739 .fc-list-table .fc-event, .fc-list-table .fc-event:hover {
3740 color: inherit !important;
3741 text-decoration: none !important;
3742 }
3743
3744 .fc-list-table .fc-event, .fc-list-table .fc-event-dot {
3745 background-color: transparent !important;
3746 }
3747
3748 .fc table.fc-list-table {
3749 table-layout: inherit !important;
3750 }
3751
3752 .fc-list-table .fc-event {
3753 display: table-row !important;
3754 }
3755
3756 @media screen and (max-width: 1400px) {
3757 .ose-youtube .video-popup-content iframe {
3758 height: 305px !important;
3759 }
3760
3761 .ose-youtube .prev-icon {
3762 left: -50%
3763 }
3764
3765 .ose-youtube .next-icon {
3766 right: -50%
3767 }
3768 }
3769
3770 @media screen and (max-width: 1200px) {
3771 .ose-youtube .video-popup-content iframe {
3772 height: 305px !important;
3773 }
3774
3775 .ose-youtube .prev-icon {
3776 left: -40%
3777 }
3778
3779 .ose-youtube .next-icon {
3780 right: -40%
3781 }
3782 }
3783
3784 @media screen and (max-width: 992px) {
3785 .ose-youtube .video-popup-content iframe {
3786 height: 305px !important;
3787 }
3788
3789 .ose-youtube .prev-icon {
3790 left: -40%
3791 }
3792
3793 .ose-youtube .next-icon {
3794 right: -40%
3795 }
3796 }
3797
3798
3799 @media screen and (max-width: 576px) {
3800 .ose-youtube .prev-icon {
3801 left: -26%
3802 }
3803
3804 .ose-youtube .next-icon {
3805 right: -26%
3806 }
3807 }
3808
3809 @media screen and (max-width: 580px) {
3810 .ose-youtube .prev-icon {
3811 left: -18%;
3812 }
3813
3814 .ose-youtube .next-icon {
3815 right: -18%;
3816 }
3817 }
3818
3819
3820
3821 .youtube-video-body {
3822 display: none;
3823 }
3824
3825
3826 .video-popup-content {
3827 width: 100%;
3828 max-width: 720px;
3829 margin: auto;
3830 }
3831
3832 @media (max-width: 1024px) {
3833 .youtube-carousel .item {
3834 min-width: calc(50% - 20px) !important;
3835 /* Show 2 items */
3836 }
3837 }
3838
3839 @media (max-width: 768px) {
3840 .youtube-carousel .item {
3841 min-width: calc(100% - 20px) !important;
3842 /* Show 1 item */
3843 }
3844
3845 [data-youtube-channel-carousel] button.preview {
3846 left: 0 !important;
3847 }
3848
3849 [data-youtube-channel-carousel] button.next {
3850 right: 0;
3851 }
3852
3853 .video-popup-content {
3854 width: calc(100% - 40px);
3855 margin: auto;
3856 }
3857
3858 .video-popup-content iframe {
3859 max-height: 300px;
3860 }
3861
3862 #videoPopup.video-popup .close {
3863 top: -25px;
3864 transform: translate(0%, -50%);
3865 right: unset;
3866 }
3867
3868
3869 }
3870
3871 @media (max-width: 580px) {
3872 .ep-first-video {
3873 margin-bottom: 20px;
3874 }
3875
3876 .video-popup-content iframe {
3877 max-height: 220px;
3878 }
3879
3880 .ep-player-wrap .ep-youtube__content__block .item {
3881 gap: 15px;
3882 }
3883
3884 .ep-embed-content-wraper .ep-youtube__content__block .youtube__content__body .content__wrap {
3885 gap: 30px !important;
3886 }
3887
3888 .ose-youtube .profile-picture {
3889 width: 80px;
3890 height: 80px;
3891 }
3892
3893 .ose-youtube .channel-header {
3894 gap: 10px;
3895 align-items: start;
3896 padding: 0;
3897
3898 }
3899
3900 .description-container {
3901 margin-top: 0px;
3902 }
3903
3904 .description-container p.description {
3905 display: none;
3906 }
3907
3908 .ep-player-wrap.layout-list .ep-youtube__content__block .item {
3909 flex-direction: column;
3910 }
3911
3912 .ep-player-wrap.layout-list .ep-youtube__content__block .thumb {
3913 min-width: 100%;
3914 min-height: 200px;
3915 }
3916
3917 }
3918
3919 .ep-google-photos-gallery-grid .ose-google-photos,
3920 .ep-google-photos-gallery-masonary .ose-google-photos,
3921 .ep-google-photos-gallery-justify .ose-google-photos {
3922 height: 100% !important;
3923 max-height: 100% !important;
3924 }
3925
3926
3927
3928 .pa-carousel-widget.jx-carousel-widget, .pa-gallery-player-widget, .ose-google-photos {
3929 position: relative;
3930 }
3931
3932 .pa-carousel-widget.jx-carousel-widget::after, .pa-gallery-player-widget::after {
3933 position: absolute;
3934 right: 0;
3935 left: 0;
3936 width: 100%;
3937 height: 60px;
3938 background: #fff;
3939 content: '';
3940 top: 10px;
3941 background: transparent;
3942 }
3943
3944 /* Google Photos Visit Button Styles */
3945 /* .ep-google-photos-visit-btn {
3946 position: absolute;
3947 top: 10px;
3948 right: 10px;
3949 background: rgba(0, 0, 0, 0.7);
3950 color: white;
3951 border: none;
3952 border-radius: 4px;
3953 padding: 8px 12px;
3954 cursor: pointer;
3955 font-size: 12px;
3956 display: flex;
3957 align-items: center;
3958 gap: 4px;
3959 z-index: 1000;
3960 transition: background-color 0.2s;
3961 text-decoration: none;
3962 } */
3963
3964 .ep-google-photos-visit-btn:hover {
3965 background: rgba(0, 0, 0, 0.9);
3966 color: white;
3967 text-decoration: none;
3968 }
3969
3970 .ep-google-photos-visit-btn svg {
3971 width: 16px;
3972 height: 16px;
3973 fill: currentColor;
3974 }
3975
3976
3977
3978
3979 /* Leons style */
3980 /* Basic styling */
3981 .photos-gallery-grid, .photos-gallery-masonry, .photos-gallery-justify {
3982 display: grid;
3983 grid-template-columns: repeat(5, 1fr);
3984 gap: 3px;
3985 }
3986
3987 .photos-gallery-grid .photo-item, .photos-gallery-masonary .photo-item {
3988 width: 100%;
3989 height: 200px;
3990 background-color: #f1efef;
3991 display: flex;
3992 justify-content: center;
3993 align-items: center;
3994 cursor: pointer;
3995 text-align: center;
3996 }
3997
3998
3999 /* masonary */
4000
4001 .photos-gallery-masonary {
4002 columns: 250px;
4003 gap: 3px;
4004 position: relative;
4005 width: 100%;
4006 }
4007
4008 .photos-gallery-masonary .photo-item {
4009 width: 100%;
4010 height: auto;
4011 object-fit: cover;
4012 display: block;
4013 margin-bottom: 3px;
4014 cursor: pointer;
4015 }
4016
4017 .photos-gallery-masonary .photo-item img {
4018 width: 100%;
4019 height: 100%;
4020 object-fit: cover;
4021 display: block;
4022 }
4023
4024 /* grid */
4025
4026
4027 .photos-gallery-grid {
4028 display: grid;
4029 gap: 3px;
4030 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
4031 position: relative;
4032 }
4033
4034 .photos-gallery-grid .photo-item {
4035 border-radius: 10px;
4036 text-align: center;
4037 height: 280px;
4038 cursor: pointer;
4039 }
4040
4041 .photos-gallery-grid .photo-item img {
4042 width: 100%;
4043 height: 100%;
4044 object-fit: cover;
4045 display: block;
4046 }
4047
4048 /* justify */
4049 /* .photos-gallery-justify {
4050 display: flex;
4051 flex-direction: row;
4052 flex-wrap: wrap;
4053 gap: 3px;
4054 }
4055
4056 .photos-gallery-justify .photo-item {
4057 flex: 1 0 auto;
4058 width: auto;
4059 height: 250px;
4060
4061 }
4062
4063 .photos-gallery-justify .photo-item img {
4064 width: 100%;
4065 height: 100%;
4066 object-fit: cover;
4067 display: block;
4068 } */
4069
4070
4071 .photos-gallery-justify {
4072 display: flex;
4073 flex-wrap: wrap;
4074 }
4075
4076 .photos-gallery-justify .photo-item {
4077 cursor: pointer;
4078 height: auto;
4079 }
4080
4081 .photos-gallery-justify .photo-item:hover {
4082 opacity: 0.9;
4083 }
4084
4085 .photos-gallery-justify .photo-item img {
4086 user-select: none;
4087 width: 100%;
4088 vertical-align: middle;
4089 }
4090
4091 .photos-gallery-justify::after {
4092 content: "";
4093 flex-grow: 99999;
4094 min-width: calc(100vw / 4);
4095 }
4096
4097 @media (max-width: 460px) {
4098 .photos-gallery-justify {
4099 flex-direction: column;
4100 }
4101
4102 .photos-gallery-justify .photo-item {
4103 width: 100% !important;
4104 }
4105 }
4106
4107
4108
4109 /* Popup styles */
4110 .popup-overlay {
4111 position: fixed;
4112 top: 0;
4113 left: 0;
4114 width: 100%;
4115 height: 100%;
4116 background-color: rgba(0, 0, 0, 0.9);
4117 display: none;
4118 justify-content: center;
4119 align-items: center;
4120 /* Must sit above Elementor popups (default modal z-index 9999) so the
4121 gallery lightbox is visible when the gallery is inside a popup. */
4122 z-index: 999999;
4123 transition: 0.5s ease;
4124
4125 }
4126
4127 .popup-overlay .popup {
4128 position: relative;
4129 max-width: 100%;
4130 max-height: 100%;
4131 width: 100%;
4132 height: 100%;
4133 background-color: transparent;
4134 display: flex !important;
4135 justify-content: center;
4136 align-items: center;
4137 color: black;
4138 }
4139
4140 .popup-overlay .close-btn {
4141 position: absolute;
4142 top: 10px;
4143 right: 10px;
4144 color: white;
4145 font-size: 30px;
4146 cursor: pointer;
4147 width: 40px;
4148 height: 40px;
4149 display: flex;
4150 align-items: center;
4151 justify-content: center;
4152 background: #0a0a0a;
4153 border-radius: 50%;
4154 }
4155
4156 .popup-overlay .prev-btn,
4157 .popup-overlay .next-btn {
4158 position: absolute;
4159 top: 50%;
4160 transform: translateY(-50%);
4161 font-size: 30px;
4162 background-color: rgba(0, 0, 0, 0.5);
4163 color: white;
4164 border: none;
4165 padding: 10px;
4166 cursor: pointer;
4167 z-index: 10;
4168 opacity: 0;
4169 visibility: hidden;
4170 transition: 0.2s;
4171 display: flex;
4172 }
4173
4174 .popup-overlay:hover .prev-btn, .popup-overlay:hover .next-btn {
4175 opacity: 1;
4176 visibility: visible;
4177
4178 }
4179
4180 .popup-overlay .prev-btn {
4181 left: 10px;
4182 }
4183
4184 .popup-overlay .next-btn {
4185 right: 10px;
4186 }
4187
4188 .popup-overlay img#popup-image {
4189 width: 100%;
4190 height: auto;
4191 max-height: 100vh;
4192 }
4193
4194 .popup-overlay .prev-btn:hover,
4195 .popup-overlay .next-btn:hover {
4196 background-color: rgba(0, 0, 0, 0.8);
4197 }
4198
4199
4200 @media (max-width: 1024px) {
4201
4202 .photos-gallery-grid .photo-item {
4203 width: 100%;
4204 height: 150px !important;
4205 }
4206
4207
4208 /* masonary */
4209
4210 .photos-gallery-masonary {
4211 columns: 200px !important;
4212 }
4213
4214 /* grid */
4215
4216
4217 .photos-gallery-grid {
4218 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
4219 }
4220
4221 }
4222
4223 .ose-codesandbox .embera-embed-responsive.embera-embed-responsive-rich.embera-embed-responsive-provider-codesandbox {
4224 width: 100%;
4225 height: 100%;
4226 }
4227
4228 .ose-codesandbox .embera-embed-responsive.embera-embed-responsive-rich.embera-embed-responsive-provider-codesandbox iframe {
4229 width: 100%;
4230 height: 100%;
4231 }
4232
4233
4234 @media (max-width: 767px) {
4235
4236 .popup-overlay .prev-btn,
4237 .popup-overlay .next-btn {
4238 font-size: 20px;
4239 padding: 5px;
4240 }
4241 }
4242
4243 .getty div:last-child {
4244 padding: 0 !important;
4245 height: 100% !important;
4246 max-height: 100% !important;
4247 }
4248
4249
4250
4251 /* .ose-google-docs-sheets, .ose-google-docs-slides, .ose-google-docs-forms, .ose-google-docs-document, .ose-google-drawings, .ose-google-maps, .ose-google-photos, .main-content-wraper {
4252 position: relative;
4253 width: 100%;
4254 overflow: hidden;
4255 display: flex;
4256 justify-content: center;
4257 max-width: fit-content!important;
4258 } */
4259 /* Auto Resume Playback prompt */
4260 .ep-embed-content-wraper {
4261 position: relative;
4262 }
4263
4264 .ep-resume-prompt {
4265 position: absolute;
4266 inset: 0;
4267 background: rgba(0, 0, 0, 0.65);
4268 display: flex;
4269 align-items: center;
4270 justify-content: center;
4271 z-index: 10;
4272 color: #fff;
4273 font-family: inherit;
4274 }
4275
4276 .ep-resume-prompt__inner {
4277 background: rgba(20, 20, 20, 0.95);
4278 padding: 24px 28px;
4279 border-radius: 8px;
4280 text-align: center;
4281 max-width: 90%;
4282 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
4283 }
4284
4285 .ep-resume-prompt__msg {
4286 margin: 0 0 16px;
4287 font-size: 16px;
4288 line-height: 1.4;
4289 }
4290
4291 .ep-resume-prompt__actions {
4292 display: flex;
4293 gap: 10px;
4294 justify-content: center;
4295 flex-wrap: wrap;
4296 }
4297
4298 .ep-resume-prompt__btn {
4299 padding: 8px 16px;
4300 border-radius: 4px;
4301 border: 1px solid rgba(255, 255, 255, 0.4);
4302 background: transparent;
4303 color: #fff;
4304 font-size: 14px;
4305 cursor: pointer;
4306 transition: background 0.15s ease;
4307 }
4308
4309 .ep-resume-prompt__btn:hover {
4310 background: rgba(255, 255, 255, 0.12);
4311 }
4312
4313 .ep-resume-prompt__btn--primary {
4314 background: var(--plyr-color-main, #5b4e96);
4315 border-color: var(--plyr-color-main, #5b4e96);
4316 }
4317
4318 .ep-resume-prompt__btn--primary:hover {
4319 filter: brightness(1.15);
4320 }
4321
4322 /* Custom End Screen */
4323 .ep-end-screen {
4324 position: absolute;
4325 inset: 0;
4326 background: rgba(0, 0, 0, 0.85);
4327 display: flex;
4328 align-items: center;
4329 justify-content: center;
4330 z-index: 10;
4331 color: #fff;
4332 font-family: inherit;
4333 text-align: center;
4334 }
4335
4336 .ep-end-screen__inner {
4337 padding: 24px 28px;
4338 max-width: 90%;
4339 }
4340
4341 .ep-end-screen__msg {
4342 margin: 0 0 16px;
4343 font-size: 18px;
4344 line-height: 1.4;
4345 }
4346
4347 .ep-end-screen__countdown {
4348 margin: 12px 0 0;
4349 font-size: 13px;
4350 opacity: 0.8;
4351 }
4352
4353 .ep-end-screen__actions {
4354 display: flex;
4355 gap: 10px;
4356 justify-content: center;
4357 flex-wrap: wrap;
4358 margin-top: 14px;
4359 }
4360
4361 .ep-end-screen__btn,
4362 a.ep-end-screen__btn,
4363 a.ep-end-screen__btn:hover,
4364 a.ep-end-screen__btn:focus,
4365 a.ep-end-screen__btn:visited {
4366 display: inline-block;
4367 padding: 8px 16px;
4368 border-radius: 4px;
4369 border: 1px solid rgba(255, 255, 255, 0.4);
4370 background: transparent;
4371 color: #fff;
4372 font-size: 14px;
4373 cursor: pointer;
4374 text-decoration: none;
4375 border-bottom: 1px solid rgba(255, 255, 255, 0.4);
4376 transition: background 0.15s ease;
4377 }
4378
4379 .ep-end-screen__btn:hover {
4380 background: rgba(255, 255, 255, 0.12);
4381 color: #fff;
4382 }
4383
4384 /* Primary CTA — match the `a.ep-end-screen__btn` specificity from above so
4385 * the modifier actually wins on background / border-color when rendered as
4386 * an <a>. Without these `a.` selectors, theme-link rules + the base `a.`
4387 * selector list above out-specifies the modifier and the primary button
4388 * looks identical to the secondary Replay/Cancel buttons. */
4389 .ep-end-screen__btn--primary,
4390 a.ep-end-screen__btn--primary,
4391 a.ep-end-screen__btn--primary:hover,
4392 a.ep-end-screen__btn--primary:focus,
4393 a.ep-end-screen__btn--primary:visited {
4394 background: var(--plyr-color-main, #5b4e96);
4395 border-color: var(--plyr-color-main, #5b4e96);
4396 color: #fff;
4397 margin-bottom: 4px;
4398 }
4399
4400 .ep-end-screen__btn--primary:hover,
4401 a.ep-end-screen__btn--primary:hover {
4402 filter: brightness(1.15);
4403 background: var(--plyr-color-main, #5b4e96);
4404 }
4405
4406 /* Advanced Privacy Mode click-to-load overlay */
4407 .ep-embed-content-wraper.ep-privacy-pending iframe {
4408 visibility: hidden;
4409 }
4410
4411 .ep-privacy-overlay {
4412 position: absolute;
4413 inset: 0;
4414 z-index: 11;
4415 background: #000 center/cover no-repeat;
4416 color: #fff;
4417 cursor: pointer;
4418 display: flex;
4419 flex-direction: column;
4420 align-items: center;
4421 justify-content: center;
4422 text-align: center;
4423 padding: 16px;
4424 }
4425
4426 .ep-privacy-overlay--has-poster::before {
4427 content: '';
4428 position: absolute;
4429 inset: 0;
4430 background: rgba(0, 0, 0, 0.35);
4431 }
4432
4433 .ep-privacy-overlay__play,
4434 .ep-privacy-overlay__play:hover,
4435 .ep-privacy-overlay__play:focus,
4436 .ep-privacy-overlay__play:active {
4437 position: relative;
4438 background: transparent;
4439 border: 0;
4440 box-shadow: none;
4441 outline: none;
4442 padding: 0;
4443 cursor: pointer;
4444 line-height: 0;
4445 transition: transform 0.15s ease;
4446 }
4447
4448 .ep-privacy-overlay__play:hover {
4449 transform: scale(1.06);
4450 background: transparent;
4451 }
4452
4453 .ep-privacy-overlay__msg {
4454 position: relative;
4455 margin: 14px 0 0;
4456 font-size: 13px;
4457 line-height: 1.4;
4458 max-width: 480px;
4459 opacity: 0.95;
4460 }
4461
4462 /* Timed CTA */
4463 .ep-timed-cta-stack {
4464 position: absolute;
4465 left: 50%;
4466 bottom: 60px;
4467 transform: translateX(-50%);
4468 z-index: 9;
4469 display: flex;
4470 flex-direction: column;
4471 gap: 8px;
4472 align-items: center;
4473 max-width: calc(100% - 32px);
4474 pointer-events: none;
4475 }
4476
4477 .ep-timed-cta {
4478 position: relative;
4479 background: rgba(20, 20, 20, 0.92);
4480 color: #fff;
4481 border-radius: 6px;
4482 padding: 12px 40px 12px 16px;
4483 box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
4484 max-width: 100%;
4485 font-family: inherit;
4486 pointer-events: auto;
4487 animation: ep-timed-cta-in 0.25s ease-out;
4488 }
4489
4490 @keyframes ep-timed-cta-in {
4491 from {
4492 opacity: 0;
4493 transform: translateY(8px);
4494 }
4495
4496 to {
4497 opacity: 1;
4498 transform: translateY(0);
4499 }
4500 }
4501
4502 .ep-timed-cta__inner {
4503 display: flex;
4504 flex-direction: column;
4505 gap: 10px;
4506 align-items: center;
4507 text-align: center;
4508 }
4509
4510 .ep-timed-cta__headline {
4511 margin: 0;
4512 font-size: 14px;
4513 line-height: 1.35;
4514 }
4515
4516 .ep-timed-cta__btn {
4517 display: inline-block;
4518 padding: 6px 14px;
4519 border-radius: 4px;
4520 background: var(--plyr-color-main, #5b4e96);
4521 color: #fff;
4522 font-size: 13px;
4523 text-decoration: none;
4524 transition: filter 0.15s ease;
4525 }
4526
4527 .ep-timed-cta__btn:hover {
4528 color: #fff;
4529 filter: brightness(1.15);
4530 }
4531
4532 .ep-timed-cta__close {
4533 position: absolute;
4534 top: 4px;
4535 right: 6px;
4536 background: transparent;
4537 border: 0;
4538 color: rgba(255, 255, 255, 0.7);
4539 font-size: 20px;
4540 line-height: 1;
4541 cursor: pointer;
4542 padding: 4px 8px;
4543 }
4544
4545 .ep-timed-cta__close:hover {
4546 color: #fff;
4547 }
4548
4549 /* Pro feature overlays (email capture, end screen, resume prompt, action lock,
4550 privacy mode, timed CTA, chapters) all use position:absolute;inset:0 and so
4551 need the wrapper to be a positioning context. Scope to wrappers that have
4552 the custom player attached so other embeds (PDF, audio, etc.) are unaffected. */
4553 .ep-embed-content-wraper[data-playerid] {
4554 position: relative;
4555 }
4556
4557 .ep-embed-content-wraper.ep-has-chapters {
4558 position: relative;
4559 }
4560
4561 .ep-chapter-label {
4562 position: absolute;
4563 top: 12px;
4564 left: 12px;
4565 z-index: 8;
4566 background: rgba(0, 0, 0, 0.6);
4567 color: #fff;
4568 border: 0;
4569 border-radius: 4px;
4570 padding: 6px 10px;
4571 font-size: 13px;
4572 cursor: pointer;
4573 display: inline-flex;
4574 align-items: center;
4575 gap: 6px;
4576 max-width: calc(100% - 24px);
4577 transition: opacity 0.2s ease;
4578 }
4579
4580 .ep-chapter-label--hidden {
4581 opacity: 0;
4582 pointer-events: none;
4583 }
4584
4585 .ep-chapter-label__title {
4586 overflow: hidden;
4587 text-overflow: ellipsis;
4588 white-space: nowrap;
4589 max-width: 220px;
4590 }
4591
4592 .ep-chapter-label__caret {
4593 font-size: 10px;
4594 opacity: 0.8;
4595 }
4596
4597 .ep-chapter-list {
4598 position: absolute;
4599 top: 50px;
4600 left: 12px;
4601 z-index: 9;
4602 background: rgba(20, 20, 20, 0.95);
4603 color: #fff;
4604 border-radius: 6px;
4605 width: 280px;
4606 max-width: calc(100% - 24px);
4607 max-height: 60%;
4608 overflow-y: auto;
4609 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
4610 display: none;
4611 }
4612
4613 .ep-chapter-list--open {
4614 display: block;
4615 }
4616
4617 .ep-chapter-list__item {
4618 width: 100%;
4619 background: transparent;
4620 border: 0;
4621 color: inherit;
4622 text-align: left;
4623 padding: 10px 14px;
4624 font-size: 13px;
4625 cursor: pointer;
4626 display: flex;
4627 gap: 10px;
4628 align-items: baseline;
4629 border-bottom: 1px solid rgba(255, 255, 255, 0.08);
4630 }
4631
4632 .ep-chapter-list__item:last-child {
4633 border-bottom: 0;
4634 }
4635
4636 .ep-chapter-list__item:hover {
4637 background: rgba(255, 255, 255, 0.08);
4638 }
4639
4640 .ep-chapter-list__item--active {
4641 background: rgba(255, 255, 255, 0.12);
4642 }
4643
4644 .ep-chapter-list__time {
4645 font-variant-numeric: tabular-nums;
4646 opacity: 0.7;
4647 flex-shrink: 0;
4648 min-width: 48px;
4649 }
4650
4651 .ep-chapter-ticks {
4652 position: absolute;
4653 inset: 0;
4654 pointer-events: none;
4655 overflow: visible;
4656 }
4657
4658 /* YouTube-style segmented progress bar (drawn by initplyr.js when chapters are configured). */
4659 .plyr__progress.ep-chapters-split input[type="range"] {
4660 /* Make Plyr's native track invisible so our segments are the only visible bar.
4661 The input itself stays interactive (seek + thumb). */
4662 color: transparent;
4663 background: transparent !important;
4664 }
4665
4666 .plyr__progress.ep-chapters-split input[type="range"]::-webkit-slider-runnable-track {
4667 background: transparent !important;
4668 }
4669
4670 .plyr__progress.ep-chapters-split input[type="range"]::-moz-range-track {
4671 background: transparent !important;
4672 }
4673
4674 .plyr__progress.ep-chapters-split input[type="range"]::-moz-range-progress {
4675 background: transparent !important;
4676 }
4677
4678 .plyr__progress.ep-chapters-split input[type="range"]::-ms-fill-lower {
4679 background: transparent !important;
4680 }
4681
4682 .plyr__progress.ep-chapters-split input[type="range"]::-ms-fill-upper {
4683 background: transparent !important;
4684 }
4685
4686 .plyr__progress.ep-chapters-split .plyr__progress__buffer {
4687 display: none;
4688 }
4689
4690 .ep-chapter-bar {
4691 position: absolute;
4692 inset: 0;
4693 pointer-events: none;
4694 z-index: 1;
4695 }
4696
4697 .ep-chapter-seg {
4698 position: absolute;
4699 top: 50%;
4700 transform: translateY(-50%);
4701 height: 5px;
4702 background: rgba(255, 255, 255, 0.28);
4703 border-radius: 2px;
4704 overflow: hidden;
4705 transition: height 0.12s ease-out, background 0.12s ease-out;
4706 }
4707
4708 .ep-chapter-seg__fill {
4709 height: 100%;
4710 width: 0%;
4711 /* Prefer --plyr-range-fill-background (we override it to white at the
4712 wrapper level so the fill stays visible on every preset/color combo).
4713 Fall through to --plyr-color-main and a sane default. Without this
4714 order, sites that set a playerColor get a fill that exactly matches
4715 the purple controls-bar background — fill becomes invisible. */
4716 background: var(--plyr-range-fill-background, var(--plyr-color-main, #5b4e96));
4717 border-radius: 2px;
4718 }
4719
4720 /* Grow all segments slightly when the user is interacting with the bar
4721 (YouTube does this — bar feels chunkier on hover). */
4722 .plyr__progress:hover .ep-chapter-seg,
4723 .plyr__progress:focus-within .ep-chapter-seg {
4724 height: 8px;
4725 }
4726
4727 /* The currently-hovered chapter brightens (no extra height — keeps the
4728 bar from looking taller than the volume slider). */
4729 .ep-chapter-seg--hover {
4730 background: rgba(255, 255, 255, 0.5);
4731 }
4732
4733 /* Chapter title appended inside Plyr's own seek tooltip on mousemove.
4734 Override Plyr's max-width:120px / nowrap so the title isn't clipped. */
4735 .ep-embed-content-wraper.ep-has-chapters .plyr__progress .plyr__tooltip {
4736 max-width: 240px;
4737 white-space: normal;
4738 text-align: center;
4739 }
4740
4741 .ep-chapter-tooltip-title {
4742 display: inline-block;
4743 margin-top: 2px;
4744 font-size: 11px;
4745 font-weight: 400;
4746 opacity: 0.85;
4747 max-width: 220px;
4748 overflow: hidden;
4749 text-overflow: ellipsis;
4750 white-space: nowrap;
4751 vertical-align: bottom;
4752 }
4753
4754 /* Email Capture */
4755 .ep-lead-form {
4756 position: absolute;
4757 inset: 0;
4758 background: rgba(0, 0, 0, 0.85);
4759 z-index: 12;
4760 display: flex;
4761 align-items: center;
4762 justify-content: center;
4763 padding: 16px;
4764 color: #fff;
4765 font-family: inherit;
4766 }
4767
4768 .ep-lead-form__inner {
4769 background: rgba(20, 20, 20, 0.97);
4770 border-radius: 8px;
4771 padding: 24px 28px;
4772 width: 100%;
4773 max-width: 380px;
4774 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
4775 }
4776
4777 .ep-lead-form__headline {
4778 margin: 0 0 16px;
4779 font-size: 16px;
4780 line-height: 1.4;
4781 text-align: center;
4782 }
4783
4784 .ep-lead-form__field {
4785 margin-bottom: 12px;
4786 text-align: left;
4787 }
4788
4789 .ep-lead-form__label {
4790 display: block;
4791 margin-bottom: 6px;
4792 font-size: 13px;
4793 font-weight: 500;
4794 color: rgba(255, 255, 255, 0.85);
4795 }
4796
4797 .ep-lead-form .ep-lead-form__input,
4798 .ep-lead-form input.ep-lead-form__input {
4799 display: block;
4800 width: 100%;
4801 padding: 10px 12px;
4802 margin-bottom: 0;
4803 border-radius: 4px;
4804 border: 1px solid rgba(255, 255, 255, 0.2);
4805 background: rgba(255, 255, 255, 0.08);
4806 color: #fff;
4807 font-size: 14px;
4808 box-sizing: border-box;
4809 -webkit-appearance: none;
4810 appearance: none;
4811 }
4812
4813 .ep-lead-form .ep-lead-form__input::placeholder {
4814 color: rgba(255, 255, 255, 0.6);
4815 opacity: 1;
4816 }
4817
4818 /* Gutenberg + Chrome autofill both repaint the input with their own light
4819 background (and dark text), which crushes the white placeholder we set
4820 above. Lock the colors so the placeholder stays visible in both. */
4821 .ep-lead-form .ep-lead-form__input:-webkit-autofill,
4822 .ep-lead-form .ep-lead-form__input:-webkit-autofill:hover,
4823 .ep-lead-form .ep-lead-form__input:-webkit-autofill:focus {
4824 -webkit-text-fill-color: #fff;
4825 -webkit-box-shadow: 0 0 0 1000px rgba(255, 255, 255, 0.08) inset;
4826 caret-color: #fff;
4827 transition: background-color 9999s ease-in-out 0s;
4828 }
4829
4830 .ep-lead-form__input:focus {
4831 outline: none;
4832 border-color: var(--plyr-color-main, #5b4e96);
4833 }
4834
4835 .ep-lead-form__error {
4836 margin: 4px 0 12px;
4837 color: #ff6b6b;
4838 font-size: 13px;
4839 }
4840
4841 .ep-lead-form__actions {
4842 display: flex;
4843 gap: 8px;
4844 margin-top: 14px;
4845 }
4846
4847 .ep-lead-form__btn {
4848 flex: 1;
4849 padding: 10px 16px;
4850 border-radius: 4px;
4851 border: 1px solid rgba(255, 255, 255, 0.3);
4852 background: transparent;
4853 color: #fff;
4854 font-size: 14px;
4855 cursor: pointer;
4856 transition: filter 0.15s ease, background 0.15s ease;
4857 }
4858
4859 .ep-lead-form__btn:hover {
4860 background: rgba(255, 255, 255, 0.12);
4861 }
4862
4863 .ep-lead-form__btn--primary {
4864 background: var(--plyr-color-main, #5b4e96);
4865 border-color: var(--plyr-color-main, #5b4e96);
4866 }
4867
4868 .ep-lead-form__btn--primary:hover {
4869 filter: brightness(1.15);
4870 }
4871
4872 .ep-lead-form__btn[disabled] {
4873 opacity: 0.6;
4874 cursor: default;
4875 }
4876
4877 /* Action Lock */
4878 .ep-action-lock {
4879 position: absolute;
4880 inset: 0;
4881 z-index: 13;
4882 background: rgba(0, 0, 0, 0.92);
4883 color: #fff;
4884 display: flex;
4885 align-items: center;
4886 justify-content: center;
4887 padding: 16px;
4888 font-family: inherit;
4889 text-align: center;
4890 }
4891
4892 .ep-action-lock__inner {
4893 max-width: 460px;
4894 width: 100%;
4895 }
4896
4897 .ep-action-lock__headline {
4898 margin: 0 0 8px;
4899 font-size: 18px;
4900 font-weight: 600;
4901 line-height: 1.3;
4902 }
4903
4904 .ep-action-lock__message {
4905 margin: 0 0 18px;
4906 font-size: 14px;
4907 line-height: 1.5;
4908 opacity: 0.85;
4909 }
4910
4911 .ep-action-lock__actions {
4912 display: flex;
4913 gap: 10px;
4914 justify-content: center;
4915 flex-wrap: wrap;
4916 }
4917
4918 .ep-action-lock__btn {
4919 padding: 9px 18px;
4920 border-radius: 4px;
4921 border: 1px solid rgba(255, 255, 255, 0.3);
4922 background: transparent;
4923 color: #fff;
4924 font-size: 14px;
4925 cursor: pointer;
4926 text-decoration: none;
4927 display: inline-flex;
4928 align-items: center;
4929 gap: 6px;
4930 transition: filter 0.15s ease, background 0.15s ease;
4931 }
4932
4933 .ep-action-lock__btn:hover {
4934 background: rgba(255, 255, 255, 0.12);
4935 color: #fff;
4936 }
4937
4938 .ep-action-lock__btn[disabled] {
4939 opacity: 0.6;
4940 cursor: default;
4941 }
4942
4943 .ep-action-lock__btn--primary {
4944 background: var(--plyr-color-main, #5b4e96);
4945 border-color: var(--plyr-color-main, #5b4e96);
4946 }
4947
4948 .ep-action-lock__btn--primary:hover {
4949 filter: brightness(1.15);
4950 }
4951
4952 .ep-action-lock__btn--facebook {
4953 background: #1877f2;
4954 border-color: #1877f2;
4955 }
4956
4957 .ep-action-lock__btn--twitter {
4958 background: #000;
4959 border-color: #000;
4960 }
4961
4962 .ep-action-lock__btn--linkedin {
4963 background: #0a66c2;
4964 border-color: #0a66c2;
4965 }
4966
4967 /* Country Restriction fallback */
4968 .ep-country-restricted {
4969 background: #f5f5f7;
4970 border: 1px solid #e0e0e4;
4971 border-radius: 6px;
4972 padding: 32px 20px;
4973 text-align: center;
4974 color: #444;
4975 font-family: inherit;
4976 }
4977
4978 .ep-country-restricted__inner p {
4979 margin: 0;
4980 font-size: 14px;
4981 line-height: 1.5;
4982 }
4983
4984 /* Public-facing view + download count badge for PDF / Document embeds */
4985 .ep-view-count {
4986 display: inline-flex;
4987 align-items: center;
4988 gap: 8px;
4989 margin-block-start: 8px;
4990 padding: 4px 12px;
4991 border-radius: 999px;
4992 color: #444;
4993 font-size: 12px;
4994 line-height: 1;
4995 font-weight: 500;
4996 width: -moz-fit-content;
4997 width: fit-content;
4998 }
4999
5000 .ep-view-count__item {
5001 display: inline-flex;
5002 align-items: center;
5003 gap: 6px;
5004 }
5005
5006 .ep-view-count [hidden] {
5007 display: none !important;
5008 }
5009
5010 .ep-view-count__icon {
5011 flex-shrink: 0;
5012 opacity: 0.75;
5013 }
5014
5015 .ep-view-count__label {
5016 white-space: nowrap;
5017 }
5018
5019 .ep-view-count__sep {
5020 opacity: 0.4;
5021 }
5022
5023 @media (prefers-color-scheme: dark) {
5024 .ep-view-count {
5025 color: #ddd;
5026 }
5027 }
5028
5029 /* ──────────────────────────────────────────────────────────────────────────
5030 View-count badge positioning (fbs-82395)
5031 The badge always stays OUTSIDE the embed — it never overlays the PDF or its
5032 toolbar. The modifiers only control which side of the embed it sits on
5033 (above / below) and its horizontal alignment (left / center / right).
5034 Default (no modifier) = below + left, the original placement, so existing
5035 posts render unchanged. Alignment is done in-flow on a full-width row, so
5036 nothing is absolutely positioned over the embed.
5037 ────────────────────────────────────────────────────────────────────────── */
5038 .ep-view-count[class*="ep-view-count--pos-"] {
5039 display: flex;
5040 width: 100%;
5041 }
5042
5043 /* Horizontal alignment within the badge's own full-width row. */
5044 .ep-view-count--pos-below-left,
5045 .ep-view-count--pos-above-left {
5046 justify-content: flex-start;
5047 }
5048
5049 .ep-view-count--pos-below-center,
5050 .ep-view-count--pos-above-center {
5051 justify-content: center;
5052 }
5053
5054 .ep-view-count--pos-below-right,
5055 .ep-view-count--pos-above-right {
5056 justify-content: flex-end;
5057 }
5058
5059 /* 'Above' variants sit before the embed; drop the default top margin and add
5060 a bottom gap instead so the spacing mirrors the 'below' placement. */
5061 .ep-view-count--pos-above-left,
5062 .ep-view-count--pos-above-center,
5063 .ep-view-count--pos-above-right {
5064 margin-block-start: 0;
5065 margin-block-end: 8px;
5066 }
5067
5068 /* Editor preview: the badge renders as the last child of the content wraper,
5069 so for 'above' variants flip it to the top with flex order. The frontend
5070 inserts the node before the embed directly (see ep-view-count.js), so this
5071 rule is editor-only and harmless on the front end. */
5072 .main-content-wraper:has(> .ep-view-count--pos-above-left),
5073 .main-content-wraper:has(> .ep-view-count--pos-above-center),
5074 .main-content-wraper:has(> .ep-view-count--pos-above-right),
5075 .ep-embed-content-wraper:has(.ep-view-count--pos-above-left),
5076 .ep-embed-content-wraper:has(.ep-view-count--pos-above-center),
5077 .ep-embed-content-wraper:has(.ep-view-count--pos-above-right) {
5078 display: flex;
5079 flex-direction: column;
5080 }
5081
5082 .ep-view-count--pos-above-left,
5083 .ep-view-count--pos-above-center,
5084 .ep-view-count--pos-above-right {
5085 order: -1;
5086 }
5087
5088 /* ──────────────────────────────────────────────────────────────────────────
5089 YouTube Playlist — scoped playlist layouts (fbs-72610)
5090 Two layouts live here: Queue (default, immersive player+sidebar) and
5091 Theatre (player on top + horizontal card strip). Both render inside
5092 .ep-yt-playlist[data-layout="…"] so they share one CSS reset and design
5093 tokens, isolating them from theme/plugin styles that would otherwise
5094 bleed in via universal selectors.
5095 ────────────────────────────────────────────────────────────────────────── */
5096 /* All playlist layouts take their container's full width; strip the
5097 wrapper's inline width:600px / height:550px / display:inline-block. */
5098 .ose-youtube.has-layout-queue,
5099 .ose-youtube.has-layout-queue .ep-player-wrap.layout-queue,
5100 .ose-youtube.has-layout-theatre,
5101 .ose-youtube.has-layout-theatre .ep-player-wrap.layout-theatre,
5102 .ose-youtube.has-layout-library,
5103 .ose-youtube.has-layout-library .ep-player-wrap.layout-library,
5104 .ose-youtube.has-layout-spotlight,
5105 .ose-youtube.has-layout-spotlight .ep-player-wrap.layout-spotlight,
5106 .ose-youtube.has-layout-cinema,
5107 .ose-youtube.has-layout-cinema .ep-player-wrap.layout-cinema,
5108 .ose-youtube.has-layout-magazine,
5109 .ose-youtube.has-layout-magazine .ep-player-wrap.layout-magazine {
5110 display: block !important;
5111 width: 100% !important;
5112 max-width: 100% !important;
5113 height: auto !important;
5114 max-height: none !important;
5115 padding: 0;
5116 background: transparent;
5117 }
5118
5119 .ep-player-wrap.layout-queue .ep-first-video,
5120 .ep-player-wrap.layout-theatre .ep-first-video,
5121 .ep-player-wrap.layout-library .ep-first-video,
5122 .ep-player-wrap.layout-spotlight .ep-first-video,
5123 .ep-player-wrap.layout-cinema .ep-first-video,
5124 .ep-player-wrap.layout-magazine .ep-first-video {
5125 display: none;
5126 }
5127
5128 /* === SCOPED RESET + DESIGN TOKENS ====================================== */
5129 /* Anything inside .ep-yt-playlist gets reverted to user-agent defaults so
5130 the theme's universal selectors (font-family on *, paddings on li, etc.)
5131 stop leaking into our layout. We then layer the design tokens back on
5132 the wrapper and re-apply only the properties we need. */
5133 .ep-yt-playlist {
5134 --epyp-bg: #0f0f0f;
5135 --epyp-surface: #181818;
5136 --epyp-surface-2: #212121;
5137 --epyp-border: #2a2a2a;
5138 --epyp-text: #f1f1f1;
5139 --epyp-text-dim: #aaa;
5140 --epyp-accent: #ff0000;
5141 --epyp-focus: #3ea6ff;
5142 --epyp-radius: 12px;
5143 --epyp-radius-sm: 6px;
5144 --epyp-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
5145
5146 box-sizing: border-box;
5147 width: 100%;
5148 max-width: 1080px;
5149 margin: 0 auto;
5150 color: var(--epyp-text);
5151 font-family: var(--epyp-font);
5152 line-height: 1.4;
5153 background: var(--epyp-bg);
5154 border-radius: var(--epyp-radius);
5155 overflow: hidden;
5156 box-shadow: 0 4px 24px rgba(0, 0, 0, .12);
5157 }
5158
5159 /* Reset every descendant so themed `li`/`a`/`button`/`img`/etc. styles
5160 stop interfering. `all: revert` reverts to user-agent defaults, then we
5161 re-set box-sizing + font + line-height. */
5162 .ep-yt-playlist * {
5163 all: revert;
5164 box-sizing: border-box;
5165 font-family: var(--epyp-font);
5166 line-height: 1.4;
5167 }
5168
5169 .ep-yt-playlist *::before,
5170 .ep-yt-playlist *::after {
5171 box-sizing: border-box;
5172 }
5173
5174 .ep-yt-playlist a {
5175 color: inherit;
5176 text-decoration: none;
5177 }
5178
5179 .ep-yt-playlist button {
5180 font: inherit;
5181 cursor: pointer;
5182 }
5183
5184 .ep-yt-playlist img, .ep-yt-playlist svg {
5185 display: block;
5186 max-width: 100%;
5187 }
5188
5189 .ep-yt-playlist ol, .ep-yt-playlist ul {
5190 list-style: none;
5191 margin: 0;
5192 padding: 0;
5193 }
5194
5195 /* === QUEUE LAYOUT ===================================================== */
5196 .ep-yt-playlist[data-layout="queue"][data-playlist-id] {
5197 /* Default queue height; overridden by an inline --epq-h on the wrapper
5198 when the user configures a block/widget height. Declared here (not on
5199 .ep-yt-queue) so the inline override actually cascades down. */
5200 --epq-h: 480px;
5201 }
5202
5203 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue {
5204 display: flex;
5205 flex-wrap: nowrap;
5206 width: 100%;
5207 height: var(--epq-h);
5208 }
5209
5210 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__player {
5211 position: relative;
5212 flex: 1 1 auto;
5213 min-width: 0;
5214 height: 100%;
5215 background: #000;
5216 }
5217
5218 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__iframe {
5219 position: absolute;
5220 inset: 0;
5221 width: 100% !important;
5222 height: 100% !important;
5223 border: 0;
5224 max-width: 100% !important;
5225 max-height: 100% !important;
5226 }
5227
5228 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__list {
5229 flex: 0 0 340px;
5230 display: flex;
5231 flex-direction: column;
5232 min-width: 0;
5233 min-height: 0;
5234 height: 100%;
5235 overflow: hidden;
5236 background: var(--epyp-surface);
5237 border-left: 1px solid var(--epyp-border);
5238 }
5239
5240 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__header {
5241 flex: 0 0 auto;
5242 padding: 14px 16px 10px;
5243 border-bottom: 1px solid var(--epyp-border);
5244 background: var(--epyp-surface-2);
5245 }
5246
5247 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__title {
5248 display: block;
5249 font-size: 16px;
5250 font-weight: 600;
5251 color: var(--epyp-text);
5252 line-height: 1.3;
5253 margin: 0 0 4px;
5254 word-break: break-word;
5255 }
5256
5257 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__title:hover {
5258 color: #fff;
5259 text-decoration: underline;
5260 }
5261
5262 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__meta {
5263 display: flex;
5264 align-items: center;
5265 gap: 6px;
5266 font-size: 12px;
5267 color: var(--epyp-text-dim);
5268 margin-bottom: 8px;
5269 }
5270
5271 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__sep {
5272 opacity: .6;
5273 }
5274
5275 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__position-current {
5276 color: #fff;
5277 font-weight: 500;
5278 }
5279
5280 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__controls {
5281 display: flex;
5282 align-items: center;
5283 gap: 6px;
5284 }
5285
5286 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__controls button {
5287 background: transparent;
5288 border: 0;
5289 color: var(--epyp-text-dim);
5290 width: 30px;
5291 height: 30px;
5292 display: inline-flex;
5293 align-items: center;
5294 justify-content: center;
5295 border-radius: 50%;
5296 padding: 0;
5297 transition: background .15s, color .15s;
5298 }
5299
5300 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__controls button:hover {
5301 background: rgba(255, 255, 255, .08);
5302 color: #fff;
5303 }
5304
5305 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__controls button[aria-pressed="true"] {
5306 color: var(--epyp-focus);
5307 background: rgba(62, 166, 255, .12);
5308 }
5309
5310 .ep-yt-playlist .ep-yt-queue__icon {
5311 width: 18px;
5312 height: 18px;
5313 stroke-width: 2;
5314 }
5315
5316 /* CSS-mask icons — survive simple_html_dom case-normalization (Pro pipeline
5317 lowercases SVG `viewBox` → `viewbox`, which browsers ignore). Using
5318 mask-image with currentColor lets us keep aria-pressed color swaps. */
5319 .ep-yt-playlist .ep-yt-icon {
5320 display: inline-block;
5321 width: 18px;
5322 height: 18px;
5323 background-color: currentColor;
5324 -webkit-mask-repeat: no-repeat;
5325 mask-repeat: no-repeat;
5326 -webkit-mask-position: center;
5327 mask-position: center;
5328 -webkit-mask-size: contain;
5329 mask-size: contain;
5330 vertical-align: middle;
5331 }
5332
5333 .ep-yt-playlist .ep-yt-icon--loop {
5334 -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='17 1 21 5 17 9'/><path d='M3 11V9a4 4 0 0 1 4-4h14'/><polyline points='7 23 3 19 7 15'/><path d='M21 13v2a4 4 0 0 1-4 4H3'/></svg>");
5335 mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='17 1 21 5 17 9'/><path d='M3 11V9a4 4 0 0 1 4-4h14'/><polyline points='7 23 3 19 7 15'/><path d='M21 13v2a4 4 0 0 1-4 4H3'/></svg>");
5336 }
5337
5338 .ep-yt-playlist .ep-yt-icon--shuffle {
5339 -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='16 3 21 3 21 8'/><line x1='4' y1='20' x2='21' y2='3'/><polyline points='21 16 21 21 16 21'/><line x1='15' y1='15' x2='21' y2='21'/><line x1='4' y1='4' x2='9' y2='9'/></svg>");
5340 mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='16 3 21 3 21 8'/><line x1='4' y1='20' x2='21' y2='3'/><polyline points='21 16 21 21 16 21'/><line x1='15' y1='15' x2='21' y2='21'/><line x1='4' y1='4' x2='9' y2='9'/></svg>");
5341 }
5342
5343 .ep-yt-playlist .ep-yt-icon--chev-left {
5344 -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>");
5345 mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>");
5346 }
5347
5348 .ep-yt-playlist .ep-yt-icon--chev-right {
5349 -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
5350 mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>");
5351 }
5352
5353 .ep-yt-playlist .ep-yt-icon--prev {
5354 -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='19 20 9 12 19 4 19 20'/><line x1='5' y1='19' x2='5' y2='5'/></svg>");
5355 mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='19 20 9 12 19 4 19 20'/><line x1='5' y1='19' x2='5' y2='5'/></svg>");
5356 }
5357
5358 .ep-yt-playlist .ep-yt-icon--next {
5359 -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='5 4 15 12 5 20 5 4'/><line x1='19' y1='5' x2='19' y2='19'/></svg>");
5360 mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='5 4 15 12 5 20 5 4'/><line x1='19' y1='5' x2='19' y2='19'/></svg>");
5361 }
5362
5363 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__items {
5364 padding: 6px 0;
5365 overflow-y: auto;
5366 overflow-x: hidden;
5367 flex: 1 1 auto;
5368 min-height: 0;
5369 scrollbar-width: thin;
5370 scrollbar-color: #4a4a4a transparent;
5371 }
5372
5373 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__items::-webkit-scrollbar {
5374 width: 8px;
5375 }
5376
5377 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__items::-webkit-scrollbar-track {
5378 background: transparent;
5379 }
5380
5381 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__items::-webkit-scrollbar-thumb {
5382 background: #4a4a4a;
5383 border-radius: 4px;
5384 }
5385
5386 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__items::-webkit-scrollbar-thumb:hover {
5387 background: #5e5e5e;
5388 }
5389
5390 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item {
5391 display: grid;
5392 grid-template-columns: 24px 92px 1fr;
5393 gap: 8px;
5394 padding: 6px 8px 6px 6px;
5395 cursor: pointer;
5396 align-items: center;
5397 transition: background .12s;
5398 }
5399
5400 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item:hover {
5401 background: rgba(255, 255, 255, .06);
5402 }
5403
5404 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item.is-active {
5405 background: rgba(255, 255, 255, .1);
5406 }
5407
5408 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item.is-active .ep-yt-queue__item-index {
5409 color: transparent;
5410 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23ff0000'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E");
5411 background-repeat: no-repeat;
5412 background-position: center;
5413 }
5414
5415 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item-index {
5416 text-align: center;
5417 color: var(--epyp-text-dim);
5418 font-size: 12px;
5419 line-height: 1;
5420 }
5421
5422 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item-thumb {
5423 width: 92px;
5424 height: 52px;
5425 object-fit: cover;
5426 border-radius: 4px;
5427 background-color: #000;
5428 }
5429
5430 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item-body {
5431 display: flex;
5432 flex-direction: column;
5433 gap: 2px;
5434 min-width: 0;
5435 overflow: hidden;
5436 }
5437
5438 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item-title {
5439 color: var(--epyp-text);
5440 font-size: 13px;
5441 font-weight: 500;
5442 line-height: 1.3;
5443 display: -webkit-box;
5444 -webkit-line-clamp: 2;
5445 -webkit-box-orient: vertical;
5446 overflow: hidden;
5447 word-break: break-word;
5448 }
5449
5450 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item-channel {
5451 color: var(--epyp-text-dim);
5452 font-size: 11px;
5453 line-height: 1.2;
5454 white-space: nowrap;
5455 overflow: hidden;
5456 text-overflow: ellipsis;
5457 }
5458
5459 .ep-yt-playlist .ep-yt-queue__loader,
5460 .ep-yt-playlist .ep-yt-theatre__loader {
5461 display: flex;
5462 align-items: center;
5463 justify-content: center;
5464 gap: 8px;
5465 padding: 14px;
5466 color: var(--epyp-text-dim);
5467 font-size: 12px;
5468 }
5469
5470 .ep-yt-playlist .ep-yt-queue__loader[hidden],
5471 .ep-yt-playlist .ep-yt-theatre__loader[hidden] {
5472 display: none;
5473 }
5474
5475 .ep-yt-playlist .ep-yt-queue__spinner,
5476 .ep-yt-playlist .ep-yt-theatre__spinner,
5477 .ep-yt-playlist .ep-yt-library__spinner,
5478 .ep-yt-playlist .ep-yt-spotlight__spinner,
5479 .ep-yt-playlist .ep-yt-cinema__spinner,
5480 .ep-yt-playlist .ep-yt-magazine__spinner {
5481 width: 14px;
5482 height: 14px;
5483 flex: 0 0 14px;
5484 box-sizing: border-box;
5485 border: 2px solid #4a4a4a;
5486 border-top-color: var(--epyp-text);
5487 border-radius: 50%;
5488 animation: ep-yt-playlist-spin .8s linear infinite;
5489 }
5490
5491 @keyframes ep-yt-playlist-spin {
5492 to {
5493 transform: rotate(360deg);
5494 }
5495 }
5496
5497 @media (max-width: 768px) {
5498 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue {
5499 --epq-h: auto;
5500 flex-direction: column;
5501 height: auto;
5502 }
5503
5504 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__player {
5505 aspect-ratio: 16/9;
5506 height: auto;
5507 flex: 0 0 auto;
5508 }
5509
5510 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__list {
5511 flex: 0 0 auto;
5512 border-left: 0;
5513 border-top: 1px solid var(--epyp-border);
5514 height: 360px;
5515 max-height: 360px;
5516 }
5517 }
5518
5519 /* === THEATRE LAYOUT =================================================== */
5520 /* Large player on top with title/meta strip, then a horizontal scrolling
5521 row of cards (prev/next arrows on each end). Visual reference: Netflix /
5522 YouTube channel "Up Next" row. */
5523 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre {
5524 display: flex;
5525 flex-direction: column;
5526 }
5527
5528 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__player {
5529 position: relative;
5530 aspect-ratio: 16 / 9;
5531 width: 100%;
5532 background: #000;
5533 }
5534
5535 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__iframe {
5536 position: absolute;
5537 inset: 0;
5538 width: 100% !important;
5539 height: 100% !important;
5540 border: 0;
5541 max-width: 100% !important;
5542 max-height: 100% !important;
5543 }
5544
5545 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__meta {
5546 padding: 14px 18px;
5547 background: var(--epyp-surface-2);
5548 border-bottom: 1px solid var(--epyp-border);
5549 }
5550
5551 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__title {
5552 display: inline-flex;
5553 align-items: center;
5554 gap: 8px;
5555 font-size: 17px;
5556 font-weight: 600;
5557 color: var(--epyp-text);
5558 margin: 0;
5559 word-break: break-word;
5560 }
5561
5562 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__title:hover {
5563 text-decoration: underline;
5564 }
5565
5566 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__playicon {
5567 color: var(--epyp-accent);
5568 font-size: 14px;
5569 line-height: 1;
5570 }
5571
5572 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__sub {
5573 display: flex;
5574 align-items: center;
5575 gap: 8px;
5576 margin-top: 6px;
5577 font-size: 13px;
5578 color: var(--epyp-text-dim);
5579 }
5580
5581 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__sep {
5582 opacity: .6;
5583 }
5584
5585 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__position-current {
5586 color: #fff;
5587 font-weight: 500;
5588 }
5589
5590 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__controls {
5591 display: inline-flex;
5592 align-items: center;
5593 gap: 4px;
5594 margin-left: auto;
5595 }
5596
5597 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__controls button {
5598 background: transparent;
5599 border: 0;
5600 color: var(--epyp-text-dim);
5601 width: 28px;
5602 height: 28px;
5603 display: inline-flex;
5604 align-items: center;
5605 justify-content: center;
5606 border-radius: 50%;
5607 padding: 0;
5608 transition: background .15s, color .15s;
5609 }
5610
5611 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__controls button:hover {
5612 background: rgba(255, 255, 255, .08);
5613 color: #fff;
5614 }
5615
5616 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__controls button[aria-pressed="true"] {
5617 color: var(--epyp-focus);
5618 background: rgba(62, 166, 255, .12);
5619 }
5620
5621 .ep-yt-playlist .ep-yt-theatre__icon {
5622 width: 16px;
5623 height: 16px;
5624 stroke-width: 2;
5625 }
5626
5627 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__strip-wrap {
5628 position: relative;
5629 padding: 14px 8px;
5630 background: var(--epyp-bg);
5631 /* Clamp wrap to the playlist container width — without min-width:0 the
5632 flex-overflowing strip can push the parent grid wider on each item
5633 append, making infinite-scroll grow the page. */
5634 min-width: 0;
5635 width: 100%;
5636 max-width: 100%;
5637 box-sizing: border-box;
5638 overflow: hidden;
5639 }
5640
5641 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre {
5642 /* Same defense on the layout's own column: a flex item with intrinsic
5643 cards needs min-width:0 so it doesn't expand its container. */
5644 min-width: 0;
5645 width: 100%;
5646 overflow: hidden;
5647 }
5648
5649 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__strip {
5650 display: flex;
5651 gap: 12px;
5652 overflow-x: auto;
5653 overflow-y: hidden;
5654 scroll-snap-type: x mandatory;
5655 scroll-behavior: smooth;
5656 padding: 2px 6px;
5657 scrollbar-width: thin;
5658 scrollbar-color: #4a4a4a transparent;
5659 }
5660
5661 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__strip::-webkit-scrollbar {
5662 height: 8px;
5663 }
5664
5665 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__strip::-webkit-scrollbar-track {
5666 background: transparent;
5667 }
5668
5669 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__strip::-webkit-scrollbar-thumb {
5670 background: #4a4a4a;
5671 border-radius: 4px;
5672 }
5673
5674 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card {
5675 flex: 0 0 168px;
5676 display: flex;
5677 flex-direction: column;
5678 gap: 6px;
5679 scroll-snap-align: start;
5680 cursor: pointer;
5681 padding: 4px;
5682 border-radius: var(--epyp-radius-sm);
5683 transition: background .12s, transform .12s;
5684 }
5685
5686 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card:hover {
5687 background: rgba(255, 255, 255, .05);
5688 }
5689
5690 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card.is-active {
5691 background: rgba(255, 255, 255, .1);
5692 }
5693
5694 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card-thumb-wrap {
5695 position: relative;
5696 aspect-ratio: 16 / 9;
5697 border-radius: var(--epyp-radius-sm);
5698 overflow: hidden;
5699 background: #000;
5700 }
5701
5702 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card-thumb {
5703 width: 100%;
5704 height: 100%;
5705 object-fit: cover;
5706 }
5707
5708 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card-num {
5709 position: absolute;
5710 top: 4px;
5711 left: 4px;
5712 background: rgba(0, 0, 0, .78);
5713 color: #fff;
5714 font-size: 11px;
5715 font-weight: 600;
5716 padding: 2px 6px;
5717 border-radius: 4px;
5718 min-width: 22px;
5719 text-align: center;
5720 }
5721
5722 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card.is-active .ep-yt-theatre__card-num {
5723 background: var(--epyp-accent);
5724 }
5725
5726 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card-title {
5727 display: -webkit-box;
5728 -webkit-line-clamp: 2;
5729 -webkit-box-orient: vertical;
5730 overflow: hidden;
5731 font-size: 13px;
5732 font-weight: 500;
5733 color: var(--epyp-text);
5734 line-height: 1.3;
5735 word-break: break-word;
5736 }
5737
5738 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card-channel {
5739 font-size: 11px;
5740 color: var(--epyp-text-dim);
5741 white-space: nowrap;
5742 overflow: hidden;
5743 text-overflow: ellipsis;
5744 }
5745
5746 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__nav {
5747 position: absolute;
5748 top: 50%;
5749 transform: translateY(-50%);
5750 background: rgba(0, 0, 0, .7);
5751 color: #fff;
5752 border: 0;
5753 width: 36px;
5754 height: 36px;
5755 border-radius: 50%;
5756 display: inline-flex;
5757 align-items: center;
5758 justify-content: center;
5759 padding: 0;
5760 z-index: 2;
5761 transition: background .15s, opacity .15s;
5762 }
5763
5764 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__nav:hover {
5765 background: rgba(0, 0, 0, .85);
5766 }
5767
5768 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__nav--prev {
5769 left: 8px;
5770 }
5771
5772 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__nav--next {
5773 right: 8px;
5774 }
5775
5776 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__nav[hidden] {
5777 display: none;
5778 }
5779
5780 @media (max-width: 600px) {
5781 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__meta {
5782 padding: 10px 14px;
5783 }
5784
5785 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__title {
5786 font-size: 15px;
5787 }
5788
5789 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card {
5790 flex: 0 0 132px;
5791 }
5792
5793 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__nav {
5794 width: 30px;
5795 height: 30px;
5796 }
5797 }
5798
5799 /* ============================================================
5800 * Pro playlist layouts (library / spotlight / cinema / magazine)
5801 * All scoped under .ep-yt-playlist so they share the queue/theatre
5802 * dark-frame look without leaking into other plugins. JS contract
5803 * for selectors lives in static/js/ep-yt-queue.js (SELECTORS table).
5804 * ============================================================ */
5805
5806 /* Stronger reset across ALL playlist layouts. The `.ep-yt-playlist *`
5807 * `all: revert` rule above resets to UA defaults — but themes commonly
5808 * target `.entry-content h2`, `.entry-content p`, `.wp-block-post-content a`
5809 * (specificity 0,2,1), and a `.ep-yt-playlist *` selector is only 0,1,1,
5810 * so theme rules re-leak into our shells.
5811 *
5812 * Fix: use `[data-layout]` (always present on our wrapper) + `:is()` to
5813 * lift the reset to specificity 0,3,1 — beats every typical theme rule
5814 * (`.entry-content h2`, `.wp-block-post-content a`, etc.). No `!important`
5815 * needed: our per-layout styling rules below also live under `[data-layout=...]`
5816 * so they win cleanly. */
5817 .ep-yt-playlist[data-layout][data-playlist-id] :is(h1, h2, h3, h4, h5, h6, p, a, button, ol, ul, li, span, article, aside, header, footer, section, div) {
5818 margin: 0;
5819 padding: 0;
5820 color: inherit;
5821 font: inherit;
5822 line-height: inherit;
5823 text-decoration: none;
5824 background: none;
5825 border: 0;
5826 text-shadow: none;
5827 list-style: none;
5828 text-transform: none;
5829 letter-spacing: normal;
5830 font-weight: inherit;
5831 font-style: normal;
5832 text-align: left;
5833 box-shadow: none;
5834 }
5835
5836 .ep-yt-playlist[data-layout][data-playlist-id] :is(img) {
5837 max-width: 100%;
5838 height: auto;
5839 border: 0;
5840 border-radius: 0;
5841 box-shadow: none;
5842 display: block;
5843 margin: 0;
5844 filter: none;
5845 }
5846
5847 /* Browser default `[hidden]` is `display:none`, but the per-layout
5848 * loader rules below set display:flex/block which wins on specificity.
5849 * Restore the hide here so loaders only show during fetch. Same for
5850 * the library modal which is shown via .hidden attribute toggling. */
5851 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__loader[hidden],
5852 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__loader[hidden],
5853 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__loader[hidden],
5854 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__loader[hidden],
5855 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__modal[hidden] {
5856 display: none !important;
5857 }
5858
5859 /* Loader should NOT reflow the container when it appears — that makes the
5860 * embed visibly grow on every fetch. Float it over the bottom of the
5861 * scrolling list / grid / rail instead. Each loader's immediate parent
5862 * is made position:relative so this absolute anchor resolves there. */
5863 .ep-yt-playlist .ep-yt-queue__loader,
5864 .ep-yt-playlist .ep-yt-theatre__loader,
5865 .ep-yt-playlist .ep-yt-library__loader,
5866 .ep-yt-playlist .ep-yt-spotlight__loader,
5867 .ep-yt-playlist .ep-yt-cinema__loader,
5868 .ep-yt-playlist .ep-yt-magazine__loader {
5869 position: absolute;
5870 left: 0;
5871 right: 0;
5872 bottom: 0;
5873 height: 36px;
5874 padding: 0;
5875 background: linear-gradient(to top, rgba(15, 15, 15, .95) 55%, rgba(15, 15, 15, 0));
5876 pointer-events: none;
5877 z-index: 2;
5878 display: flex;
5879 align-items: center;
5880 justify-content: center;
5881 gap: 8px;
5882 color: #aaa;
5883 font-size: 12px;
5884 }
5885
5886 /* The `[data-layout][data-playlist-id] :is(span,…) { font-size: inherit }`
5887 * reset inflates the loader's inner text span to the player's inherited size.
5888 * Pin it at matching specificity so "Loading more…" stays 12px. */
5889 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-queue__loader-text,
5890 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-theatre__loader-text,
5891 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-library__loader-text,
5892 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-spotlight__loader-text,
5893 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-cinema__loader-text,
5894 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-magazine__loader-text {
5895 font-size: 12px;
5896 line-height: 1;
5897 }
5898
5899 .ep-yt-playlist .ep-yt-queue__list,
5900 .ep-yt-playlist .ep-yt-theatre__strip-wrap,
5901 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library,
5902 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-wrap,
5903 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__overlay-inner,
5904 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-wrap {
5905 position: relative;
5906 }
5907
5908 /* Shared icon button — the queue/theatre __controls rules predate the
5909 * `.ep-yt-icon-btn` class and only style by descendant `button`. The 4
5910 * Pro layouts use the class, so define the look once for everything
5911 * carrying it. Browser default `<button>` chrome would otherwise leak
5912 * through (gray fill, border, beige hover) and clash with the dark theme. */
5913 .ep-yt-playlist .ep-yt-icon-btn {
5914 background: transparent;
5915 border: 0;
5916 color: #aaa;
5917 width: 30px;
5918 height: 30px;
5919 padding: 0;
5920 display: inline-flex;
5921 align-items: center;
5922 justify-content: center;
5923 border-radius: 50%;
5924 cursor: pointer;
5925 transition: background .15s, color .15s;
5926 font: inherit;
5927 line-height: 1;
5928 }
5929
5930 .ep-yt-playlist .ep-yt-icon-btn:hover {
5931 background: rgba(255, 255, 255, .1);
5932 color: #fff;
5933 }
5934
5935 .ep-yt-playlist .ep-yt-icon-btn[aria-pressed="true"] {
5936 color: #3ea6ff;
5937 background: rgba(62, 166, 255, .15);
5938 }
5939
5940 /* Cinema's "Queue" / library's "Close (×)" want auto width + padding. */
5941 .ep-yt-playlist .ep-yt-cinema__open-queue,
5942 .ep-yt-playlist .ep-yt-cinema__close-queue,
5943 .ep-yt-playlist .ep-yt-library__modal-close {
5944 width: auto;
5945 min-width: 30px;
5946 padding: 0 10px;
5947 border-radius: 4px;
5948 font-size: 13px;
5949 color: #fff;
5950 }
5951
5952 /* Cinema "Queue" — icon + label pill, sized to match the round icon buttons.
5953 * Scoped with the layout attributes so font-size beats the
5954 * `[data-layout][data-playlist-id] :is(button,…) { font-size: inherit }` reset,
5955 * which would otherwise inflate the label to the player's inherited size. */
5956 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-cinema__open-queue {
5957 gap: 6px;
5958 height: 30px;
5959 padding: 0 12px;
5960 border-radius: 15px;
5961 font-size: 13px;
5962 line-height: 1;
5963 font-weight: 500;
5964 white-space: nowrap;
5965 }
5966
5967 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-cinema__open-queue-label {
5968 font-size: 13px;
5969 line-height: 1;
5970 }
5971
5972 /* The `[data-layout][data-playlist-id] :is(span,…)` reset forces
5973 * background-color:initial on icon spans, which beats `.ep-yt-icon`'s
5974 * currentColor (the mask then reveals nothing). Re-assert the icon fill at
5975 * matching specificity so the masked glyph is visible. */
5976 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-icon {
5977 background-color: currentColor;
5978 }
5979
5980 .ep-yt-playlist .ep-yt-cinema__open-queue .ep-yt-icon {
5981 width: 16px;
5982 height: 16px;
5983 flex: 0 0 16px;
5984 }
5985
5986 .ep-yt-playlist .ep-yt-icon--queue {
5987 -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%23000%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cline%20x1%3D%273%27%20y1%3D%276%27%20x2%3D%2716%27%20y2%3D%276%27/%3E%3Cline%20x1%3D%273%27%20y1%3D%2712%27%20x2%3D%2716%27%20y2%3D%2712%27/%3E%3Cline%20x1%3D%273%27%20y1%3D%2718%27%20x2%3D%2710%27%20y2%3D%2718%27/%3E%3Cpolygon%20points%3D%2716%2016%2022%2019%2016%2022%2016%2016%27/%3E%3C/svg%3E");
5988 mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%23000%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cline%20x1%3D%273%27%20y1%3D%276%27%20x2%3D%2716%27%20y2%3D%276%27/%3E%3Cline%20x1%3D%273%27%20y1%3D%2712%27%20x2%3D%2716%27%20y2%3D%2712%27/%3E%3Cline%20x1%3D%273%27%20y1%3D%2718%27%20x2%3D%2710%27%20y2%3D%2718%27/%3E%3Cpolygon%20points%3D%2716%2016%2022%2019%2016%2022%2016%2016%27/%3E%3C/svg%3E");
5989 }
5990
5991 .ep-yt-playlist .ep-yt-library__modal-close {
5992 font-size: 28px;
5993 padding: 0 8px;
5994 }
5995
5996 /* ---- Library --------------------------------------------- */
5997 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library {
5998 display: flex;
5999 flex-direction: column;
6000 gap: 0;
6001 background: #0f0f0f;
6002 color: #f1f1f1;
6003 border-radius: 12px;
6004 overflow: hidden;
6005 font-family: Roboto, "Segoe UI", system-ui, -apple-system, sans-serif;
6006 }
6007
6008 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__header {
6009 display: flex;
6010 justify-content: space-between;
6011 align-items: center;
6012 gap: 16px;
6013 padding: 14px 18px;
6014 border-bottom: 1px solid #2a2a2a;
6015 }
6016
6017 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__title {
6018 color: #fff;
6019 text-decoration: none;
6020 font-weight: 600;
6021 font-size: 16px;
6022 overflow: hidden;
6023 text-overflow: ellipsis;
6024 white-space: nowrap;
6025 max-width: 70%;
6026 }
6027
6028 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__title:hover {
6029 color: #fff;
6030 text-decoration: underline;
6031 }
6032
6033 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__meta {
6034 color: #aaa;
6035 font-size: 13px;
6036 display: flex;
6037 gap: 6px;
6038 align-items: center;
6039 }
6040
6041 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__sep {
6042 color: #555;
6043 }
6044
6045 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__grid {
6046 display: grid;
6047 grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
6048 gap: 16px;
6049 padding: 16px;
6050 max-height: 640px;
6051 overflow-y: auto;
6052 }
6053
6054 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__grid::-webkit-scrollbar {
6055 width: 8px;
6056 }
6057
6058 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__grid::-webkit-scrollbar-thumb {
6059 background: #4a4a4a;
6060 border-radius: 4px;
6061 }
6062
6063 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card {
6064 all: unset;
6065 display: flex;
6066 flex-direction: column;
6067 gap: 6px;
6068 cursor: pointer;
6069 background: #181818;
6070 border-radius: 10px;
6071 padding: 8px;
6072 transition: background .15s ease;
6073 color: #f1f1f1;
6074 }
6075
6076 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card:hover {
6077 background: #242424;
6078 }
6079
6080 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card.is-active {
6081 background: #2d2d2d;
6082 outline: 2px solid #3ea6ff;
6083 outline-offset: -2px;
6084 }
6085
6086 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card-thumb-wrap {
6087 position: relative;
6088 width: 100%;
6089 aspect-ratio: 16/9;
6090 border-radius: 8px;
6091 overflow: hidden;
6092 background: #000;
6093 }
6094
6095 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card-thumb {
6096 width: 100%;
6097 height: 100%;
6098 object-fit: cover;
6099 display: block;
6100 }
6101
6102 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card-play {
6103 position: absolute;
6104 inset: 0;
6105 display: flex;
6106 align-items: center;
6107 justify-content: center;
6108 color: #fff;
6109 font-size: 28px;
6110 opacity: 0;
6111 transition: opacity .15s ease;
6112 background: rgba(0, 0, 0, .35);
6113 }
6114
6115 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card:hover .ep-yt-library__card-play {
6116 opacity: 1;
6117 }
6118
6119 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card-title {
6120 font-size: 14px;
6121 font-weight: 500;
6122 color: #fff;
6123 line-height: 1.35;
6124 display: -webkit-box;
6125 -webkit-line-clamp: 2;
6126 -webkit-box-orient: vertical;
6127 overflow: hidden;
6128 }
6129
6130 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card-channel {
6131 font-size: 12px;
6132 color: #aaa;
6133 }
6134
6135 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__loader {
6136 padding: 16px;
6137 text-align: center;
6138 color: #aaa;
6139 }
6140
6141 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__modal {
6142 position: fixed;
6143 inset: 0;
6144 background: rgba(0, 0, 0, .85);
6145 z-index: 99999;
6146 display: flex;
6147 align-items: center;
6148 justify-content: center;
6149 padding: 20px;
6150 }
6151
6152 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__modal[hidden] {
6153 display: none;
6154 }
6155
6156 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__modal-inner {
6157 position: relative;
6158 width: min(1000px, 100%);
6159 aspect-ratio: 16/9;
6160 background: #000;
6161 border-radius: 8px;
6162 overflow: hidden;
6163 }
6164
6165 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__modal-iframe {
6166 width: 100%;
6167 height: 100%;
6168 border: 0;
6169 display: block;
6170 }
6171
6172 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__modal-close {
6173 position: absolute;
6174 top: -40px;
6175 right: 0;
6176 font-size: 32px;
6177 }
6178
6179 /* ---- Spotlight ------------------------------------------- */
6180 /* Stage on top (player + hero text), rail of cards below.
6181 * Single-column at every width so it never crams a rail next to a
6182 * 16:9 player in a constrained post-content column. */
6183 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight {
6184 display: flex;
6185 flex-direction: column;
6186 gap: 0;
6187 background: #0f0f0f;
6188 color: #f1f1f1;
6189 border-radius: 12px;
6190 overflow: hidden;
6191 font-family: Roboto, "Segoe UI", system-ui, -apple-system, sans-serif;
6192 }
6193
6194 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__stage {
6195 display: flex;
6196 flex-direction: column;
6197 min-width: 0;
6198 }
6199
6200 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__player {
6201 position: relative;
6202 aspect-ratio: 16/9;
6203 background: #000;
6204 }
6205
6206 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__iframe {
6207 position: absolute;
6208 inset: 0;
6209 width: 100%;
6210 height: 100%;
6211 border: 0;
6212 display: block;
6213 }
6214
6215 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__hero {
6216 padding: 16px 20px;
6217 border-bottom: 1px solid #2a2a2a;
6218 }
6219
6220 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__hero-title {
6221 margin: 0 0 6px;
6222 color: #fff;
6223 font-size: 18px;
6224 font-weight: 600;
6225 line-height: 1.3;
6226 display: -webkit-box;
6227 -webkit-line-clamp: 2;
6228 -webkit-box-orient: vertical;
6229 overflow: hidden;
6230 }
6231
6232 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__hero-desc {
6233 margin: 0 0 10px;
6234 color: #aaa;
6235 font-size: 13px;
6236 line-height: 1.5;
6237 display: -webkit-box;
6238 -webkit-line-clamp: 3;
6239 -webkit-box-orient: vertical;
6240 overflow: hidden;
6241 }
6242
6243 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__hero-meta {
6244 display: flex;
6245 align-items: center;
6246 gap: 8px;
6247 color: #aaa;
6248 font-size: 13px;
6249 flex-wrap: wrap;
6250 }
6251
6252 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__sep {
6253 color: #555;
6254 }
6255
6256 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__controls {
6257 margin-left: auto;
6258 display: flex;
6259 gap: 4px;
6260 }
6261
6262 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-wrap {
6263 display: flex;
6264 flex-direction: column;
6265 background: #181818;
6266 min-height: 0;
6267 }
6268
6269 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-header {
6270 padding: 12px 14px;
6271 border-bottom: 1px solid #2a2a2a;
6272 }
6273
6274 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-title {
6275 color: #fff;
6276 text-decoration: none;
6277 font-weight: 600;
6278 font-size: 14px;
6279 }
6280
6281 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail {
6282 list-style: none;
6283 margin: 0;
6284 padding: 8px;
6285 overflow-y: auto;
6286 max-height: 360px;
6287 display: flex;
6288 flex-direction: column;
6289 gap: 4px;
6290 }
6291
6292 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail::-webkit-scrollbar {
6293 width: 8px;
6294 }
6295
6296 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail::-webkit-scrollbar-thumb {
6297 background: #4a4a4a;
6298 border-radius: 4px;
6299 }
6300
6301 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-card {
6302 display: grid;
6303 grid-template-columns: 120px 1fr;
6304 gap: 10px;
6305 padding: 8px;
6306 cursor: pointer;
6307 border-radius: 8px;
6308 transition: background .15s ease;
6309 }
6310
6311 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-card:hover {
6312 background: rgba(255, 255, 255, .05);
6313 }
6314
6315 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-card.is-active {
6316 background: rgba(255, 255, 255, .1);
6317 }
6318
6319 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-thumb-wrap {
6320 position: relative;
6321 width: 120px;
6322 aspect-ratio: 16/9;
6323 border-radius: 6px;
6324 overflow: hidden;
6325 background: #000;
6326 }
6327
6328 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-thumb {
6329 width: 100%;
6330 height: 100%;
6331 object-fit: cover;
6332 display: block;
6333 }
6334
6335 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-num {
6336 position: absolute;
6337 bottom: 4px;
6338 right: 4px;
6339 background: rgba(0, 0, 0, .8);
6340 color: #fff;
6341 font-size: 11px;
6342 padding: 1px 5px;
6343 border-radius: 2px;
6344 }
6345
6346 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-body {
6347 display: flex;
6348 flex-direction: column;
6349 gap: 4px;
6350 min-width: 0;
6351 }
6352
6353 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-card-title {
6354 color: #fff;
6355 font-size: 13px;
6356 font-weight: 500;
6357 line-height: 1.35;
6358 display: -webkit-box;
6359 -webkit-line-clamp: 2;
6360 -webkit-box-orient: vertical;
6361 overflow: hidden;
6362 }
6363
6364 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-card-channel {
6365 color: #aaa;
6366 font-size: 12px;
6367 }
6368
6369 /* ---- Cinema ---------------------------------------------- */
6370 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema {
6371 position: relative;
6372 background: #000;
6373 color: #f1f1f1;
6374 border-radius: 12px;
6375 overflow: hidden;
6376 font-family: Roboto, "Segoe UI", system-ui, -apple-system, sans-serif;
6377 }
6378
6379 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__player {
6380 position: relative;
6381 aspect-ratio: 16/9;
6382 background: #000;
6383 }
6384
6385 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__iframe {
6386 position: absolute;
6387 inset: 0;
6388 width: 100%;
6389 height: 100%;
6390 border: 0;
6391 display: block;
6392 }
6393
6394 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__bar {
6395 display: flex;
6396 align-items: center;
6397 gap: 12px;
6398 padding: 12px 16px;
6399 background: #0f0f0f;
6400 border-top: 1px solid #2a2a2a;
6401 flex-wrap: wrap;
6402 }
6403
6404 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__title {
6405 color: #fff;
6406 text-decoration: none;
6407 font-weight: 600;
6408 font-size: 15px;
6409 overflow: hidden;
6410 text-overflow: ellipsis;
6411 white-space: nowrap;
6412 max-width: 40%;
6413 }
6414
6415 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__sub {
6416 color: #aaa;
6417 font-size: 13px;
6418 display: flex;
6419 align-items: center;
6420 gap: 6px;
6421 }
6422
6423 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__sep {
6424 color: #555;
6425 }
6426
6427 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__controls {
6428 margin-left: auto;
6429 display: flex;
6430 gap: 4px;
6431 align-items: center;
6432 }
6433
6434 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__open-queue {
6435 background: rgba(255, 255, 255, .1);
6436 }
6437
6438 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__open-queue:hover {
6439 background: rgba(255, 255, 255, .2);
6440 }
6441
6442 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__overlay {
6443 position: absolute;
6444 top: 0;
6445 right: 0;
6446 bottom: 0;
6447 width: min(420px, 90%);
6448 background: rgba(15, 15, 15, .96);
6449 border-left: 1px solid #2a2a2a;
6450 transform: translateX(100%);
6451 transition: transform .25s ease;
6452 display: flex;
6453 flex-direction: column;
6454 z-index: 5;
6455 }
6456
6457 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__overlay.is-open {
6458 transform: translateX(0);
6459 }
6460
6461 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__overlay-inner {
6462 display: flex;
6463 flex-direction: column;
6464 height: 100%;
6465 min-height: 0;
6466 }
6467
6468 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__overlay-header {
6469 display: flex;
6470 align-items: center;
6471 justify-content: space-between;
6472 padding: 12px 14px;
6473 border-bottom: 1px solid #2a2a2a;
6474 }
6475
6476 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__overlay-title {
6477 color: #fff;
6478 font-weight: 600;
6479 font-size: 14px;
6480 }
6481
6482 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__close-queue {
6483 font-size: 24px;
6484 }
6485
6486 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__items {
6487 list-style: none;
6488 margin: 0;
6489 padding: 8px;
6490 overflow-y: auto;
6491 flex: 1;
6492 min-height: 0;
6493 display: flex;
6494 flex-direction: column;
6495 gap: 4px;
6496 }
6497
6498 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__items::-webkit-scrollbar {
6499 width: 8px;
6500 }
6501
6502 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__items::-webkit-scrollbar-thumb {
6503 background: #4a4a4a;
6504 border-radius: 4px;
6505 }
6506
6507 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item {
6508 display: grid;
6509 grid-template-columns: 28px 110px 1fr;
6510 gap: 8px;
6511 padding: 6px;
6512 align-items: center;
6513 cursor: pointer;
6514 border-radius: 6px;
6515 transition: background .15s ease;
6516 }
6517
6518 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item:hover {
6519 background: rgba(255, 255, 255, .05);
6520 }
6521
6522 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item.is-active {
6523 background: rgba(255, 255, 255, .1);
6524 }
6525
6526 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item-index {
6527 color: #aaa;
6528 font-size: 12px;
6529 text-align: center;
6530 }
6531
6532 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item-thumb {
6533 width: 110px;
6534 aspect-ratio: 16/9;
6535 object-fit: cover;
6536 border-radius: 4px;
6537 display: block;
6538 background: #000;
6539 }
6540
6541 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item-body {
6542 display: flex;
6543 flex-direction: column;
6544 gap: 2px;
6545 min-width: 0;
6546 }
6547
6548 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item-title {
6549 color: #fff;
6550 font-size: 13px;
6551 font-weight: 500;
6552 line-height: 1.35;
6553 display: -webkit-box;
6554 -webkit-line-clamp: 2;
6555 -webkit-box-orient: vertical;
6556 overflow: hidden;
6557 }
6558
6559 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item-channel {
6560 color: #aaa;
6561 font-size: 12px;
6562 }
6563
6564 /* ---- Magazine -------------------------------------------- */
6565 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine {
6566 background: #0f0f0f;
6567 color: #f1f1f1;
6568 border-radius: 12px;
6569 overflow: hidden;
6570 font-family: Georgia, "Times New Roman", serif;
6571 }
6572
6573 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero {
6574 display: flex;
6575 flex-direction: column;
6576 gap: 0;
6577 border-bottom: 1px solid #2a2a2a;
6578 }
6579
6580 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__player {
6581 position: relative;
6582 aspect-ratio: 16/9;
6583 background: #000;
6584 }
6585
6586 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__iframe {
6587 position: absolute;
6588 inset: 0;
6589 width: 100%;
6590 height: 100%;
6591 border: 0;
6592 display: block;
6593 }
6594
6595 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-body {
6596 padding: 24px 28px;
6597 display: flex;
6598 flex-direction: column;
6599 gap: 12px;
6600 }
6601
6602 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-eyebrow {
6603 color: #ff4040;
6604 text-decoration: none;
6605 text-transform: uppercase;
6606 letter-spacing: .1em;
6607 font-size: 12px;
6608 font-weight: 700;
6609 font-family: Roboto, sans-serif;
6610 }
6611
6612 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-title {
6613 margin: 0;
6614 color: #fff;
6615 font-size: 26px;
6616 font-weight: 700;
6617 line-height: 1.2;
6618 }
6619
6620 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-desc {
6621 margin: 0;
6622 color: #ccc;
6623 font-size: 15px;
6624 line-height: 1.6;
6625 max-height: 4.8em;
6626 overflow: hidden;
6627 transition: max-height .25s ease;
6628 }
6629
6630 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-desc.is-expanded {
6631 max-height: 40em;
6632 }
6633
6634 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__readmore {
6635 align-self: flex-start;
6636 background: transparent;
6637 border: 0;
6638 color: #3ea6ff;
6639 cursor: pointer;
6640 padding: 0;
6641 font-size: 13px;
6642 font-family: Roboto, sans-serif;
6643 font-weight: 600;
6644 }
6645
6646 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__readmore:hover {
6647 text-decoration: underline;
6648 }
6649
6650 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-meta {
6651 display: flex;
6652 align-items: center;
6653 gap: 8px;
6654 color: #aaa;
6655 font-size: 13px;
6656 font-family: Roboto, sans-serif;
6657 flex-wrap: wrap;
6658 margin-top: auto;
6659 }
6660
6661 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__sep {
6662 color: #555;
6663 }
6664
6665 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__controls {
6666 margin-left: auto;
6667 display: flex;
6668 gap: 4px;
6669 }
6670
6671 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-wrap {
6672 padding: 16px 20px 20px;
6673 }
6674
6675 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-header {
6676 margin-bottom: 12px;
6677 }
6678
6679 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-label {
6680 color: #aaa;
6681 font-size: 12px;
6682 font-weight: 700;
6683 letter-spacing: .08em;
6684 text-transform: uppercase;
6685 font-family: Roboto, sans-serif;
6686 }
6687
6688 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail {
6689 list-style: none;
6690 margin: 0;
6691 padding: 4px 0;
6692 display: flex;
6693 gap: 14px;
6694 overflow-x: auto;
6695 scroll-snap-type: x mandatory;
6696 }
6697
6698 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail::-webkit-scrollbar {
6699 height: 8px;
6700 }
6701
6702 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail::-webkit-scrollbar-thumb {
6703 background: #4a4a4a;
6704 border-radius: 4px;
6705 }
6706
6707 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-item {
6708 flex: 0 0 220px;
6709 scroll-snap-align: start;
6710 cursor: pointer;
6711 display: flex;
6712 flex-direction: column;
6713 gap: 8px;
6714 padding: 6px;
6715 border-radius: 8px;
6716 transition: background .15s ease;
6717 font-family: Roboto, sans-serif;
6718 }
6719
6720 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-item:hover {
6721 background: rgba(255, 255, 255, .05);
6722 }
6723
6724 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-item.is-active {
6725 background: rgba(255, 255, 255, .1);
6726 }
6727
6728 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-thumb-wrap {
6729 width: 100%;
6730 aspect-ratio: 16/9;
6731 border-radius: 6px;
6732 overflow: hidden;
6733 background: #000;
6734 }
6735
6736 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-thumb {
6737 width: 100%;
6738 height: 100%;
6739 object-fit: cover;
6740 display: block;
6741 }
6742
6743 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-body {
6744 display: flex;
6745 flex-direction: column;
6746 gap: 4px;
6747 }
6748
6749 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-card-title {
6750 color: #fff;
6751 font-size: 14px;
6752 font-weight: 600;
6753 line-height: 1.35;
6754 display: -webkit-box;
6755 -webkit-line-clamp: 2;
6756 -webkit-box-orient: vertical;
6757 overflow: hidden;
6758 }
6759
6760 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-card-channel {
6761 color: #aaa;
6762 font-size: 12px;
6763 }
6764
6765 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__loader {
6766 font-family: Roboto, sans-serif;
6767 }
6768
6769 @media (max-width: 600px) {
6770 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-title {
6771 font-size: 20px;
6772 }
6773
6774 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-body {
6775 padding: 16px 16px;
6776 }
6777
6778 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-item {
6779 flex: 0 0 160px;
6780 }
6781 }