PluginProbe
Darkify – Dark Mode & Night Mode for Website & Admin (Dark Theme Included) / 2.0.2
Darkify – Dark Mode & Night Mode for Website & Admin (Dark Theme Included) v2.0.2
2.1.3 2.1.2 2.1.1 2.1.0 2.0.4 2.0.3 2.0.2 2.0.1 2.0.0 1.5.5 1.5.4 1.5.3 1.5.2 1.5.1 1.5.0 trunk 1.0.1 1.1.0 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 All 57 releases
darkify / src / assets / css / client_main.css

client_main.css in Darkify – Dark Mode & Night Mode for Website & Admin (Dark Theme Included) 2.0.2, at src/assets/css/client_main.css

692 lines 20.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*
2 * The colour rules below set `background-color`, never the `background`
3 * shorthand — and that distinction is load-bearing, not a style preference.
4 *
5 * `background` resets every background property it does not mention, so a rule
6 * of the form `background: <colour> !important` does not just repaint an
7 * element: it sets `background-image: none` on it. Everything a design paints
8 * through that property disappears — a select's dropdown chevron, an icon on a
9 * button, a sprite, a texture, a pattern, a gradient. And because the rule is
10 * `!important`, it outranks even an inline `background-image`, so nothing the
11 * engine writes inline can put the image back.
12 *
13 * The pairing was invisible while every rule also declared `background-color`
14 * on the next line with the same value: the shorthand contributed nothing to
15 * the colour and only did the damage. Dropping it changes no colour anywhere
16 * and lets the design's own imagery survive into dark mode.
17 */
18
19 .darkify_dark_mode_enabled
20 .darkify_style_all:not(
21 .darkify_switch,
22 .darkify_switch *,
23 .darkify_ignore,
24 .darkify_ignore *
25 ) {
26 background-color: var(--darkify_dark_mode_bg) !important;
27 color: var(--darkify_dark_mode_text_color) !important;
28 border-right-color: var(--darkify_dark_mode_border_color) !important;
29 border-left-color: var(--darkify_dark_mode_border_color) !important;
30 border-top-color: var(--darkify_dark_mode_border_color) !important;
31 border-bottom-color: var(--darkify_dark_mode_border_color) !important;
32 }
33 .darkify_dark_mode_enabled
34 .darkify_style_bg_txt:not(
35 .darkify_switch,
36 .darkify_switch *,
37 .darkify_ignore,
38 .darkify_ignore *
39 ) {
40 background-color: var(--darkify_dark_mode_bg) !important;
41 color: var(--darkify_dark_mode_text_color) !important;
42 }
43 .darkify_dark_mode_enabled
44 .darkify_style_bg_border:not(
45 .darkify_switch,
46 .darkify_switch *,
47 .darkify_ignore,
48 .darkify_ignore *
49 ) {
50 background-color: var(--darkify_dark_mode_bg) !important;
51 border-right-color: var(--darkify_dark_mode_border_color) !important;
52 border-left-color: var(--darkify_dark_mode_border_color) !important;
53 border-top-color: var(--darkify_dark_mode_border_color) !important;
54 border-bottom-color: var(--darkify_dark_mode_border_color) !important;
55 }
56 .darkify_dark_mode_enabled
57 .darkify_style_txt_border:not(
58 .darkify_switch,
59 .darkify_switch *,
60 .darkify_ignore,
61 .darkify_ignore *
62 ) {
63 color: var(--darkify_dark_mode_text_color) !important;
64 border-right-color: var(--darkify_dark_mode_border_color) !important;
65 border-left-color: var(--darkify_dark_mode_border_color) !important;
66 border-top-color: var(--darkify_dark_mode_border_color) !important;
67 border-bottom-color: var(--darkify_dark_mode_border_color) !important;
68 }
69 .darkify_dark_mode_enabled
70 .darkify_style_bg:not(
71 .darkify_switch,
72 .darkify_switch *,
73 .darkify_ignore,
74 .darkify_ignore *
75 ) {
76 background-color: var(--darkify_dark_mode_bg) !important;
77 }
78 .darkify_dark_mode_enabled
79 .darkify_style_txt:not(
80 .darkify_switch,
81 .darkify_switch *,
82 .darkify_ignore,
83 .darkify_ignore *
84 ) {
85 color: var(--darkify_dark_mode_text_color) !important;
86 }
87 .darkify_dark_mode_enabled
88 .darkify_style_border:not(
89 .darkify_switch,
90 .darkify_switch *,
91 .darkify_ignore,
92 .darkify_ignore *
93 ) {
94 border-right-color: var(--darkify_dark_mode_border_color) !important;
95 border-left-color: var(--darkify_dark_mode_border_color) !important;
96 border-top-color: var(--darkify_dark_mode_border_color) !important;
97 border-bottom-color: var(--darkify_dark_mode_border_color) !important;
98 }
99 .darkify_dark_mode_enabled
100 .darkify_style_secondary_bg:not(
101 .darkify_switch,
102 .darkify_switch *,
103 .darkify_ignore,
104 .darkify_ignore *
105 ) {
106 background-color: var(--darkify_dark_mode_secondary_bg) !important;
107 }
108
109 /*Handle Link Style*/
110 .darkify_dark_mode_enabled
111 .darkify_style_link:not(
112 .darkify_switch,
113 .darkify_switch *,
114 .darkify_ignore,
115 .darkify_ignore *,
116 .darkify-nav ul li a
117 ) {
118 color: var(--darkify_dark_mode_link_color) !important;
119 }
120 .darkify_dark_mode_enabled
121 .darkify_style_link:not(
122 .darkify_switch,
123 .darkify_switch *,
124 .darkify_ignore,
125 .darkify_ignore *
126 ):hover {
127 color: var(--darkify_dark_mode_link_hover_color) !important;
128 }
129
130 /*Handle Form Element Style*/
131 .darkify_dark_mode_enabled
132 .darkify_style_form_element:not(
133 .darkify_switch,
134 .darkify_switch *,
135 .darkify_ignore,
136 .darkify_ignore *
137 ) {
138 background-color: var(--darkify_dark_mode_input_bg) !important;
139 color: var(--darkify_dark_mode_input_text_color) !important;
140 }
141 .darkify_dark_mode_enabled
142 .darkify_style_form_element:not(
143 .darkify_switch,
144 .darkify_switch *,
145 .darkify_ignore,
146 .darkify_ignore *
147 )::placeholder {
148 color: var(--darkify_dark_mode_input_placeholder_color) !important;
149 }
150
151 /*Handle Button Style*/
152 .darkify_dark_mode_enabled
153 .darkify_style_button:not(
154 .darkify_switch,
155 .darkify_switch *,
156 .darkify_ignore,
157 .darkify_ignore *
158 ) {
159 background-color: var(--darkify_dark_mode_btn_bg) !important;
160 color: var(--darkify_dark_mode_btn_text_color) !important;
161 }
162 /* the hover state */
163 .darkify_dark_mode_enabled
164 .darkify_style_button:not(
165 .darkify_switch,
166 .darkify_switch *,
167 .darkify_ignore,
168 .darkify_ignore *
169 ):hover {
170 background-color: var(--darkify_dark_mode_btn_hover_bg) !important;
171 color: var(--darkify_dark_mode_btn_text_hover_color) !important;
172 }
173
174
175 /* ========================
176 Borders the design does not draw
177 ===========================*/
178 /*
179 * A side marked here had a width in the light design but no colour — the
180 * `border: 8px solid transparent` idiom themes and block grids use for gutters
181 * and alignment. It occupies space and paints nothing.
182 *
183 * The rules above cannot tell those sides apart from real ones: they set all
184 * four border colours at once, because a class cannot carry per-side
185 * information. Painting a gutter turns invisible spacing into a visible line,
186 * and an element ringed by four of them grows a box that the light design never
187 * had — the effect that made WooCommerce product cards appear boxed in dark
188 * mode while looking open in light.
189 *
190 * The classifier stamps these markers on exactly the sides it measured as
191 * transparent, so each one is pinned back to transparent regardless of which
192 * colour rule matched. They repeat the `:not(...)` shape of the rules they
193 * override so the specificity matches, and sit after them so they win the tie.
194 */
195 .darkify_dark_mode_enabled
196 .darkify_border_keep_top:not(
197 .darkify_switch,
198 .darkify_switch *,
199 .darkify_ignore,
200 .darkify_ignore *
201 ) {
202 border-top-color: transparent !important;
203 }
204 .darkify_dark_mode_enabled
205 .darkify_border_keep_right:not(
206 .darkify_switch,
207 .darkify_switch *,
208 .darkify_ignore,
209 .darkify_ignore *
210 ) {
211 border-right-color: transparent !important;
212 }
213 .darkify_dark_mode_enabled
214 .darkify_border_keep_bottom:not(
215 .darkify_switch,
216 .darkify_switch *,
217 .darkify_ignore,
218 .darkify_ignore *
219 ) {
220 border-bottom-color: transparent !important;
221 }
222 .darkify_dark_mode_enabled
223 .darkify_border_keep_left:not(
224 .darkify_switch,
225 .darkify_switch *,
226 .darkify_ignore,
227 .darkify_ignore *
228 ) {
229 border-left-color: transparent !important;
230 }
231
232 /* ========================
233 Pre-paint baseline (FOUC)
234 ===========================*/
235 /*
236 * Dark mode is decided in the <head>, but the colours come from a DOM walk that
237 * cannot start until the DOM exists. Something has to cover that gap.
238 *
239 * It cannot be a colour wash. The engine derives each dark colour by *reading*
240 * the element's computed light colour, so any rule that restyles elements
241 * beforehand destroys its input — everything reads back as the wash and nothing
242 * can be derived. A filter has no such effect: it changes painting only, so
243 * `getComputedStyle` still reports the design's real colours.
244 *
245 * Which filter matters. `invert()` is the usual trick, but inverting a
246 * saturated brand colour *raises* its luminance — a solid blue hero comes back
247 * as a brighter blue, which is the flash all over again. `brightness()` can
248 * only ever darken, so no surface can be brighter than it was in light mode,
249 * and every one of them lands close to where the engine is about to put it.
250 * The handoff is dark-to-dark.
251 *
252 * Deliberately temporary: the class comes off the moment the first walk has
253 * assigned real colours.
254 */
255 html.darkify_dark_mode_enabled.darkify_prepaint {
256 background-color: var(--darkify_dark_mode_bg) !important;
257 -webkit-filter: brightness(0.2);
258 filter: brightness(0.2);
259 }
260
261 /* ========================
262 Admin Bar Menu Design
263 ===========================*/
264 .darkify_admin_bar_switch_container {
265 cursor: pointer !important;
266 display: flex;
267 align-items: center;
268 justify-content: center;
269 width: 40px !important;
270 height: 32px !important;
271 }
272 /* On Darkify's own settings/help screens the admin-bar node is always rendered
273 so the React admin can reveal it the instant "Admin Panel Dark Mode" is
274 switched on (see WpAdminBarBridge) rather than only after a reload. It starts
275 hidden whenever the option is off. */
276 .darkify_admin_bar_switch_container.darkify_admin_bar_hidden {
277 display: none !important;
278 }
279 .darkify_admin_bar_switch_container .ab-item {
280 height: 18px !important;
281 cursor: pointer !important;
282 background-color: #ffffff !important;
283 -webkit-mask: url(../../Admin/assets/images/switch_apple_light.svg) no-repeat center;
284 mask: url(../../Admin/assets/images/switch_apple_light.svg) no-repeat center;
285 }
286 .darkify_dark_mode_enabled .darkify_admin_bar_switch_container .ab-item {
287 -webkit-mask: url(../../Admin/assets/images/switch_apple_dark.svg) no-repeat center;
288 mask: url(../../Admin/assets/images/switch_apple_dark.svg) no-repeat center;
289 }
290
291 /* ========================
292 Block Editor Menu Design
293 ===========================*/
294 .darkify_block_editor_switch {
295 height: 33px;
296 cursor: pointer;
297 -webkit-appearance: none;
298 -moz-appearance: none;
299 outline: 0;
300 border: 0;
301 background: #121116;
302 border-radius: 3px;
303 padding: 0 12px;
304 margin-right: 8px;
305 }
306 .darkify_dark_mode_enabled .darkify_block_editor_switch {
307 background: #ffffff;
308 }
309 .darkify_block_editor_switch .icon {
310 width: 20px;
311 height: 20px;
312 background-color: #ffffff !important;
313 -webkit-mask: url(../../Admin/assets/images/switch_apple_light.svg) no-repeat center;
314 mask: url(../../Admin/assets/images/switch_apple_light.svg) no-repeat center;
315 }
316
317 .darkify_dark_mode_enabled .darkify_block_editor_switch .icon {
318 background-color: #171717 !important;
319 -webkit-mask: url(../../Admin/assets/images/switch_apple_dark.svg) no-repeat center;
320 mask: url(../../Admin/assets/images/switch_apple_dark.svg) no-repeat center;
321 }
322
323 /* ========================
324 Switch Design
325 ===========================*/
326
327 .darkify_switch,
328 .darkify_switch * {
329 box-sizing: border-box;
330 }
331 .darkify_switch.darkify_top_left,
332 .darkify_switch.darkify_top_right,
333 .darkify_switch.darkify_bottom_left,
334 .darkify_switch.darkify_bottom_right {
335 position: fixed;
336 z-index: 99999;
337 }
338 .darkify_switch.darkify_top_left {
339 top: var(--darkify_switch_position_from_top_left_top);
340 left: var(--darkify_switch_position_from_top_left_left);
341 }
342 .darkify_switch.darkify_top_right {
343 top: var(--darkify_switch_position_from_top_right_top);
344 right: var(--darkify_switch_position_from_top_right_right);
345 }
346 .darkify_switch.darkify_bottom_left {
347 bottom: var(--darkify_switch_position_from_bottom_left_bottom);
348 left: var(--darkify_switch_position_from_bottom_left_left);
349 }
350 .darkify_switch.darkify_bottom_right {
351 bottom: var(--darkify_switch_position_from_bottom_right_bottom);
352 right: var(--darkify_switch_position_from_bottom_right_right);
353 }
354 .darkify_switch.darkify_absolute_position {
355 position: absolute;
356 }
357
358 @media only screen and (max-width: 600px) {
359 .darkify_switch.darkify_hide_on_mobile {
360 display: none;
361 }
362 }
363
364 @media only screen and (max-width: 600px) {
365 .darkify_switch.darkify_top_left_in_mobile,
366 .darkify_switch.darkify_top_right_in_mobile,
367 .darkify_switch.darkify_bottom_left_in_mobile,
368 .darkify_switch.darkify_bottom_right_in_mobile {
369 position: fixed;
370 }
371 .darkify_switch.darkify_top_left_in_mobile {
372 top: var(--darkify_switch_position_from_top_left_top_in_mobile);
373 left: var(--darkify_switch_position_from_top_left_left_in_mobile);
374 bottom: unset;
375 right: unset;
376 }
377 .darkify_switch.darkify_top_right_in_mobile {
378 top: var(--darkify_switch_position_from_top_right_top_in_mobile);
379 right: var(--darkify_switch_position_from_top_right_right_in_mobile);
380 bottom: unset;
381 left: unset;
382 }
383 .darkify_switch.darkify_bottom_left_in_mobile {
384 bottom: var(--darkify_switch_position_from_bottom_left_bottom_in_mobile);
385 left: var(--darkify_switch_position_from_bottom_left_left_in_mobile);
386 top: unset;
387 right: unset;
388 }
389 .darkify_switch.darkify_bottom_right_in_mobile {
390 bottom: var(--darkify_switch_position_from_bottom_right_bottom_in_mobile);
391 right: var(--darkify_switch_position_from_bottom_right_right_in_mobile);
392 top: unset;
393 left: unset;
394 }
395 }
396
397 .darkify_tooltip .darkify_tooltiptext {
398 visibility: hidden;
399 width: 120px;
400 background-color: var(--darkify_switch_tooltip_bg_color);
401 color: var(--darkify_switch_tooltip_text_color);
402 font-size: 12px;
403 text-align: center;
404 border-radius: 0;
405 padding: 5px 5px;
406 position: absolute;
407 z-index: 1;
408 border-radius: 3px;
409 }
410 .darkify_tooltip .darkify_tooltiptext::after {
411 content: "";
412 position: absolute;
413 border-width: 5px;
414 border-style: solid;
415 }
416 .darkify_tooltip:hover .darkify_tooltiptext {
417 visibility: visible;
418 }
419 .darkify_tooltip.darkify_tooltip_top .darkify_tooltiptext {
420 bottom: calc(100% + 10px);
421 left: 50%;
422 margin-left: -60px;
423 }
424 .darkify_tooltip.darkify_tooltip_top .darkify_tooltiptext::after {
425 left: 50%;
426 margin-left: -5px;
427 top: 100%;
428 border-color: var(--darkify_switch_tooltip_bg_color) transparent transparent
429 transparent;
430 }
431 .darkify_tooltip.darkify_tooltip_bottom .darkify_tooltiptext {
432 top: calc(100% + 10px);
433 left: 50%;
434 margin-left: -60px;
435 }
436 .darkify_tooltip.darkify_tooltip_bottom .darkify_tooltiptext::after {
437 left: 50%;
438 margin-left: -5px;
439 bottom: 100%;
440 border-color: transparent transparent var(--darkify_switch_tooltip_bg_color)
441 transparent;
442 }
443 .darkify_tooltip.darkify_tooltip_left .darkify_tooltiptext {
444 right: calc(100% + 10px);
445 top: calc(50% - 15px);
446 }
447 .darkify_tooltip.darkify_tooltip_left .darkify_tooltiptext::after {
448 top: 50%;
449 left: 100%;
450 margin-top: -5px;
451 border-color: transparent transparent transparent
452 var(--darkify_switch_tooltip_bg_color);
453 }
454 .darkify_tooltip.darkify_tooltip_right .darkify_tooltiptext {
455 left: calc(100% + 10px);
456 top: calc(50% - 15px);
457 }
458 .darkify_tooltip.darkify_tooltip_right .darkify_tooltiptext::after {
459 top: 50%;
460 right: 100%;
461 margin-top: -5px;
462 border-color: transparent var(--darkify_switch_tooltip_bg_color) transparent
463 transparent;
464 }
465
466 /* ==============
467 Switch Style
468 ============== */
469
470 .darkify_switch_style {
471 cursor: pointer;
472 z-index: 9999;
473 width: calc(60px * var(--darkify-switch-scale, 1));
474 height: calc(60px * var(--darkify-switch-scale, 1));
475 border-radius: var(--darkify_switch_border_radius);
476 background: var(--darkify_switch_light_mode_bg);
477 display: flex;
478 align-items: center;
479 justify-content: center;
480 border-width: var(--darkify_switch_border);
481 border-style: solid;
482 border-color: var(--darkify_switch_border_light_color);
483 }
484
485 .darkify_dark_mode_enabled .darkify_switch_style {
486 border-color: var(--darkify_switch_border_dark_color);
487 }
488 .darkify_switch_style .theme-toggle {
489 display: flex;
490 align-items: center;
491 justify-content: center;
492 }
493 .darkify_switch_style svg {
494 width: calc(40px * var(--darkify-switch-scale, 1));
495 height: calc(40px * var(--darkify-switch-scale, 1));
496 color: var(--darkify_switch_light_mode_color);
497 stroke: var(--darkify_switch_light_mode_color);
498 }
499 .darkify_dark_mode_enabled .darkify_switch_style {
500 background: var(--darkify_switch_dark_mode_bg);
501 }
502 .darkify_dark_mode_enabled .darkify_switch_style svg {
503 color: var(--darkify_switch_dark_mode_color);
504 stroke: var(--darkify_switch_dark_mode_color);
505 }
506 .switch-orbit,
507 .switch-duality,
508 .switch-dual,
509 .switch-shift {
510 box-sizing: content-box;
511 }
512 .darkify_dark_mode_enabled
513 .block-editor-page.post-content-style-boxed
514 .editor-styles-wrapper:before {
515 background-color: unset;
516 }
517 .darkify_dark_mode_enabled h3#color-palette-1-0,
518 .darkify_dark_mode_enabled .components-color-palette__custom-color-name {
519 color: var(--darkify_dark_mode_text_color)!important;
520 }
521 .darkify-dropdown {
522 position: relative;
523 width: 160px;
524 margin-left: 8px;
525 }
526
527 .darkify-dropdown .darkify-selected {
528 padding: 5px;
529 background: #fff;
530 color: #000;
531 cursor: pointer;
532 border-radius: 3px;
533 border: 1px solid #c0c0c0;
534 }
535
536 .darkify-dropdown .darkify-options {
537 display: none;
538 position: absolute;
539 width: 100%;
540 background: #fff;
541 border-radius: 6px;
542 margin-top: 5px;
543 overflow: hidden;
544 z-index: 1000;
545 box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
546 color: #000;
547 top: 30px;
548 }
549
550 .darkify-dropdown .darkify-options.show {
551 display: block;
552 }
553
554 .darkify-dropdown .darkify-option {
555 padding: 8px;
556 cursor: pointer;
557 display: flex;
558 align-items: center;
559 gap: 4px;
560 }
561 .darkify-dropdown .darkify-pro-option {
562 cursor: not-allowed;
563 opacity: 0.55;
564 pointer-events: none;
565 gap: 4px;
566 }
567 .darkify-option-pro-badge {
568 margin-left: auto;
569 font-size: 10px;
570 font-weight: 600;
571 background: #cbd6df;
572 color: #5e6e7d;
573 padding: 2px 5px;
574 border-radius: 3px;
575 white-space: nowrap;
576 flex-shrink: 0;
577 }
578 .darkify-dropdown .darkify-selected {
579 display: flex;
580 align-items: center;
581 width: 100%;
582 gap: 4px;
583 }
584 .darkify-dropdown .theme_color {
585 display: inline-block;
586 width: 20px;
587 height: 20px;
588 border-radius: 50%;
589 border: 1px solid gray;
590 }
591 .darkify-dropdown .default {
592 background-color: #fff;
593 }
594 .darkify-dropdown .carbon_mist {
595 background-color: #171717;
596 }
597 .darkify-dropdown .midnight_reverie {
598 background-color: #4e478d;
599 }
600 .darkify-dropdown .verdant_depths {
601 background-color: #073d2f;
602 }
603 .darkify-dropdown .celestial_tide {
604 background-color: #144e78;
605 }
606 .darkify-dropdown .emberwood {
607 background-color: #372911;
608 }
609 .darkify-dropdown .glacier_drift {
610 background-color: #123d52;
611 }
612 .darkify-dropdown .indigo_veil {
613 background-color: #46598c;
614 }
615 .darkify-dropdown .duskmire {
616 background-color: #403953;
617 }
618 .darkify-dropdown .tidal_frost {
619 background-color: #286f8d;
620 }
621 .darkify-dropdown .blue_bastion {
622 background-color: #244892;
623 }
624 .darkify-dropdown .crimson_veil {
625 background-color: #440649;
626 }
627
628 .darkify_dark_mode_enabled .darkify-dropdown,
629 .darkify_dark_mode_enabled .darkify-options.show {
630 background-color: var(--darkify_dark_mode_bg) !important;
631 }
632
633 /* Switch Attention Effects */
634 @keyframes darkify_attention_pulse {
635 0%, 100% { transform: scale(1); }
636 50% { transform: scale(1.1); }
637 }
638 @keyframes darkify_attention_radiance {
639 0%, 100% { box-shadow: 0 0 0 0 rgba(100, 100, 100, 0.45); }
640 50% { box-shadow: 0 0 0 14px rgba(100, 100, 100, 0); }
641 }
642 @keyframes darkify_attention_leap {
643 0%, 55%, 100% { transform: translateY(0); }
644 30% { transform: translateY(-14px); }
645 45% { transform: translateY(-8px); }
646 }
647 @keyframes darkify_attention_swing {
648 0%, 100% { transform: rotate(0deg); transform-origin: center bottom; }
649 20% { transform: rotate(-9deg); transform-origin: center bottom; }
650 40% { transform: rotate(7deg); transform-origin: center bottom; }
651 60% { transform: rotate(-5deg); transform-origin: center bottom; }
652 80% { transform: rotate(3deg); transform-origin: center bottom; }
653 }
654 @keyframes darkify_attention_drift {
655 0%, 100% { transform: translateY(0); }
656 50% { transform: translateY(-8px); }
657 }
658 @keyframes darkify_attention_nudge {
659 0%, 65%, 100% { transform: translateX(0); }
660 10% { transform: translateX(-6px); }
661 20% { transform: translateX(6px); }
662 30% { transform: translateX(-4px); }
663 40% { transform: translateX(4px); }
664 50% { transform: translateX(-2px); }
665 57% { transform: translateX(2px); }
666 }
667 .darkify_switch.darkify_attention_pulse {
668 animation: darkify_attention_pulse 2s ease-in-out 2s infinite;
669 }
670 .darkify_switch.darkify_attention_radiance {
671 animation: darkify_attention_radiance 2s ease-in-out 2s infinite;
672 }
673 .darkify_switch.darkify_attention_leap {
674 animation: darkify_attention_leap 2.5s ease-in-out 2s infinite;
675 }
676 .darkify_switch.darkify_attention_swing {
677 animation: darkify_attention_swing 1.6s ease-in-out 2s infinite;
678 }
679 .darkify_switch.darkify_attention_drift {
680 animation: darkify_attention_drift 3s ease-in-out 2s infinite;
681 }
682 .darkify_switch.darkify_attention_nudge {
683 animation: darkify_attention_nudge 2.5s ease-in-out 2s infinite;
684 }
685 .darkify_switch.darkify_attention_pulse:hover,
686 .darkify_switch.darkify_attention_radiance:hover,
687 .darkify_switch.darkify_attention_leap:hover,
688 .darkify_switch.darkify_attention_swing:hover,
689 .darkify_switch.darkify_attention_drift:hover,
690 .darkify_switch.darkify_attention_nudge:hover {
691 animation-play-state: paused;
692 }