PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more / trunk
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more vtrunk
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 8 months ago admin-notices.css 2 months ago admin.build.css 2 months ago admin.css 7 months ago analytics.build.css 1 month ago blocks.build.css 1 week ago carousel.min.css 2 years ago custom-player.build.css 1 month ago el-icon.css 2 months ago embedpress-elementor.css 2 years ago embedpress.css 1 week ago ep-pdf-lightbox.css 2 months ago feature-notices.css 7 months ago font.css 7 years ago glider.min.css 2 years ago index.html 7 years ago instagram-shortcode-generator.css 1 month ago lazy-load.css 6 months ago meetup-events.css 7 months ago modal.css 8 months ago onboarding.build.css 2 months ago pdf-gallery.css 2 months ago plyr.css 9 months ago preview.css 6 years ago settings-icons.css 9 months ago settings.css 1 month ago
embedpress.css
6779 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 z-index: 1000;
4121 transition: 0.5s ease;
4122
4123 }
4124
4125 .popup-overlay .popup {
4126 position: relative;
4127 max-width: 100%;
4128 max-height: 100%;
4129 width: 100%;
4130 height: 100%;
4131 background-color: transparent;
4132 display: flex !important;
4133 justify-content: center;
4134 align-items: center;
4135 color: black;
4136 }
4137
4138 .popup-overlay .close-btn {
4139 position: absolute;
4140 top: 10px;
4141 right: 10px;
4142 color: white;
4143 font-size: 30px;
4144 cursor: pointer;
4145 width: 40px;
4146 height: 40px;
4147 display: flex;
4148 align-items: center;
4149 justify-content: center;
4150 background: #0a0a0a;
4151 border-radius: 50%;
4152 }
4153
4154 .popup-overlay .prev-btn,
4155 .popup-overlay .next-btn {
4156 position: absolute;
4157 top: 50%;
4158 transform: translateY(-50%);
4159 font-size: 30px;
4160 background-color: rgba(0, 0, 0, 0.5);
4161 color: white;
4162 border: none;
4163 padding: 10px;
4164 cursor: pointer;
4165 z-index: 10;
4166 opacity: 0;
4167 visibility: hidden;
4168 transition: 0.2s;
4169 display: flex;
4170 }
4171
4172 .popup-overlay:hover .prev-btn, .popup-overlay:hover .next-btn {
4173 opacity: 1;
4174 visibility: visible;
4175
4176 }
4177
4178 .popup-overlay .prev-btn {
4179 left: 10px;
4180 }
4181
4182 .popup-overlay .next-btn {
4183 right: 10px;
4184 }
4185
4186 .popup-overlay img#popup-image {
4187 width: 100%;
4188 height: auto;
4189 max-height: 100vh;
4190 }
4191
4192 .popup-overlay .prev-btn:hover,
4193 .popup-overlay .next-btn:hover {
4194 background-color: rgba(0, 0, 0, 0.8);
4195 }
4196
4197
4198 @media (max-width: 1024px) {
4199
4200 .photos-gallery-grid .photo-item {
4201 width: 100%;
4202 height: 150px !important;
4203 }
4204
4205
4206 /* masonary */
4207
4208 .photos-gallery-masonary {
4209 columns: 200px !important;
4210 }
4211
4212 /* grid */
4213
4214
4215 .photos-gallery-grid {
4216 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
4217 }
4218
4219 }
4220
4221 .ose-codesandbox .embera-embed-responsive.embera-embed-responsive-rich.embera-embed-responsive-provider-codesandbox {
4222 width: 100%;
4223 height: 100%;
4224 }
4225
4226 .ose-codesandbox .embera-embed-responsive.embera-embed-responsive-rich.embera-embed-responsive-provider-codesandbox iframe {
4227 width: 100%;
4228 height: 100%;
4229 }
4230
4231
4232 @media (max-width: 767px) {
4233
4234 .popup-overlay .prev-btn,
4235 .popup-overlay .next-btn {
4236 font-size: 20px;
4237 padding: 5px;
4238 }
4239 }
4240
4241 .getty div:last-child {
4242 padding: 0 !important;
4243 height: 100% !important;
4244 max-height: 100% !important;
4245 }
4246
4247
4248
4249 /* .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 {
4250 position: relative;
4251 width: 100%;
4252 overflow: hidden;
4253 display: flex;
4254 justify-content: center;
4255 max-width: fit-content!important;
4256 } */
4257 /* Auto Resume Playback prompt */
4258 .ep-embed-content-wraper {
4259 position: relative;
4260 }
4261
4262 .ep-resume-prompt {
4263 position: absolute;
4264 inset: 0;
4265 background: rgba(0, 0, 0, 0.65);
4266 display: flex;
4267 align-items: center;
4268 justify-content: center;
4269 z-index: 10;
4270 color: #fff;
4271 font-family: inherit;
4272 }
4273
4274 .ep-resume-prompt__inner {
4275 background: rgba(20, 20, 20, 0.95);
4276 padding: 24px 28px;
4277 border-radius: 8px;
4278 text-align: center;
4279 max-width: 90%;
4280 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
4281 }
4282
4283 .ep-resume-prompt__msg {
4284 margin: 0 0 16px;
4285 font-size: 16px;
4286 line-height: 1.4;
4287 }
4288
4289 .ep-resume-prompt__actions {
4290 display: flex;
4291 gap: 10px;
4292 justify-content: center;
4293 flex-wrap: wrap;
4294 }
4295
4296 .ep-resume-prompt__btn {
4297 padding: 8px 16px;
4298 border-radius: 4px;
4299 border: 1px solid rgba(255, 255, 255, 0.4);
4300 background: transparent;
4301 color: #fff;
4302 font-size: 14px;
4303 cursor: pointer;
4304 transition: background 0.15s ease;
4305 }
4306
4307 .ep-resume-prompt__btn:hover {
4308 background: rgba(255, 255, 255, 0.12);
4309 }
4310
4311 .ep-resume-prompt__btn--primary {
4312 background: var(--plyr-color-main, #5b4e96);
4313 border-color: var(--plyr-color-main, #5b4e96);
4314 }
4315
4316 .ep-resume-prompt__btn--primary:hover {
4317 filter: brightness(1.15);
4318 }
4319
4320 /* Custom End Screen */
4321 .ep-end-screen {
4322 position: absolute;
4323 inset: 0;
4324 background: rgba(0, 0, 0, 0.85);
4325 display: flex;
4326 align-items: center;
4327 justify-content: center;
4328 z-index: 10;
4329 color: #fff;
4330 font-family: inherit;
4331 text-align: center;
4332 }
4333
4334 .ep-end-screen__inner {
4335 padding: 24px 28px;
4336 max-width: 90%;
4337 }
4338
4339 .ep-end-screen__msg {
4340 margin: 0 0 16px;
4341 font-size: 18px;
4342 line-height: 1.4;
4343 }
4344
4345 .ep-end-screen__countdown {
4346 margin: 12px 0 0;
4347 font-size: 13px;
4348 opacity: 0.8;
4349 }
4350
4351 .ep-end-screen__actions {
4352 display: flex;
4353 gap: 10px;
4354 justify-content: center;
4355 flex-wrap: wrap;
4356 margin-top: 14px;
4357 }
4358
4359 .ep-end-screen__btn,
4360 a.ep-end-screen__btn,
4361 a.ep-end-screen__btn:hover,
4362 a.ep-end-screen__btn:focus,
4363 a.ep-end-screen__btn:visited {
4364 display: inline-block;
4365 padding: 8px 16px;
4366 border-radius: 4px;
4367 border: 1px solid rgba(255, 255, 255, 0.4);
4368 background: transparent;
4369 color: #fff;
4370 font-size: 14px;
4371 cursor: pointer;
4372 text-decoration: none;
4373 border-bottom: 1px solid rgba(255, 255, 255, 0.4);
4374 transition: background 0.15s ease;
4375 }
4376
4377 .ep-end-screen__btn:hover {
4378 background: rgba(255, 255, 255, 0.12);
4379 color: #fff;
4380 }
4381
4382 /* Primary CTA — match the `a.ep-end-screen__btn` specificity from above so
4383 * the modifier actually wins on background / border-color when rendered as
4384 * an <a>. Without these `a.` selectors, theme-link rules + the base `a.`
4385 * selector list above out-specifies the modifier and the primary button
4386 * looks identical to the secondary Replay/Cancel buttons. */
4387 .ep-end-screen__btn--primary,
4388 a.ep-end-screen__btn--primary,
4389 a.ep-end-screen__btn--primary:hover,
4390 a.ep-end-screen__btn--primary:focus,
4391 a.ep-end-screen__btn--primary:visited {
4392 background: var(--plyr-color-main, #5b4e96);
4393 border-color: var(--plyr-color-main, #5b4e96);
4394 color: #fff;
4395 margin-bottom: 4px;
4396 }
4397
4398 .ep-end-screen__btn--primary:hover,
4399 a.ep-end-screen__btn--primary:hover {
4400 filter: brightness(1.15);
4401 background: var(--plyr-color-main, #5b4e96);
4402 }
4403
4404 /* Advanced Privacy Mode click-to-load overlay */
4405 .ep-embed-content-wraper.ep-privacy-pending iframe {
4406 visibility: hidden;
4407 }
4408
4409 .ep-privacy-overlay {
4410 position: absolute;
4411 inset: 0;
4412 z-index: 11;
4413 background: #000 center/cover no-repeat;
4414 color: #fff;
4415 cursor: pointer;
4416 display: flex;
4417 flex-direction: column;
4418 align-items: center;
4419 justify-content: center;
4420 text-align: center;
4421 padding: 16px;
4422 }
4423
4424 .ep-privacy-overlay--has-poster::before {
4425 content: '';
4426 position: absolute;
4427 inset: 0;
4428 background: rgba(0, 0, 0, 0.35);
4429 }
4430
4431 .ep-privacy-overlay__play,
4432 .ep-privacy-overlay__play:hover,
4433 .ep-privacy-overlay__play:focus,
4434 .ep-privacy-overlay__play:active {
4435 position: relative;
4436 background: transparent;
4437 border: 0;
4438 box-shadow: none;
4439 outline: none;
4440 padding: 0;
4441 cursor: pointer;
4442 line-height: 0;
4443 transition: transform 0.15s ease;
4444 }
4445
4446 .ep-privacy-overlay__play:hover {
4447 transform: scale(1.06);
4448 background: transparent;
4449 }
4450
4451 .ep-privacy-overlay__msg {
4452 position: relative;
4453 margin: 14px 0 0;
4454 font-size: 13px;
4455 line-height: 1.4;
4456 max-width: 480px;
4457 opacity: 0.95;
4458 }
4459
4460 /* Timed CTA */
4461 .ep-timed-cta-stack {
4462 position: absolute;
4463 left: 50%;
4464 bottom: 60px;
4465 transform: translateX(-50%);
4466 z-index: 9;
4467 display: flex;
4468 flex-direction: column;
4469 gap: 8px;
4470 align-items: center;
4471 max-width: calc(100% - 32px);
4472 pointer-events: none;
4473 }
4474
4475 .ep-timed-cta {
4476 position: relative;
4477 background: rgba(20, 20, 20, 0.92);
4478 color: #fff;
4479 border-radius: 6px;
4480 padding: 12px 40px 12px 16px;
4481 box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
4482 max-width: 100%;
4483 font-family: inherit;
4484 pointer-events: auto;
4485 animation: ep-timed-cta-in 0.25s ease-out;
4486 }
4487
4488 @keyframes ep-timed-cta-in {
4489 from {
4490 opacity: 0;
4491 transform: translateY(8px);
4492 }
4493
4494 to {
4495 opacity: 1;
4496 transform: translateY(0);
4497 }
4498 }
4499
4500 .ep-timed-cta__inner {
4501 display: flex;
4502 flex-direction: column;
4503 gap: 10px;
4504 align-items: center;
4505 text-align: center;
4506 }
4507
4508 .ep-timed-cta__headline {
4509 margin: 0;
4510 font-size: 14px;
4511 line-height: 1.35;
4512 }
4513
4514 .ep-timed-cta__btn {
4515 display: inline-block;
4516 padding: 6px 14px;
4517 border-radius: 4px;
4518 background: var(--plyr-color-main, #5b4e96);
4519 color: #fff;
4520 font-size: 13px;
4521 text-decoration: none;
4522 transition: filter 0.15s ease;
4523 }
4524
4525 .ep-timed-cta__btn:hover {
4526 color: #fff;
4527 filter: brightness(1.15);
4528 }
4529
4530 .ep-timed-cta__close {
4531 position: absolute;
4532 top: 4px;
4533 right: 6px;
4534 background: transparent;
4535 border: 0;
4536 color: rgba(255, 255, 255, 0.7);
4537 font-size: 20px;
4538 line-height: 1;
4539 cursor: pointer;
4540 padding: 4px 8px;
4541 }
4542
4543 .ep-timed-cta__close:hover {
4544 color: #fff;
4545 }
4546
4547 /* Pro feature overlays (email capture, end screen, resume prompt, action lock,
4548 privacy mode, timed CTA, chapters) all use position:absolute;inset:0 and so
4549 need the wrapper to be a positioning context. Scope to wrappers that have
4550 the custom player attached so other embeds (PDF, audio, etc.) are unaffected. */
4551 .ep-embed-content-wraper[data-playerid] {
4552 position: relative;
4553 }
4554
4555 .ep-embed-content-wraper.ep-has-chapters {
4556 position: relative;
4557 }
4558
4559 .ep-chapter-label {
4560 position: absolute;
4561 top: 12px;
4562 left: 12px;
4563 z-index: 8;
4564 background: rgba(0, 0, 0, 0.6);
4565 color: #fff;
4566 border: 0;
4567 border-radius: 4px;
4568 padding: 6px 10px;
4569 font-size: 13px;
4570 cursor: pointer;
4571 display: inline-flex;
4572 align-items: center;
4573 gap: 6px;
4574 max-width: calc(100% - 24px);
4575 transition: opacity 0.2s ease;
4576 }
4577
4578 .ep-chapter-label--hidden {
4579 opacity: 0;
4580 pointer-events: none;
4581 }
4582
4583 .ep-chapter-label__title {
4584 overflow: hidden;
4585 text-overflow: ellipsis;
4586 white-space: nowrap;
4587 max-width: 220px;
4588 }
4589
4590 .ep-chapter-label__caret {
4591 font-size: 10px;
4592 opacity: 0.8;
4593 }
4594
4595 .ep-chapter-list {
4596 position: absolute;
4597 top: 50px;
4598 left: 12px;
4599 z-index: 9;
4600 background: rgba(20, 20, 20, 0.95);
4601 color: #fff;
4602 border-radius: 6px;
4603 width: 280px;
4604 max-width: calc(100% - 24px);
4605 max-height: 60%;
4606 overflow-y: auto;
4607 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
4608 display: none;
4609 }
4610
4611 .ep-chapter-list--open {
4612 display: block;
4613 }
4614
4615 .ep-chapter-list__item {
4616 width: 100%;
4617 background: transparent;
4618 border: 0;
4619 color: inherit;
4620 text-align: left;
4621 padding: 10px 14px;
4622 font-size: 13px;
4623 cursor: pointer;
4624 display: flex;
4625 gap: 10px;
4626 align-items: baseline;
4627 border-bottom: 1px solid rgba(255, 255, 255, 0.08);
4628 }
4629
4630 .ep-chapter-list__item:last-child {
4631 border-bottom: 0;
4632 }
4633
4634 .ep-chapter-list__item:hover {
4635 background: rgba(255, 255, 255, 0.08);
4636 }
4637
4638 .ep-chapter-list__item--active {
4639 background: rgba(255, 255, 255, 0.12);
4640 }
4641
4642 .ep-chapter-list__time {
4643 font-variant-numeric: tabular-nums;
4644 opacity: 0.7;
4645 flex-shrink: 0;
4646 min-width: 48px;
4647 }
4648
4649 .ep-chapter-ticks {
4650 position: absolute;
4651 inset: 0;
4652 pointer-events: none;
4653 overflow: visible;
4654 }
4655
4656 /* YouTube-style segmented progress bar (drawn by initplyr.js when chapters are configured). */
4657 .plyr__progress.ep-chapters-split input[type="range"] {
4658 /* Make Plyr's native track invisible so our segments are the only visible bar.
4659 The input itself stays interactive (seek + thumb). */
4660 color: transparent;
4661 background: transparent !important;
4662 }
4663
4664 .plyr__progress.ep-chapters-split input[type="range"]::-webkit-slider-runnable-track {
4665 background: transparent !important;
4666 }
4667
4668 .plyr__progress.ep-chapters-split input[type="range"]::-moz-range-track {
4669 background: transparent !important;
4670 }
4671
4672 .plyr__progress.ep-chapters-split input[type="range"]::-moz-range-progress {
4673 background: transparent !important;
4674 }
4675
4676 .plyr__progress.ep-chapters-split input[type="range"]::-ms-fill-lower {
4677 background: transparent !important;
4678 }
4679
4680 .plyr__progress.ep-chapters-split input[type="range"]::-ms-fill-upper {
4681 background: transparent !important;
4682 }
4683
4684 .plyr__progress.ep-chapters-split .plyr__progress__buffer {
4685 display: none;
4686 }
4687
4688 .ep-chapter-bar {
4689 position: absolute;
4690 inset: 0;
4691 pointer-events: none;
4692 z-index: 1;
4693 }
4694
4695 .ep-chapter-seg {
4696 position: absolute;
4697 top: 50%;
4698 transform: translateY(-50%);
4699 height: 5px;
4700 background: rgba(255, 255, 255, 0.28);
4701 border-radius: 2px;
4702 overflow: hidden;
4703 transition: height 0.12s ease-out, background 0.12s ease-out;
4704 }
4705
4706 .ep-chapter-seg__fill {
4707 height: 100%;
4708 width: 0%;
4709 /* Prefer --plyr-range-fill-background (we override it to white at the
4710 wrapper level so the fill stays visible on every preset/color combo).
4711 Fall through to --plyr-color-main and a sane default. Without this
4712 order, sites that set a playerColor get a fill that exactly matches
4713 the purple controls-bar background — fill becomes invisible. */
4714 background: var(--plyr-range-fill-background, var(--plyr-color-main, #5b4e96));
4715 border-radius: 2px;
4716 }
4717
4718 /* Grow all segments slightly when the user is interacting with the bar
4719 (YouTube does this — bar feels chunkier on hover). */
4720 .plyr__progress:hover .ep-chapter-seg,
4721 .plyr__progress:focus-within .ep-chapter-seg {
4722 height: 8px;
4723 }
4724
4725 /* The currently-hovered chapter brightens (no extra height — keeps the
4726 bar from looking taller than the volume slider). */
4727 .ep-chapter-seg--hover {
4728 background: rgba(255, 255, 255, 0.5);
4729 }
4730
4731 /* Chapter title appended inside Plyr's own seek tooltip on mousemove.
4732 Override Plyr's max-width:120px / nowrap so the title isn't clipped. */
4733 .ep-embed-content-wraper.ep-has-chapters .plyr__progress .plyr__tooltip {
4734 max-width: 240px;
4735 white-space: normal;
4736 text-align: center;
4737 }
4738
4739 .ep-chapter-tooltip-title {
4740 display: inline-block;
4741 margin-top: 2px;
4742 font-size: 11px;
4743 font-weight: 400;
4744 opacity: 0.85;
4745 max-width: 220px;
4746 overflow: hidden;
4747 text-overflow: ellipsis;
4748 white-space: nowrap;
4749 vertical-align: bottom;
4750 }
4751
4752 /* Email Capture */
4753 .ep-lead-form {
4754 position: absolute;
4755 inset: 0;
4756 background: rgba(0, 0, 0, 0.85);
4757 z-index: 12;
4758 display: flex;
4759 align-items: center;
4760 justify-content: center;
4761 padding: 16px;
4762 color: #fff;
4763 font-family: inherit;
4764 }
4765
4766 .ep-lead-form__inner {
4767 background: rgba(20, 20, 20, 0.97);
4768 border-radius: 8px;
4769 padding: 24px 28px;
4770 width: 100%;
4771 max-width: 380px;
4772 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
4773 }
4774
4775 .ep-lead-form__headline {
4776 margin: 0 0 16px;
4777 font-size: 16px;
4778 line-height: 1.4;
4779 text-align: center;
4780 }
4781
4782 .ep-lead-form__field {
4783 margin-bottom: 12px;
4784 text-align: left;
4785 }
4786
4787 .ep-lead-form__label {
4788 display: block;
4789 margin-bottom: 6px;
4790 font-size: 13px;
4791 font-weight: 500;
4792 color: rgba(255, 255, 255, 0.85);
4793 }
4794
4795 .ep-lead-form .ep-lead-form__input,
4796 .ep-lead-form input.ep-lead-form__input {
4797 display: block;
4798 width: 100%;
4799 padding: 10px 12px;
4800 margin-bottom: 0;
4801 border-radius: 4px;
4802 border: 1px solid rgba(255, 255, 255, 0.2);
4803 background: rgba(255, 255, 255, 0.08);
4804 color: #fff;
4805 font-size: 14px;
4806 box-sizing: border-box;
4807 -webkit-appearance: none;
4808 appearance: none;
4809 }
4810
4811 .ep-lead-form .ep-lead-form__input::placeholder {
4812 color: rgba(255, 255, 255, 0.6);
4813 opacity: 1;
4814 }
4815
4816 /* Gutenberg + Chrome autofill both repaint the input with their own light
4817 background (and dark text), which crushes the white placeholder we set
4818 above. Lock the colors so the placeholder stays visible in both. */
4819 .ep-lead-form .ep-lead-form__input:-webkit-autofill,
4820 .ep-lead-form .ep-lead-form__input:-webkit-autofill:hover,
4821 .ep-lead-form .ep-lead-form__input:-webkit-autofill:focus {
4822 -webkit-text-fill-color: #fff;
4823 -webkit-box-shadow: 0 0 0 1000px rgba(255, 255, 255, 0.08) inset;
4824 caret-color: #fff;
4825 transition: background-color 9999s ease-in-out 0s;
4826 }
4827
4828 .ep-lead-form__input:focus {
4829 outline: none;
4830 border-color: var(--plyr-color-main, #5b4e96);
4831 }
4832
4833 .ep-lead-form__error {
4834 margin: 4px 0 12px;
4835 color: #ff6b6b;
4836 font-size: 13px;
4837 }
4838
4839 .ep-lead-form__actions {
4840 display: flex;
4841 gap: 8px;
4842 margin-top: 14px;
4843 }
4844
4845 .ep-lead-form__btn {
4846 flex: 1;
4847 padding: 10px 16px;
4848 border-radius: 4px;
4849 border: 1px solid rgba(255, 255, 255, 0.3);
4850 background: transparent;
4851 color: #fff;
4852 font-size: 14px;
4853 cursor: pointer;
4854 transition: filter 0.15s ease, background 0.15s ease;
4855 }
4856
4857 .ep-lead-form__btn:hover {
4858 background: rgba(255, 255, 255, 0.12);
4859 }
4860
4861 .ep-lead-form__btn--primary {
4862 background: var(--plyr-color-main, #5b4e96);
4863 border-color: var(--plyr-color-main, #5b4e96);
4864 }
4865
4866 .ep-lead-form__btn--primary:hover {
4867 filter: brightness(1.15);
4868 }
4869
4870 .ep-lead-form__btn[disabled] {
4871 opacity: 0.6;
4872 cursor: default;
4873 }
4874
4875 /* Action Lock */
4876 .ep-action-lock {
4877 position: absolute;
4878 inset: 0;
4879 z-index: 13;
4880 background: rgba(0, 0, 0, 0.92);
4881 color: #fff;
4882 display: flex;
4883 align-items: center;
4884 justify-content: center;
4885 padding: 16px;
4886 font-family: inherit;
4887 text-align: center;
4888 }
4889
4890 .ep-action-lock__inner {
4891 max-width: 460px;
4892 width: 100%;
4893 }
4894
4895 .ep-action-lock__headline {
4896 margin: 0 0 8px;
4897 font-size: 18px;
4898 font-weight: 600;
4899 line-height: 1.3;
4900 }
4901
4902 .ep-action-lock__message {
4903 margin: 0 0 18px;
4904 font-size: 14px;
4905 line-height: 1.5;
4906 opacity: 0.85;
4907 }
4908
4909 .ep-action-lock__actions {
4910 display: flex;
4911 gap: 10px;
4912 justify-content: center;
4913 flex-wrap: wrap;
4914 }
4915
4916 .ep-action-lock__btn {
4917 padding: 9px 18px;
4918 border-radius: 4px;
4919 border: 1px solid rgba(255, 255, 255, 0.3);
4920 background: transparent;
4921 color: #fff;
4922 font-size: 14px;
4923 cursor: pointer;
4924 text-decoration: none;
4925 display: inline-flex;
4926 align-items: center;
4927 gap: 6px;
4928 transition: filter 0.15s ease, background 0.15s ease;
4929 }
4930
4931 .ep-action-lock__btn:hover {
4932 background: rgba(255, 255, 255, 0.12);
4933 color: #fff;
4934 }
4935
4936 .ep-action-lock__btn[disabled] {
4937 opacity: 0.6;
4938 cursor: default;
4939 }
4940
4941 .ep-action-lock__btn--primary {
4942 background: var(--plyr-color-main, #5b4e96);
4943 border-color: var(--plyr-color-main, #5b4e96);
4944 }
4945
4946 .ep-action-lock__btn--primary:hover {
4947 filter: brightness(1.15);
4948 }
4949
4950 .ep-action-lock__btn--facebook {
4951 background: #1877f2;
4952 border-color: #1877f2;
4953 }
4954
4955 .ep-action-lock__btn--twitter {
4956 background: #000;
4957 border-color: #000;
4958 }
4959
4960 .ep-action-lock__btn--linkedin {
4961 background: #0a66c2;
4962 border-color: #0a66c2;
4963 }
4964
4965 /* Country Restriction fallback */
4966 .ep-country-restricted {
4967 background: #f5f5f7;
4968 border: 1px solid #e0e0e4;
4969 border-radius: 6px;
4970 padding: 32px 20px;
4971 text-align: center;
4972 color: #444;
4973 font-family: inherit;
4974 }
4975
4976 .ep-country-restricted__inner p {
4977 margin: 0;
4978 font-size: 14px;
4979 line-height: 1.5;
4980 }
4981
4982 /* Public-facing view + download count badge for PDF / Document embeds */
4983 .ep-view-count {
4984 display: inline-flex;
4985 align-items: center;
4986 gap: 8px;
4987 margin-block-start: 8px;
4988 padding: 4px 12px;
4989 border-radius: 999px;
4990 color: #444;
4991 font-size: 12px;
4992 line-height: 1;
4993 font-weight: 500;
4994 width: -moz-fit-content;
4995 width: fit-content;
4996 }
4997
4998 .ep-view-count__item {
4999 display: inline-flex;
5000 align-items: center;
5001 gap: 6px;
5002 }
5003
5004 .ep-view-count [hidden] {
5005 display: none !important;
5006 }
5007
5008 .ep-view-count__icon {
5009 flex-shrink: 0;
5010 opacity: 0.75;
5011 }
5012
5013 .ep-view-count__label {
5014 white-space: nowrap;
5015 }
5016
5017 .ep-view-count__sep {
5018 opacity: 0.4;
5019 }
5020
5021 @media (prefers-color-scheme: dark) {
5022 .ep-view-count {
5023 color: #ddd;
5024 }
5025 }
5026
5027 /* ──────────────────────────────────────────────────────────────────────────
5028 View-count badge positioning (fbs-82395)
5029 The badge always stays OUTSIDE the embed — it never overlays the PDF or its
5030 toolbar. The modifiers only control which side of the embed it sits on
5031 (above / below) and its horizontal alignment (left / center / right).
5032 Default (no modifier) = below + left, the original placement, so existing
5033 posts render unchanged. Alignment is done in-flow on a full-width row, so
5034 nothing is absolutely positioned over the embed.
5035 ────────────────────────────────────────────────────────────────────────── */
5036 .ep-view-count[class*="ep-view-count--pos-"] {
5037 display: flex;
5038 width: 100%;
5039 }
5040
5041 /* Horizontal alignment within the badge's own full-width row. */
5042 .ep-view-count--pos-below-left,
5043 .ep-view-count--pos-above-left {
5044 justify-content: flex-start;
5045 }
5046
5047 .ep-view-count--pos-below-center,
5048 .ep-view-count--pos-above-center {
5049 justify-content: center;
5050 }
5051
5052 .ep-view-count--pos-below-right,
5053 .ep-view-count--pos-above-right {
5054 justify-content: flex-end;
5055 }
5056
5057 /* 'Above' variants sit before the embed; drop the default top margin and add
5058 a bottom gap instead so the spacing mirrors the 'below' placement. */
5059 .ep-view-count--pos-above-left,
5060 .ep-view-count--pos-above-center,
5061 .ep-view-count--pos-above-right {
5062 margin-block-start: 0;
5063 margin-block-end: 8px;
5064 }
5065
5066 /* Editor preview: the badge renders as the last child of the content wraper,
5067 so for 'above' variants flip it to the top with flex order. The frontend
5068 inserts the node before the embed directly (see ep-view-count.js), so this
5069 rule is editor-only and harmless on the front end. */
5070 .main-content-wraper:has(> .ep-view-count--pos-above-left),
5071 .main-content-wraper:has(> .ep-view-count--pos-above-center),
5072 .main-content-wraper:has(> .ep-view-count--pos-above-right),
5073 .ep-embed-content-wraper:has(.ep-view-count--pos-above-left),
5074 .ep-embed-content-wraper:has(.ep-view-count--pos-above-center),
5075 .ep-embed-content-wraper:has(.ep-view-count--pos-above-right) {
5076 display: flex;
5077 flex-direction: column;
5078 }
5079
5080 .ep-view-count--pos-above-left,
5081 .ep-view-count--pos-above-center,
5082 .ep-view-count--pos-above-right {
5083 order: -1;
5084 }
5085
5086 /* ──────────────────────────────────────────────────────────────────────────
5087 YouTube Playlist — scoped playlist layouts (fbs-72610)
5088 Two layouts live here: Queue (default, immersive player+sidebar) and
5089 Theatre (player on top + horizontal card strip). Both render inside
5090 .ep-yt-playlist[data-layout="…"] so they share one CSS reset and design
5091 tokens, isolating them from theme/plugin styles that would otherwise
5092 bleed in via universal selectors.
5093 ────────────────────────────────────────────────────────────────────────── */
5094 /* All playlist layouts take their container's full width; strip the
5095 wrapper's inline width:600px / height:550px / display:inline-block. */
5096 .ose-youtube.has-layout-queue,
5097 .ose-youtube.has-layout-queue .ep-player-wrap.layout-queue,
5098 .ose-youtube.has-layout-theatre,
5099 .ose-youtube.has-layout-theatre .ep-player-wrap.layout-theatre,
5100 .ose-youtube.has-layout-library,
5101 .ose-youtube.has-layout-library .ep-player-wrap.layout-library,
5102 .ose-youtube.has-layout-spotlight,
5103 .ose-youtube.has-layout-spotlight .ep-player-wrap.layout-spotlight,
5104 .ose-youtube.has-layout-cinema,
5105 .ose-youtube.has-layout-cinema .ep-player-wrap.layout-cinema,
5106 .ose-youtube.has-layout-magazine,
5107 .ose-youtube.has-layout-magazine .ep-player-wrap.layout-magazine {
5108 display: block !important;
5109 width: 100% !important;
5110 max-width: 100% !important;
5111 height: auto !important;
5112 max-height: none !important;
5113 padding: 0;
5114 background: transparent;
5115 }
5116
5117 .ep-player-wrap.layout-queue .ep-first-video,
5118 .ep-player-wrap.layout-theatre .ep-first-video,
5119 .ep-player-wrap.layout-library .ep-first-video,
5120 .ep-player-wrap.layout-spotlight .ep-first-video,
5121 .ep-player-wrap.layout-cinema .ep-first-video,
5122 .ep-player-wrap.layout-magazine .ep-first-video {
5123 display: none;
5124 }
5125
5126 /* === SCOPED RESET + DESIGN TOKENS ====================================== */
5127 /* Anything inside .ep-yt-playlist gets reverted to user-agent defaults so
5128 the theme's universal selectors (font-family on *, paddings on li, etc.)
5129 stop leaking into our layout. We then layer the design tokens back on
5130 the wrapper and re-apply only the properties we need. */
5131 .ep-yt-playlist {
5132 --epyp-bg: #0f0f0f;
5133 --epyp-surface: #181818;
5134 --epyp-surface-2: #212121;
5135 --epyp-border: #2a2a2a;
5136 --epyp-text: #f1f1f1;
5137 --epyp-text-dim: #aaa;
5138 --epyp-accent: #ff0000;
5139 --epyp-focus: #3ea6ff;
5140 --epyp-radius: 12px;
5141 --epyp-radius-sm: 6px;
5142 --epyp-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
5143
5144 box-sizing: border-box;
5145 width: 100%;
5146 max-width: 1080px;
5147 margin: 0 auto;
5148 color: var(--epyp-text);
5149 font-family: var(--epyp-font);
5150 line-height: 1.4;
5151 background: var(--epyp-bg);
5152 border-radius: var(--epyp-radius);
5153 overflow: hidden;
5154 box-shadow: 0 4px 24px rgba(0, 0, 0, .12);
5155 }
5156
5157 /* Reset every descendant so themed `li`/`a`/`button`/`img`/etc. styles
5158 stop interfering. `all: revert` reverts to user-agent defaults, then we
5159 re-set box-sizing + font + line-height. */
5160 .ep-yt-playlist * {
5161 all: revert;
5162 box-sizing: border-box;
5163 font-family: var(--epyp-font);
5164 line-height: 1.4;
5165 }
5166
5167 .ep-yt-playlist *::before,
5168 .ep-yt-playlist *::after {
5169 box-sizing: border-box;
5170 }
5171
5172 .ep-yt-playlist a {
5173 color: inherit;
5174 text-decoration: none;
5175 }
5176
5177 .ep-yt-playlist button {
5178 font: inherit;
5179 cursor: pointer;
5180 }
5181
5182 .ep-yt-playlist img, .ep-yt-playlist svg {
5183 display: block;
5184 max-width: 100%;
5185 }
5186
5187 .ep-yt-playlist ol, .ep-yt-playlist ul {
5188 list-style: none;
5189 margin: 0;
5190 padding: 0;
5191 }
5192
5193 /* === QUEUE LAYOUT ===================================================== */
5194 .ep-yt-playlist[data-layout="queue"][data-playlist-id] {
5195 /* Default queue height; overridden by an inline --epq-h on the wrapper
5196 when the user configures a block/widget height. Declared here (not on
5197 .ep-yt-queue) so the inline override actually cascades down. */
5198 --epq-h: 480px;
5199 }
5200
5201 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue {
5202 display: flex;
5203 flex-wrap: nowrap;
5204 width: 100%;
5205 height: var(--epq-h);
5206 }
5207
5208 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__player {
5209 position: relative;
5210 flex: 1 1 auto;
5211 min-width: 0;
5212 height: 100%;
5213 background: #000;
5214 }
5215
5216 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__iframe {
5217 position: absolute;
5218 inset: 0;
5219 width: 100% !important;
5220 height: 100% !important;
5221 border: 0;
5222 max-width: 100% !important;
5223 max-height: 100% !important;
5224 }
5225
5226 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__list {
5227 flex: 0 0 340px;
5228 display: flex;
5229 flex-direction: column;
5230 min-width: 0;
5231 min-height: 0;
5232 height: 100%;
5233 overflow: hidden;
5234 background: var(--epyp-surface);
5235 border-left: 1px solid var(--epyp-border);
5236 }
5237
5238 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__header {
5239 flex: 0 0 auto;
5240 padding: 14px 16px 10px;
5241 border-bottom: 1px solid var(--epyp-border);
5242 background: var(--epyp-surface-2);
5243 }
5244
5245 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__title {
5246 display: block;
5247 font-size: 16px;
5248 font-weight: 600;
5249 color: var(--epyp-text);
5250 line-height: 1.3;
5251 margin: 0 0 4px;
5252 word-break: break-word;
5253 }
5254
5255 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__title:hover {
5256 color: #fff;
5257 text-decoration: underline;
5258 }
5259
5260 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__meta {
5261 display: flex;
5262 align-items: center;
5263 gap: 6px;
5264 font-size: 12px;
5265 color: var(--epyp-text-dim);
5266 margin-bottom: 8px;
5267 }
5268
5269 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__sep {
5270 opacity: .6;
5271 }
5272
5273 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__position-current {
5274 color: #fff;
5275 font-weight: 500;
5276 }
5277
5278 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__controls {
5279 display: flex;
5280 align-items: center;
5281 gap: 6px;
5282 }
5283
5284 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__controls button {
5285 background: transparent;
5286 border: 0;
5287 color: var(--epyp-text-dim);
5288 width: 30px;
5289 height: 30px;
5290 display: inline-flex;
5291 align-items: center;
5292 justify-content: center;
5293 border-radius: 50%;
5294 padding: 0;
5295 transition: background .15s, color .15s;
5296 }
5297
5298 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__controls button:hover {
5299 background: rgba(255, 255, 255, .08);
5300 color: #fff;
5301 }
5302
5303 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__controls button[aria-pressed="true"] {
5304 color: var(--epyp-focus);
5305 background: rgba(62, 166, 255, .12);
5306 }
5307
5308 .ep-yt-playlist .ep-yt-queue__icon {
5309 width: 18px;
5310 height: 18px;
5311 stroke-width: 2;
5312 }
5313
5314 /* CSS-mask icons — survive simple_html_dom case-normalization (Pro pipeline
5315 lowercases SVG `viewBox` → `viewbox`, which browsers ignore). Using
5316 mask-image with currentColor lets us keep aria-pressed color swaps. */
5317 .ep-yt-playlist .ep-yt-icon {
5318 display: inline-block;
5319 width: 18px;
5320 height: 18px;
5321 background-color: currentColor;
5322 -webkit-mask-repeat: no-repeat;
5323 mask-repeat: no-repeat;
5324 -webkit-mask-position: center;
5325 mask-position: center;
5326 -webkit-mask-size: contain;
5327 mask-size: contain;
5328 vertical-align: middle;
5329 }
5330
5331 .ep-yt-playlist .ep-yt-icon--loop {
5332 -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>");
5333 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>");
5334 }
5335
5336 .ep-yt-playlist .ep-yt-icon--shuffle {
5337 -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>");
5338 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>");
5339 }
5340
5341 .ep-yt-playlist .ep-yt-icon--chev-left {
5342 -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>");
5343 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>");
5344 }
5345
5346 .ep-yt-playlist .ep-yt-icon--chev-right {
5347 -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>");
5348 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>");
5349 }
5350
5351 .ep-yt-playlist .ep-yt-icon--prev {
5352 -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>");
5353 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>");
5354 }
5355
5356 .ep-yt-playlist .ep-yt-icon--next {
5357 -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>");
5358 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>");
5359 }
5360
5361 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__items {
5362 padding: 6px 0;
5363 overflow-y: auto;
5364 overflow-x: hidden;
5365 flex: 1 1 auto;
5366 min-height: 0;
5367 scrollbar-width: thin;
5368 scrollbar-color: #4a4a4a transparent;
5369 }
5370
5371 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__items::-webkit-scrollbar {
5372 width: 8px;
5373 }
5374
5375 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__items::-webkit-scrollbar-track {
5376 background: transparent;
5377 }
5378
5379 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__items::-webkit-scrollbar-thumb {
5380 background: #4a4a4a;
5381 border-radius: 4px;
5382 }
5383
5384 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__items::-webkit-scrollbar-thumb:hover {
5385 background: #5e5e5e;
5386 }
5387
5388 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item {
5389 display: grid;
5390 grid-template-columns: 24px 92px 1fr;
5391 gap: 8px;
5392 padding: 6px 8px 6px 6px;
5393 cursor: pointer;
5394 align-items: center;
5395 transition: background .12s;
5396 }
5397
5398 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item:hover {
5399 background: rgba(255, 255, 255, .06);
5400 }
5401
5402 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item.is-active {
5403 background: rgba(255, 255, 255, .1);
5404 }
5405
5406 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item.is-active .ep-yt-queue__item-index {
5407 color: transparent;
5408 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");
5409 background-repeat: no-repeat;
5410 background-position: center;
5411 }
5412
5413 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item-index {
5414 text-align: center;
5415 color: var(--epyp-text-dim);
5416 font-size: 12px;
5417 line-height: 1;
5418 }
5419
5420 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item-thumb {
5421 width: 92px;
5422 height: 52px;
5423 object-fit: cover;
5424 border-radius: 4px;
5425 background-color: #000;
5426 }
5427
5428 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item-body {
5429 display: flex;
5430 flex-direction: column;
5431 gap: 2px;
5432 min-width: 0;
5433 overflow: hidden;
5434 }
5435
5436 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item-title {
5437 color: var(--epyp-text);
5438 font-size: 13px;
5439 font-weight: 500;
5440 line-height: 1.3;
5441 display: -webkit-box;
5442 -webkit-line-clamp: 2;
5443 -webkit-box-orient: vertical;
5444 overflow: hidden;
5445 word-break: break-word;
5446 }
5447
5448 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__item-channel {
5449 color: var(--epyp-text-dim);
5450 font-size: 11px;
5451 line-height: 1.2;
5452 white-space: nowrap;
5453 overflow: hidden;
5454 text-overflow: ellipsis;
5455 }
5456
5457 .ep-yt-playlist .ep-yt-queue__loader,
5458 .ep-yt-playlist .ep-yt-theatre__loader {
5459 display: flex;
5460 align-items: center;
5461 justify-content: center;
5462 gap: 8px;
5463 padding: 14px;
5464 color: var(--epyp-text-dim);
5465 font-size: 12px;
5466 }
5467
5468 .ep-yt-playlist .ep-yt-queue__loader[hidden],
5469 .ep-yt-playlist .ep-yt-theatre__loader[hidden] {
5470 display: none;
5471 }
5472
5473 .ep-yt-playlist .ep-yt-queue__spinner,
5474 .ep-yt-playlist .ep-yt-theatre__spinner,
5475 .ep-yt-playlist .ep-yt-library__spinner,
5476 .ep-yt-playlist .ep-yt-spotlight__spinner,
5477 .ep-yt-playlist .ep-yt-cinema__spinner,
5478 .ep-yt-playlist .ep-yt-magazine__spinner {
5479 width: 14px;
5480 height: 14px;
5481 flex: 0 0 14px;
5482 box-sizing: border-box;
5483 border: 2px solid #4a4a4a;
5484 border-top-color: var(--epyp-text);
5485 border-radius: 50%;
5486 animation: ep-yt-playlist-spin .8s linear infinite;
5487 }
5488
5489 @keyframes ep-yt-playlist-spin {
5490 to {
5491 transform: rotate(360deg);
5492 }
5493 }
5494
5495 @media (max-width: 768px) {
5496 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue {
5497 --epq-h: auto;
5498 flex-direction: column;
5499 height: auto;
5500 }
5501
5502 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__player {
5503 aspect-ratio: 16/9;
5504 height: auto;
5505 flex: 0 0 auto;
5506 }
5507
5508 .ep-yt-playlist[data-layout="queue"][data-playlist-id] .ep-yt-queue__list {
5509 flex: 0 0 auto;
5510 border-left: 0;
5511 border-top: 1px solid var(--epyp-border);
5512 height: 360px;
5513 max-height: 360px;
5514 }
5515 }
5516
5517 /* === THEATRE LAYOUT =================================================== */
5518 /* Large player on top with title/meta strip, then a horizontal scrolling
5519 row of cards (prev/next arrows on each end). Visual reference: Netflix /
5520 YouTube channel "Up Next" row. */
5521 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre {
5522 display: flex;
5523 flex-direction: column;
5524 }
5525
5526 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__player {
5527 position: relative;
5528 aspect-ratio: 16 / 9;
5529 width: 100%;
5530 background: #000;
5531 }
5532
5533 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__iframe {
5534 position: absolute;
5535 inset: 0;
5536 width: 100% !important;
5537 height: 100% !important;
5538 border: 0;
5539 max-width: 100% !important;
5540 max-height: 100% !important;
5541 }
5542
5543 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__meta {
5544 padding: 14px 18px;
5545 background: var(--epyp-surface-2);
5546 border-bottom: 1px solid var(--epyp-border);
5547 }
5548
5549 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__title {
5550 display: inline-flex;
5551 align-items: center;
5552 gap: 8px;
5553 font-size: 17px;
5554 font-weight: 600;
5555 color: var(--epyp-text);
5556 margin: 0;
5557 word-break: break-word;
5558 }
5559
5560 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__title:hover {
5561 text-decoration: underline;
5562 }
5563
5564 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__playicon {
5565 color: var(--epyp-accent);
5566 font-size: 14px;
5567 line-height: 1;
5568 }
5569
5570 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__sub {
5571 display: flex;
5572 align-items: center;
5573 gap: 8px;
5574 margin-top: 6px;
5575 font-size: 13px;
5576 color: var(--epyp-text-dim);
5577 }
5578
5579 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__sep {
5580 opacity: .6;
5581 }
5582
5583 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__position-current {
5584 color: #fff;
5585 font-weight: 500;
5586 }
5587
5588 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__controls {
5589 display: inline-flex;
5590 align-items: center;
5591 gap: 4px;
5592 margin-left: auto;
5593 }
5594
5595 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__controls button {
5596 background: transparent;
5597 border: 0;
5598 color: var(--epyp-text-dim);
5599 width: 28px;
5600 height: 28px;
5601 display: inline-flex;
5602 align-items: center;
5603 justify-content: center;
5604 border-radius: 50%;
5605 padding: 0;
5606 transition: background .15s, color .15s;
5607 }
5608
5609 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__controls button:hover {
5610 background: rgba(255, 255, 255, .08);
5611 color: #fff;
5612 }
5613
5614 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__controls button[aria-pressed="true"] {
5615 color: var(--epyp-focus);
5616 background: rgba(62, 166, 255, .12);
5617 }
5618
5619 .ep-yt-playlist .ep-yt-theatre__icon {
5620 width: 16px;
5621 height: 16px;
5622 stroke-width: 2;
5623 }
5624
5625 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__strip-wrap {
5626 position: relative;
5627 padding: 14px 8px;
5628 background: var(--epyp-bg);
5629 /* Clamp wrap to the playlist container width — without min-width:0 the
5630 flex-overflowing strip can push the parent grid wider on each item
5631 append, making infinite-scroll grow the page. */
5632 min-width: 0;
5633 width: 100%;
5634 max-width: 100%;
5635 box-sizing: border-box;
5636 overflow: hidden;
5637 }
5638
5639 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre {
5640 /* Same defense on the layout's own column: a flex item with intrinsic
5641 cards needs min-width:0 so it doesn't expand its container. */
5642 min-width: 0;
5643 width: 100%;
5644 overflow: hidden;
5645 }
5646
5647 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__strip {
5648 display: flex;
5649 gap: 12px;
5650 overflow-x: auto;
5651 overflow-y: hidden;
5652 scroll-snap-type: x mandatory;
5653 scroll-behavior: smooth;
5654 padding: 2px 6px;
5655 scrollbar-width: thin;
5656 scrollbar-color: #4a4a4a transparent;
5657 }
5658
5659 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__strip::-webkit-scrollbar {
5660 height: 8px;
5661 }
5662
5663 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__strip::-webkit-scrollbar-track {
5664 background: transparent;
5665 }
5666
5667 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__strip::-webkit-scrollbar-thumb {
5668 background: #4a4a4a;
5669 border-radius: 4px;
5670 }
5671
5672 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card {
5673 flex: 0 0 168px;
5674 display: flex;
5675 flex-direction: column;
5676 gap: 6px;
5677 scroll-snap-align: start;
5678 cursor: pointer;
5679 padding: 4px;
5680 border-radius: var(--epyp-radius-sm);
5681 transition: background .12s, transform .12s;
5682 }
5683
5684 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card:hover {
5685 background: rgba(255, 255, 255, .05);
5686 }
5687
5688 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card.is-active {
5689 background: rgba(255, 255, 255, .1);
5690 }
5691
5692 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card-thumb-wrap {
5693 position: relative;
5694 aspect-ratio: 16 / 9;
5695 border-radius: var(--epyp-radius-sm);
5696 overflow: hidden;
5697 background: #000;
5698 }
5699
5700 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card-thumb {
5701 width: 100%;
5702 height: 100%;
5703 object-fit: cover;
5704 }
5705
5706 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card-num {
5707 position: absolute;
5708 top: 4px;
5709 left: 4px;
5710 background: rgba(0, 0, 0, .78);
5711 color: #fff;
5712 font-size: 11px;
5713 font-weight: 600;
5714 padding: 2px 6px;
5715 border-radius: 4px;
5716 min-width: 22px;
5717 text-align: center;
5718 }
5719
5720 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card.is-active .ep-yt-theatre__card-num {
5721 background: var(--epyp-accent);
5722 }
5723
5724 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card-title {
5725 display: -webkit-box;
5726 -webkit-line-clamp: 2;
5727 -webkit-box-orient: vertical;
5728 overflow: hidden;
5729 font-size: 13px;
5730 font-weight: 500;
5731 color: var(--epyp-text);
5732 line-height: 1.3;
5733 word-break: break-word;
5734 }
5735
5736 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card-channel {
5737 font-size: 11px;
5738 color: var(--epyp-text-dim);
5739 white-space: nowrap;
5740 overflow: hidden;
5741 text-overflow: ellipsis;
5742 }
5743
5744 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__nav {
5745 position: absolute;
5746 top: 50%;
5747 transform: translateY(-50%);
5748 background: rgba(0, 0, 0, .7);
5749 color: #fff;
5750 border: 0;
5751 width: 36px;
5752 height: 36px;
5753 border-radius: 50%;
5754 display: inline-flex;
5755 align-items: center;
5756 justify-content: center;
5757 padding: 0;
5758 z-index: 2;
5759 transition: background .15s, opacity .15s;
5760 }
5761
5762 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__nav:hover {
5763 background: rgba(0, 0, 0, .85);
5764 }
5765
5766 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__nav--prev {
5767 left: 8px;
5768 }
5769
5770 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__nav--next {
5771 right: 8px;
5772 }
5773
5774 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__nav[hidden] {
5775 display: none;
5776 }
5777
5778 @media (max-width: 600px) {
5779 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__meta {
5780 padding: 10px 14px;
5781 }
5782
5783 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__title {
5784 font-size: 15px;
5785 }
5786
5787 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__card {
5788 flex: 0 0 132px;
5789 }
5790
5791 .ep-yt-playlist[data-layout="theatre"][data-playlist-id] .ep-yt-theatre__nav {
5792 width: 30px;
5793 height: 30px;
5794 }
5795 }
5796
5797 /* ============================================================
5798 * Pro playlist layouts (library / spotlight / cinema / magazine)
5799 * All scoped under .ep-yt-playlist so they share the queue/theatre
5800 * dark-frame look without leaking into other plugins. JS contract
5801 * for selectors lives in static/js/ep-yt-queue.js (SELECTORS table).
5802 * ============================================================ */
5803
5804 /* Stronger reset across ALL playlist layouts. The `.ep-yt-playlist *`
5805 * `all: revert` rule above resets to UA defaults — but themes commonly
5806 * target `.entry-content h2`, `.entry-content p`, `.wp-block-post-content a`
5807 * (specificity 0,2,1), and a `.ep-yt-playlist *` selector is only 0,1,1,
5808 * so theme rules re-leak into our shells.
5809 *
5810 * Fix: use `[data-layout]` (always present on our wrapper) + `:is()` to
5811 * lift the reset to specificity 0,3,1 — beats every typical theme rule
5812 * (`.entry-content h2`, `.wp-block-post-content a`, etc.). No `!important`
5813 * needed: our per-layout styling rules below also live under `[data-layout=...]`
5814 * so they win cleanly. */
5815 .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) {
5816 margin: 0;
5817 padding: 0;
5818 color: inherit;
5819 font: inherit;
5820 line-height: inherit;
5821 text-decoration: none;
5822 background: none;
5823 border: 0;
5824 text-shadow: none;
5825 list-style: none;
5826 text-transform: none;
5827 letter-spacing: normal;
5828 font-weight: inherit;
5829 font-style: normal;
5830 text-align: left;
5831 box-shadow: none;
5832 }
5833
5834 .ep-yt-playlist[data-layout][data-playlist-id] :is(img) {
5835 max-width: 100%;
5836 height: auto;
5837 border: 0;
5838 border-radius: 0;
5839 box-shadow: none;
5840 display: block;
5841 margin: 0;
5842 filter: none;
5843 }
5844
5845 /* Browser default `[hidden]` is `display:none`, but the per-layout
5846 * loader rules below set display:flex/block which wins on specificity.
5847 * Restore the hide here so loaders only show during fetch. Same for
5848 * the library modal which is shown via .hidden attribute toggling. */
5849 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__loader[hidden],
5850 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__loader[hidden],
5851 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__loader[hidden],
5852 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__loader[hidden],
5853 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__modal[hidden] {
5854 display: none !important;
5855 }
5856
5857 /* Loader should NOT reflow the container when it appears — that makes the
5858 * embed visibly grow on every fetch. Float it over the bottom of the
5859 * scrolling list / grid / rail instead. Each loader's immediate parent
5860 * is made position:relative so this absolute anchor resolves there. */
5861 .ep-yt-playlist .ep-yt-queue__loader,
5862 .ep-yt-playlist .ep-yt-theatre__loader,
5863 .ep-yt-playlist .ep-yt-library__loader,
5864 .ep-yt-playlist .ep-yt-spotlight__loader,
5865 .ep-yt-playlist .ep-yt-cinema__loader,
5866 .ep-yt-playlist .ep-yt-magazine__loader {
5867 position: absolute;
5868 left: 0;
5869 right: 0;
5870 bottom: 0;
5871 height: 36px;
5872 padding: 0;
5873 background: linear-gradient(to top, rgba(15, 15, 15, .95) 55%, rgba(15, 15, 15, 0));
5874 pointer-events: none;
5875 z-index: 2;
5876 display: flex;
5877 align-items: center;
5878 justify-content: center;
5879 gap: 8px;
5880 color: #aaa;
5881 font-size: 12px;
5882 }
5883
5884 /* The `[data-layout][data-playlist-id] :is(span,…) { font-size: inherit }`
5885 * reset inflates the loader's inner text span to the player's inherited size.
5886 * Pin it at matching specificity so "Loading more…" stays 12px. */
5887 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-queue__loader-text,
5888 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-theatre__loader-text,
5889 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-library__loader-text,
5890 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-spotlight__loader-text,
5891 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-cinema__loader-text,
5892 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-magazine__loader-text {
5893 font-size: 12px;
5894 line-height: 1;
5895 }
5896
5897 .ep-yt-playlist .ep-yt-queue__list,
5898 .ep-yt-playlist .ep-yt-theatre__strip-wrap,
5899 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library,
5900 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-wrap,
5901 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__overlay-inner,
5902 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-wrap {
5903 position: relative;
5904 }
5905
5906 /* Shared icon button — the queue/theatre __controls rules predate the
5907 * `.ep-yt-icon-btn` class and only style by descendant `button`. The 4
5908 * Pro layouts use the class, so define the look once for everything
5909 * carrying it. Browser default `<button>` chrome would otherwise leak
5910 * through (gray fill, border, beige hover) and clash with the dark theme. */
5911 .ep-yt-playlist .ep-yt-icon-btn {
5912 background: transparent;
5913 border: 0;
5914 color: #aaa;
5915 width: 30px;
5916 height: 30px;
5917 padding: 0;
5918 display: inline-flex;
5919 align-items: center;
5920 justify-content: center;
5921 border-radius: 50%;
5922 cursor: pointer;
5923 transition: background .15s, color .15s;
5924 font: inherit;
5925 line-height: 1;
5926 }
5927
5928 .ep-yt-playlist .ep-yt-icon-btn:hover {
5929 background: rgba(255, 255, 255, .1);
5930 color: #fff;
5931 }
5932
5933 .ep-yt-playlist .ep-yt-icon-btn[aria-pressed="true"] {
5934 color: #3ea6ff;
5935 background: rgba(62, 166, 255, .15);
5936 }
5937
5938 /* Cinema's "Queue" / library's "Close (×)" want auto width + padding. */
5939 .ep-yt-playlist .ep-yt-cinema__open-queue,
5940 .ep-yt-playlist .ep-yt-cinema__close-queue,
5941 .ep-yt-playlist .ep-yt-library__modal-close {
5942 width: auto;
5943 min-width: 30px;
5944 padding: 0 10px;
5945 border-radius: 4px;
5946 font-size: 13px;
5947 color: #fff;
5948 }
5949
5950 /* Cinema "Queue" — icon + label pill, sized to match the round icon buttons.
5951 * Scoped with the layout attributes so font-size beats the
5952 * `[data-layout][data-playlist-id] :is(button,…) { font-size: inherit }` reset,
5953 * which would otherwise inflate the label to the player's inherited size. */
5954 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-cinema__open-queue {
5955 gap: 6px;
5956 height: 30px;
5957 padding: 0 12px;
5958 border-radius: 15px;
5959 font-size: 13px;
5960 line-height: 1;
5961 font-weight: 500;
5962 white-space: nowrap;
5963 }
5964
5965 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-cinema__open-queue-label {
5966 font-size: 13px;
5967 line-height: 1;
5968 }
5969
5970 /* The `[data-layout][data-playlist-id] :is(span,…)` reset forces
5971 * background-color:initial on icon spans, which beats `.ep-yt-icon`'s
5972 * currentColor (the mask then reveals nothing). Re-assert the icon fill at
5973 * matching specificity so the masked glyph is visible. */
5974 .ep-yt-playlist[data-layout][data-playlist-id] .ep-yt-icon {
5975 background-color: currentColor;
5976 }
5977
5978 .ep-yt-playlist .ep-yt-cinema__open-queue .ep-yt-icon {
5979 width: 16px;
5980 height: 16px;
5981 flex: 0 0 16px;
5982 }
5983
5984 .ep-yt-playlist .ep-yt-icon--queue {
5985 -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");
5986 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");
5987 }
5988
5989 .ep-yt-playlist .ep-yt-library__modal-close {
5990 font-size: 28px;
5991 padding: 0 8px;
5992 }
5993
5994 /* ---- Library --------------------------------------------- */
5995 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library {
5996 display: flex;
5997 flex-direction: column;
5998 gap: 0;
5999 background: #0f0f0f;
6000 color: #f1f1f1;
6001 border-radius: 12px;
6002 overflow: hidden;
6003 font-family: Roboto, "Segoe UI", system-ui, -apple-system, sans-serif;
6004 }
6005
6006 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__header {
6007 display: flex;
6008 justify-content: space-between;
6009 align-items: center;
6010 gap: 16px;
6011 padding: 14px 18px;
6012 border-bottom: 1px solid #2a2a2a;
6013 }
6014
6015 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__title {
6016 color: #fff;
6017 text-decoration: none;
6018 font-weight: 600;
6019 font-size: 16px;
6020 overflow: hidden;
6021 text-overflow: ellipsis;
6022 white-space: nowrap;
6023 max-width: 70%;
6024 }
6025
6026 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__title:hover {
6027 color: #fff;
6028 text-decoration: underline;
6029 }
6030
6031 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__meta {
6032 color: #aaa;
6033 font-size: 13px;
6034 display: flex;
6035 gap: 6px;
6036 align-items: center;
6037 }
6038
6039 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__sep {
6040 color: #555;
6041 }
6042
6043 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__grid {
6044 display: grid;
6045 grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
6046 gap: 16px;
6047 padding: 16px;
6048 max-height: 640px;
6049 overflow-y: auto;
6050 }
6051
6052 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__grid::-webkit-scrollbar {
6053 width: 8px;
6054 }
6055
6056 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__grid::-webkit-scrollbar-thumb {
6057 background: #4a4a4a;
6058 border-radius: 4px;
6059 }
6060
6061 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card {
6062 all: unset;
6063 display: flex;
6064 flex-direction: column;
6065 gap: 6px;
6066 cursor: pointer;
6067 background: #181818;
6068 border-radius: 10px;
6069 padding: 8px;
6070 transition: background .15s ease;
6071 color: #f1f1f1;
6072 }
6073
6074 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card:hover {
6075 background: #242424;
6076 }
6077
6078 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card.is-active {
6079 background: #2d2d2d;
6080 outline: 2px solid #3ea6ff;
6081 outline-offset: -2px;
6082 }
6083
6084 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card-thumb-wrap {
6085 position: relative;
6086 width: 100%;
6087 aspect-ratio: 16/9;
6088 border-radius: 8px;
6089 overflow: hidden;
6090 background: #000;
6091 }
6092
6093 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card-thumb {
6094 width: 100%;
6095 height: 100%;
6096 object-fit: cover;
6097 display: block;
6098 }
6099
6100 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card-play {
6101 position: absolute;
6102 inset: 0;
6103 display: flex;
6104 align-items: center;
6105 justify-content: center;
6106 color: #fff;
6107 font-size: 28px;
6108 opacity: 0;
6109 transition: opacity .15s ease;
6110 background: rgba(0, 0, 0, .35);
6111 }
6112
6113 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card:hover .ep-yt-library__card-play {
6114 opacity: 1;
6115 }
6116
6117 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card-title {
6118 font-size: 14px;
6119 font-weight: 500;
6120 color: #fff;
6121 line-height: 1.35;
6122 display: -webkit-box;
6123 -webkit-line-clamp: 2;
6124 -webkit-box-orient: vertical;
6125 overflow: hidden;
6126 }
6127
6128 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__card-channel {
6129 font-size: 12px;
6130 color: #aaa;
6131 }
6132
6133 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__loader {
6134 padding: 16px;
6135 text-align: center;
6136 color: #aaa;
6137 }
6138
6139 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__modal {
6140 position: fixed;
6141 inset: 0;
6142 background: rgba(0, 0, 0, .85);
6143 z-index: 99999;
6144 display: flex;
6145 align-items: center;
6146 justify-content: center;
6147 padding: 20px;
6148 }
6149
6150 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__modal[hidden] {
6151 display: none;
6152 }
6153
6154 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__modal-inner {
6155 position: relative;
6156 width: min(1000px, 100%);
6157 aspect-ratio: 16/9;
6158 background: #000;
6159 border-radius: 8px;
6160 overflow: hidden;
6161 }
6162
6163 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__modal-iframe {
6164 width: 100%;
6165 height: 100%;
6166 border: 0;
6167 display: block;
6168 }
6169
6170 .ep-yt-playlist[data-layout="library"][data-playlist-id] .ep-yt-library__modal-close {
6171 position: absolute;
6172 top: -40px;
6173 right: 0;
6174 font-size: 32px;
6175 }
6176
6177 /* ---- Spotlight ------------------------------------------- */
6178 /* Stage on top (player + hero text), rail of cards below.
6179 * Single-column at every width so it never crams a rail next to a
6180 * 16:9 player in a constrained post-content column. */
6181 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight {
6182 display: flex;
6183 flex-direction: column;
6184 gap: 0;
6185 background: #0f0f0f;
6186 color: #f1f1f1;
6187 border-radius: 12px;
6188 overflow: hidden;
6189 font-family: Roboto, "Segoe UI", system-ui, -apple-system, sans-serif;
6190 }
6191
6192 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__stage {
6193 display: flex;
6194 flex-direction: column;
6195 min-width: 0;
6196 }
6197
6198 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__player {
6199 position: relative;
6200 aspect-ratio: 16/9;
6201 background: #000;
6202 }
6203
6204 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__iframe {
6205 position: absolute;
6206 inset: 0;
6207 width: 100%;
6208 height: 100%;
6209 border: 0;
6210 display: block;
6211 }
6212
6213 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__hero {
6214 padding: 16px 20px;
6215 border-bottom: 1px solid #2a2a2a;
6216 }
6217
6218 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__hero-title {
6219 margin: 0 0 6px;
6220 color: #fff;
6221 font-size: 18px;
6222 font-weight: 600;
6223 line-height: 1.3;
6224 display: -webkit-box;
6225 -webkit-line-clamp: 2;
6226 -webkit-box-orient: vertical;
6227 overflow: hidden;
6228 }
6229
6230 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__hero-desc {
6231 margin: 0 0 10px;
6232 color: #aaa;
6233 font-size: 13px;
6234 line-height: 1.5;
6235 display: -webkit-box;
6236 -webkit-line-clamp: 3;
6237 -webkit-box-orient: vertical;
6238 overflow: hidden;
6239 }
6240
6241 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__hero-meta {
6242 display: flex;
6243 align-items: center;
6244 gap: 8px;
6245 color: #aaa;
6246 font-size: 13px;
6247 flex-wrap: wrap;
6248 }
6249
6250 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__sep {
6251 color: #555;
6252 }
6253
6254 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__controls {
6255 margin-left: auto;
6256 display: flex;
6257 gap: 4px;
6258 }
6259
6260 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-wrap {
6261 display: flex;
6262 flex-direction: column;
6263 background: #181818;
6264 min-height: 0;
6265 }
6266
6267 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-header {
6268 padding: 12px 14px;
6269 border-bottom: 1px solid #2a2a2a;
6270 }
6271
6272 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-title {
6273 color: #fff;
6274 text-decoration: none;
6275 font-weight: 600;
6276 font-size: 14px;
6277 }
6278
6279 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail {
6280 list-style: none;
6281 margin: 0;
6282 padding: 8px;
6283 overflow-y: auto;
6284 max-height: 360px;
6285 display: flex;
6286 flex-direction: column;
6287 gap: 4px;
6288 }
6289
6290 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail::-webkit-scrollbar {
6291 width: 8px;
6292 }
6293
6294 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail::-webkit-scrollbar-thumb {
6295 background: #4a4a4a;
6296 border-radius: 4px;
6297 }
6298
6299 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-card {
6300 display: grid;
6301 grid-template-columns: 120px 1fr;
6302 gap: 10px;
6303 padding: 8px;
6304 cursor: pointer;
6305 border-radius: 8px;
6306 transition: background .15s ease;
6307 }
6308
6309 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-card:hover {
6310 background: rgba(255, 255, 255, .05);
6311 }
6312
6313 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-card.is-active {
6314 background: rgba(255, 255, 255, .1);
6315 }
6316
6317 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-thumb-wrap {
6318 position: relative;
6319 width: 120px;
6320 aspect-ratio: 16/9;
6321 border-radius: 6px;
6322 overflow: hidden;
6323 background: #000;
6324 }
6325
6326 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-thumb {
6327 width: 100%;
6328 height: 100%;
6329 object-fit: cover;
6330 display: block;
6331 }
6332
6333 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-num {
6334 position: absolute;
6335 bottom: 4px;
6336 right: 4px;
6337 background: rgba(0, 0, 0, .8);
6338 color: #fff;
6339 font-size: 11px;
6340 padding: 1px 5px;
6341 border-radius: 2px;
6342 }
6343
6344 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-body {
6345 display: flex;
6346 flex-direction: column;
6347 gap: 4px;
6348 min-width: 0;
6349 }
6350
6351 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-card-title {
6352 color: #fff;
6353 font-size: 13px;
6354 font-weight: 500;
6355 line-height: 1.35;
6356 display: -webkit-box;
6357 -webkit-line-clamp: 2;
6358 -webkit-box-orient: vertical;
6359 overflow: hidden;
6360 }
6361
6362 .ep-yt-playlist[data-layout="spotlight"][data-playlist-id] .ep-yt-spotlight__rail-card-channel {
6363 color: #aaa;
6364 font-size: 12px;
6365 }
6366
6367 /* ---- Cinema ---------------------------------------------- */
6368 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema {
6369 position: relative;
6370 background: #000;
6371 color: #f1f1f1;
6372 border-radius: 12px;
6373 overflow: hidden;
6374 font-family: Roboto, "Segoe UI", system-ui, -apple-system, sans-serif;
6375 }
6376
6377 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__player {
6378 position: relative;
6379 aspect-ratio: 16/9;
6380 background: #000;
6381 }
6382
6383 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__iframe {
6384 position: absolute;
6385 inset: 0;
6386 width: 100%;
6387 height: 100%;
6388 border: 0;
6389 display: block;
6390 }
6391
6392 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__bar {
6393 display: flex;
6394 align-items: center;
6395 gap: 12px;
6396 padding: 12px 16px;
6397 background: #0f0f0f;
6398 border-top: 1px solid #2a2a2a;
6399 flex-wrap: wrap;
6400 }
6401
6402 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__title {
6403 color: #fff;
6404 text-decoration: none;
6405 font-weight: 600;
6406 font-size: 15px;
6407 overflow: hidden;
6408 text-overflow: ellipsis;
6409 white-space: nowrap;
6410 max-width: 40%;
6411 }
6412
6413 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__sub {
6414 color: #aaa;
6415 font-size: 13px;
6416 display: flex;
6417 align-items: center;
6418 gap: 6px;
6419 }
6420
6421 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__sep {
6422 color: #555;
6423 }
6424
6425 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__controls {
6426 margin-left: auto;
6427 display: flex;
6428 gap: 4px;
6429 align-items: center;
6430 }
6431
6432 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__open-queue {
6433 background: rgba(255, 255, 255, .1);
6434 }
6435
6436 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__open-queue:hover {
6437 background: rgba(255, 255, 255, .2);
6438 }
6439
6440 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__overlay {
6441 position: absolute;
6442 top: 0;
6443 right: 0;
6444 bottom: 0;
6445 width: min(420px, 90%);
6446 background: rgba(15, 15, 15, .96);
6447 border-left: 1px solid #2a2a2a;
6448 transform: translateX(100%);
6449 transition: transform .25s ease;
6450 display: flex;
6451 flex-direction: column;
6452 z-index: 5;
6453 }
6454
6455 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__overlay.is-open {
6456 transform: translateX(0);
6457 }
6458
6459 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__overlay-inner {
6460 display: flex;
6461 flex-direction: column;
6462 height: 100%;
6463 min-height: 0;
6464 }
6465
6466 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__overlay-header {
6467 display: flex;
6468 align-items: center;
6469 justify-content: space-between;
6470 padding: 12px 14px;
6471 border-bottom: 1px solid #2a2a2a;
6472 }
6473
6474 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__overlay-title {
6475 color: #fff;
6476 font-weight: 600;
6477 font-size: 14px;
6478 }
6479
6480 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__close-queue {
6481 font-size: 24px;
6482 }
6483
6484 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__items {
6485 list-style: none;
6486 margin: 0;
6487 padding: 8px;
6488 overflow-y: auto;
6489 flex: 1;
6490 min-height: 0;
6491 display: flex;
6492 flex-direction: column;
6493 gap: 4px;
6494 }
6495
6496 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__items::-webkit-scrollbar {
6497 width: 8px;
6498 }
6499
6500 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__items::-webkit-scrollbar-thumb {
6501 background: #4a4a4a;
6502 border-radius: 4px;
6503 }
6504
6505 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item {
6506 display: grid;
6507 grid-template-columns: 28px 110px 1fr;
6508 gap: 8px;
6509 padding: 6px;
6510 align-items: center;
6511 cursor: pointer;
6512 border-radius: 6px;
6513 transition: background .15s ease;
6514 }
6515
6516 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item:hover {
6517 background: rgba(255, 255, 255, .05);
6518 }
6519
6520 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item.is-active {
6521 background: rgba(255, 255, 255, .1);
6522 }
6523
6524 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item-index {
6525 color: #aaa;
6526 font-size: 12px;
6527 text-align: center;
6528 }
6529
6530 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item-thumb {
6531 width: 110px;
6532 aspect-ratio: 16/9;
6533 object-fit: cover;
6534 border-radius: 4px;
6535 display: block;
6536 background: #000;
6537 }
6538
6539 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item-body {
6540 display: flex;
6541 flex-direction: column;
6542 gap: 2px;
6543 min-width: 0;
6544 }
6545
6546 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item-title {
6547 color: #fff;
6548 font-size: 13px;
6549 font-weight: 500;
6550 line-height: 1.35;
6551 display: -webkit-box;
6552 -webkit-line-clamp: 2;
6553 -webkit-box-orient: vertical;
6554 overflow: hidden;
6555 }
6556
6557 .ep-yt-playlist[data-layout="cinema"][data-playlist-id] .ep-yt-cinema__item-channel {
6558 color: #aaa;
6559 font-size: 12px;
6560 }
6561
6562 /* ---- Magazine -------------------------------------------- */
6563 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine {
6564 background: #0f0f0f;
6565 color: #f1f1f1;
6566 border-radius: 12px;
6567 overflow: hidden;
6568 font-family: Georgia, "Times New Roman", serif;
6569 }
6570
6571 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero {
6572 display: flex;
6573 flex-direction: column;
6574 gap: 0;
6575 border-bottom: 1px solid #2a2a2a;
6576 }
6577
6578 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__player {
6579 position: relative;
6580 aspect-ratio: 16/9;
6581 background: #000;
6582 }
6583
6584 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__iframe {
6585 position: absolute;
6586 inset: 0;
6587 width: 100%;
6588 height: 100%;
6589 border: 0;
6590 display: block;
6591 }
6592
6593 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-body {
6594 padding: 24px 28px;
6595 display: flex;
6596 flex-direction: column;
6597 gap: 12px;
6598 }
6599
6600 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-eyebrow {
6601 color: #ff4040;
6602 text-decoration: none;
6603 text-transform: uppercase;
6604 letter-spacing: .1em;
6605 font-size: 12px;
6606 font-weight: 700;
6607 font-family: Roboto, sans-serif;
6608 }
6609
6610 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-title {
6611 margin: 0;
6612 color: #fff;
6613 font-size: 26px;
6614 font-weight: 700;
6615 line-height: 1.2;
6616 }
6617
6618 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-desc {
6619 margin: 0;
6620 color: #ccc;
6621 font-size: 15px;
6622 line-height: 1.6;
6623 max-height: 4.8em;
6624 overflow: hidden;
6625 transition: max-height .25s ease;
6626 }
6627
6628 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-desc.is-expanded {
6629 max-height: 40em;
6630 }
6631
6632 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__readmore {
6633 align-self: flex-start;
6634 background: transparent;
6635 border: 0;
6636 color: #3ea6ff;
6637 cursor: pointer;
6638 padding: 0;
6639 font-size: 13px;
6640 font-family: Roboto, sans-serif;
6641 font-weight: 600;
6642 }
6643
6644 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__readmore:hover {
6645 text-decoration: underline;
6646 }
6647
6648 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-meta {
6649 display: flex;
6650 align-items: center;
6651 gap: 8px;
6652 color: #aaa;
6653 font-size: 13px;
6654 font-family: Roboto, sans-serif;
6655 flex-wrap: wrap;
6656 margin-top: auto;
6657 }
6658
6659 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__sep {
6660 color: #555;
6661 }
6662
6663 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__controls {
6664 margin-left: auto;
6665 display: flex;
6666 gap: 4px;
6667 }
6668
6669 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-wrap {
6670 padding: 16px 20px 20px;
6671 }
6672
6673 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-header {
6674 margin-bottom: 12px;
6675 }
6676
6677 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-label {
6678 color: #aaa;
6679 font-size: 12px;
6680 font-weight: 700;
6681 letter-spacing: .08em;
6682 text-transform: uppercase;
6683 font-family: Roboto, sans-serif;
6684 }
6685
6686 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail {
6687 list-style: none;
6688 margin: 0;
6689 padding: 4px 0;
6690 display: flex;
6691 gap: 14px;
6692 overflow-x: auto;
6693 scroll-snap-type: x mandatory;
6694 }
6695
6696 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail::-webkit-scrollbar {
6697 height: 8px;
6698 }
6699
6700 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail::-webkit-scrollbar-thumb {
6701 background: #4a4a4a;
6702 border-radius: 4px;
6703 }
6704
6705 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-item {
6706 flex: 0 0 220px;
6707 scroll-snap-align: start;
6708 cursor: pointer;
6709 display: flex;
6710 flex-direction: column;
6711 gap: 8px;
6712 padding: 6px;
6713 border-radius: 8px;
6714 transition: background .15s ease;
6715 font-family: Roboto, sans-serif;
6716 }
6717
6718 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-item:hover {
6719 background: rgba(255, 255, 255, .05);
6720 }
6721
6722 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-item.is-active {
6723 background: rgba(255, 255, 255, .1);
6724 }
6725
6726 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-thumb-wrap {
6727 width: 100%;
6728 aspect-ratio: 16/9;
6729 border-radius: 6px;
6730 overflow: hidden;
6731 background: #000;
6732 }
6733
6734 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-thumb {
6735 width: 100%;
6736 height: 100%;
6737 object-fit: cover;
6738 display: block;
6739 }
6740
6741 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-body {
6742 display: flex;
6743 flex-direction: column;
6744 gap: 4px;
6745 }
6746
6747 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-card-title {
6748 color: #fff;
6749 font-size: 14px;
6750 font-weight: 600;
6751 line-height: 1.35;
6752 display: -webkit-box;
6753 -webkit-line-clamp: 2;
6754 -webkit-box-orient: vertical;
6755 overflow: hidden;
6756 }
6757
6758 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-card-channel {
6759 color: #aaa;
6760 font-size: 12px;
6761 }
6762
6763 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__loader {
6764 font-family: Roboto, sans-serif;
6765 }
6766
6767 @media (max-width: 600px) {
6768 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-title {
6769 font-size: 20px;
6770 }
6771
6772 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__hero-body {
6773 padding: 16px 16px;
6774 }
6775
6776 .ep-yt-playlist[data-layout="magazine"][data-playlist-id] .ep-yt-magazine__rail-item {
6777 flex: 0 0 160px;
6778 }
6779 }