Add support for x-revalidate header.
[lw2-viewer.git] / www / style.css.php
blob49536012dfffdd4270c08a541a8ebef19641caad
1 <?php
2 header ('Content-type: text/css; charset=utf-8');
4 $platform = @$argv[1] ?: 'Mac';
5 $UI_font = "'Concourse', 'a_Avante', 'GW-Symbols'";
7 $content_width_settings = [
8 'normal' => '900px',
9 'wide' => '1150px',
10 'fluid' => 'calc(100% - 300px)'
13 function fit_content($selector, $property = "width") {
14 foreach (["-moz-fit-content", "fit-content"] as $pvalue) echo
15 "@supports (width: {$pvalue}) {
16 {$selector} {
17 {$property}: {$pvalue};
24 /*************/
25 /* VARIABLES */
26 /*************/
28 :root {
29 --GW-comment-background-color-odd: transparent;
30 --GW-comment-background-color-even: transparent;
31 --GW-comment-background-color-target: transparent;
33 --GW-toggle-widget-color: #888;
34 --GW-toggle-widget-hover-color: #444;
35 --GW-toggle-widget-shadow-color: rgba(255, 255, 255, 0.5);
37 --inverted-display: none;
40 /***************/
41 /* BASE LAYOUT */
42 /***************/
44 html {
45 box-sizing: border-box;
46 font-size: 16px;
48 *, *::before, *::after {
49 box-sizing: inherit;
51 script {
52 display: none !important;
55 /*=------=*/
56 /*= Body =*/
57 /*=------=*/
59 body {
60 padding: 0;
61 margin: 0;
63 body::before {
64 background-color: inherit;
65 position: fixed;
66 width: 100%;
67 height: 100%;
70 body.no-scroll {
71 overflow-y: scroll;
72 position: fixed;
73 width: 100%;
76 /*=----------------------------=*/
77 /*= Immediate children of body =*/
78 /*=----------------------------=*/
80 body > * {
81 max-width: 900px;
84 /* Special styles for special browsers.
85 (This one is a fix for Firefox’s built-in screenshot feature.)
87 body > iframe[id^='firefox-screenshots'] {
88 max-width: unset;
91 #content {
92 margin: 0 auto;
93 padding: 0 30px;
94 position: relative;
95 overflow: visible;
96 display: grid;
97 grid-template-columns: 2fr 1fr 2fr;
99 #content::before {
100 content: "";
101 display: block;
102 position: absolute;
103 top: 0;
104 left: 0;
105 width: 100%;
106 height: 100%;
107 z-index: -1;
108 pointer-events: none;
111 /*=---------=*/
112 /*= Content =*/
113 /*=---------=*/
115 #content > * {
116 grid-column: 1 / span 3;
119 /*=----------------------=*/
120 /*= Floating UI elements =*/
121 /*=----------------------=*/
123 #ui-elements-container {
124 position: fixed;
125 height: 100vh;
126 top: 0;
127 left: 0;
128 right: 0;
129 margin: auto;
130 z-index: 10000;
131 pointer-events: none;
133 #ui-elements-container > * {
134 pointer-events: auto;
137 /*=----------------=*/
138 /*= Images overlay =*/
139 /*=----------------=*/
140 /* (To exclude images in posts from theme tweaks) */
142 #images-overlay {
143 position: absolute;
144 z-index: 1;
145 left: 0;
146 right: 0;
147 margin: auto;
150 /***********/
151 /* NAV BAR */
152 /***********/
154 .nav-bar {
155 margin: 0 -30px;
156 display: flex;
157 order: -11;
158 z-index: 1;
161 /*=---------------=*/
162 /*= Nav bar items =*/
163 /*=---------------=*/
165 .nav-item {
166 flex: 1 1 auto;
168 .nav-item * {
169 text-overflow: ellipsis;
170 white-space: nowrap;
171 overflow: hidden;
173 .nav-inner {
174 padding: 12px 30px;
175 text-align: center;
176 display: block;
177 position: relative;
178 line-height: inherit;
179 width: 100%;
180 background: unset;
182 .nav-bar-top:not(#primary-bar) .nav-inner {
183 padding: 4px 0;
186 #nav-item-sequences .nav-inner::before {
187 font-family: "Font Awesome", "Font Awesome 5 Free";
188 content: "\F5DB";
190 @media only screen and (min-width: 901px) {
191 #nav-item-about .nav-inner {
192 margin-right: 0.5em;
194 #nav-item-sequences .nav-inner::before {
195 font-size: 1rem;
196 display: block;
198 #secondary-bar #nav-item-sequences .nav-inner {
199 font-size: 0;
200 line-height: 1.4;
204 /*=------------=*/
205 /*= Bottom bar =*/
206 /*=------------=*/
208 #bottom-bar {
209 order: 11;
211 h1.listing ~ #bottom-bar {
212 margin-top: 1.25em;
214 #bottom-bar .nav-item {
215 flex: 1 1 0;
218 /*=-----------------=*/
219 /*= Accesskey hints =*/
220 /*=-----------------=*/
222 .nav-inner::after {
223 content: attr(accesskey);
224 display: none;
227 /*=---------------=*/
228 /*= Pagination UI =*/
229 /*=---------------=*/
231 #bottom-bar .nav-item a::before,
232 #top-nav-bar a::before {
233 font-family: "Font Awesome", "Font Awesome 5 Free";
234 font-weight: 900;
235 font-size: 0.8em;
236 position: relative;
237 bottom: 1px;
238 margin-right: 0.5em;
240 #bottom-bar #nav-item-first a::before,
241 #top-nav-bar a.nav-item-first::before {
242 content: "\F33e";
244 #bottom-bar #nav-item-top a::before {
245 content: "\F062";
247 #bottom-bar #nav-item-prev a::before,
248 #top-nav-bar a.nav-item-prev::before {
249 content: "\F060";
251 #bottom-bar #nav-item-next a::before,
252 #top-nav-bar a.nav-item-next::before {
253 content: "\F061";
255 #bottom-bar #nav-item-last a::before,
256 #top-nav-bar a.nav-item-last::before {
257 content: "\F340";
259 #bottom-bar #nav-item-next a::before {
260 margin-left: -2em;
261 margin-right: 0;
262 left: 3.8em;
264 #bottom-bar #nav-item-last a::before {
265 margin-left: -1.8em;
266 margin-right: 0;
267 left: 3.4em;
270 /*= Hover tooltips =*/
272 #top-nav-bar a {
273 position: relative;
275 #top-nav-bar a::after {
276 bottom: calc(100% - 3px);
277 content: attr(data-target-page);
279 #top-nav-bar a::after {
280 display: block;
281 position: absolute;
282 font-size: 0.75rem;
283 width: 100%;
284 line-height: 1;
285 visibility: hidden;
287 #top-nav-bar a:hover::after,
288 #bottom-bar a:hover::after {
289 visibility: visible;
292 /*=-----------------------=*/
293 /*= Decorative bottom bar =*/
294 /*=-----------------------=*/
295 /* (On short pages with no pagination) */
297 #bottom-bar.decorative {
298 position: relative;
300 #bottom-bar.decorative .nav-item {
301 display: none;
304 /*=------------=*/
305 /*= Search tab =*/
306 /*=------------=*/
308 #nav-item-search {
309 flex: 4 1 auto;
311 #nav-item-search form::before {
312 content: "\F002";
313 font-family: "Font Awesome", "Font Awesome 5 Free";
314 font-weight: 900;
315 display: inline-block;
316 vertical-align: top;
317 height: 23px;
318 width: 23px;
320 #nav-item-search input {
321 height: 23px;
322 width: calc(95% - 80px);
323 padding: 1px 4px;
325 #nav-item-search button {
326 height: 21px;
329 /*=-----------=*/
330 /*= Login tab =*/
331 /*=-----------=*/
333 #nav-item-login {
334 position: relative;
335 padding-right: 0.5em;
338 /*******************/
339 /* INBOX INDICATOR */
340 /*******************/
342 #inbox-indicator {
343 position: absolute;
344 top: 1px;
345 right: 0;
346 height: 100%;
347 visibility: hidden;
349 #inbox-indicator::before {
350 content: "\F0E0";
351 font-family: "Font Awesome", "Font Awesome 5 Free";
352 color: #bbb;
353 font-size: 1.1875rem;
354 position: absolute;
355 height: 100%;
356 right: 0;
357 top: 0;
358 padding: 0 0.45em;
359 visibility: visible;
360 font-weight: 900;
362 #inbox-indicator.new-messages::before {
363 color: #f00;
364 text-shadow:
365 0 0 1px #777,
366 0.5px 0.5px 1px #777;
368 a#inbox-indicator:hover::before {
369 color: #fff;
370 text-shadow:
371 0 0 1px #000,
372 0 0 2px #000,
373 0 0 4px #000,
374 0 0 1px #777,
375 0.5px 0.5px 1px #777;
377 a#inbox-indicator.new-messages:hover::before {
378 text-shadow:
379 0 0 1px #f00,
380 0 0 2px #f00,
381 0 0 4px #f00,
382 0 0 1px #777,
383 0.5px 0.5px 1px #777;
386 /****************/
387 /* PAGE TOOLBAR */
388 /****************/
390 .page-toolbar {
391 font-size: 0.9em;
392 line-height: 1.8;
393 text-align: right;
394 margin-right: -20px;
396 #content > .page-toolbar {
397 grid-column: 3;
398 grid-row: span 3;
400 #content.user-page > .page-toolbar {
401 grid-column: 2 / span 2;
402 order: -4;
405 /*=--------------------------=*/
406 /*= Page toolbar items (all) =*/
407 /*=--------------------------=*/
409 .page-toolbar > * {
410 display: inline-block;
411 margin-left: 1.5em;
413 .page-toolbar > form button {
414 padding: 0;
415 text-align: right;
416 white-space: unset;
418 .page-toolbar > form button::before {
419 text-align: center;
421 .page-toolbar .button::before {
422 font-family: "Font Awesome", "Font Awesome 5 Free";
423 font-size: 0.9em;
424 padding-right: 0.3em;
427 /*=-------------------------------=*/
428 /*= Page toolbar items (specific) =*/
429 /*=-------------------------------=*/
431 .new-post::before {
432 content: '\F067';
433 font-weight: 900;
435 .new-private-message::before {
436 content: '\F075';
437 font-weight: 400;
439 .logout-button::before {
440 content: '\F2F5';
441 font-weight: 900;
443 #enable-push-notifications::before {
444 content: '\F0F3';
445 font-weight: 400;
447 .ignore-button::before {
448 content: "\F070";
449 font-weight: 400;
451 .unignore-button::before {
452 content: "\F06E";
453 font-weight: 400;
455 .rss::before {
456 content: url('data:image/svg+xml;base64,<?php echo base64_encode(file_get_contents("assets/rss.svg")) ?>');
457 display: inline-block;
458 width: 1em;
459 padding-right: 0.2em;
460 position: relative;
461 top: 1px;
464 /*********************/
465 /* TOP PAGINATION UI */
466 /*********************/
468 #top-nav-bar {
469 grid-column: 2;
470 margin: 0.25em 0 0 0;
471 padding: 0.75em 0 0 0;
472 text-align: center;
473 font-size: 1.25em;
474 display: flex;
475 justify-content: center;
477 #top-nav-bar a {
478 line-height: 1;
480 #top-nav-bar a.disabled {
481 pointer-events: none;
482 visibility: hidden;
484 #top-nav-bar .page-number {
485 position: relative;
486 display: inline-block;
487 width: 1.5em;
489 #top-nav-bar .page-number-label {
490 position: absolute;
491 font-size: 0.5em;
492 text-transform: uppercase;
493 width: 100%;
494 bottom: 90%;
495 left: 0;
497 #top-nav-bar a::before {
498 margin: 0.5em;
499 display: inline-block;
502 /****************/
503 /* SUBLEVEL NAV */
504 /****************/
506 .sublevel-nav {
507 text-align: center;
508 display: flex;
509 justify-content: center;
510 margin: 1em 0 0 0;
512 #content > .sublevel-nav:not(.sort) {
513 grid-column: 2;
514 align-self: start;
516 .sublevel-nav .sublevel-item {
517 flex: 0 0 6em;
518 padding: 0.125em 0.5em;
519 font-size: 1.125rem;
521 .sublevel-nav .sublevel-item:active {
522 transform: none;
524 .sublevel-nav .sublevel-item.selected {
525 cursor: default;
528 /***********************/
529 /* SORT ORDER SELECTOR */
530 /***********************/
532 .sublevel-nav.sort {
533 position: relative;
534 margin-top: 8px;
535 font-size: 0.75em;
537 #content > .sublevel-nav.sort {
538 grid-column: 3;
539 grid-row: span 2;
540 justify-self: end;
541 align-self: start;
542 flex-flow: column;
544 #content.index-page > .sublevel-nav.sort {
545 grid-column: 1;
546 justify-self: start;
547 flex-flow: row;
550 .sublevel-nav.sort::before {
551 content: "Sort";
552 font-size: 0.75rem;
553 position: absolute;
554 top: 0;
555 left: 0;
556 width: 100%;
558 .sublevel-nav.sort .sublevel-item {
559 line-height: 1;
560 font-size: 0.875rem;
561 flex-basis: unset;
564 /*******************************/
565 /* COMMENTS SORT MODE SELECTOR */
566 /*******************************/
568 .comments > .sublevel-nav.sort {
569 margin: 1em auto 0 auto;
571 <?php fit_content(".comments > .sublevel-nav.sort"); ?>
574 /**********************/
575 /* DARK MODE SELECTOR */
576 /**********************/
578 #dark-mode-selector {
579 position: absolute;
580 top: 4px;
581 right: -78px;
582 display: flex;
583 opacity: 0.4;
585 #dark-mode-selector:hover {
586 opacity: 1.0;
589 /*=---------=*/
590 /*= Buttons =*/
591 /*=---------=*/
593 #dark-mode-selector button {
594 font-family: "Font Awesome", "Font Awesome 5 Free";
595 font-size: 1.125rem;
596 width: 24px;
597 height: 24px;
598 padding: 0;
599 line-height: 1;
600 font-weight: 400;
602 #dark-mode-selector button.select-mode-auto {
604 #dark-mode-selector button.select-mode-light {
605 font-size: 1.25rem;
606 padding: 1px 0 0 1px;
608 #dark-mode-selector button.select-mode-dark {
609 font-weight: 300;
610 font-size: 1.25rem;
611 padding: 1px 0 0 4px;
613 #dark-mode-selector button.select-mode-dark.selected {
614 font-weight: 400;
616 #dark-mode-selector button:disabled:active {
617 transform: none;
619 #dark-mode-selector button:disabled:hover {
620 cursor: default;
623 /*=----------------=*/
624 /*= Hover tooltips =*/
625 /*=----------------=*/
627 #dark-mode-selector button::after {
628 content: attr(data-name);
629 font-family: <?php echo $UI_font; ?>;
630 font-weight: normal;
631 position: absolute;
632 display: block;
633 left: 0;
634 width: 100%;
635 text-align: center;
636 top: 92px;
637 font-size: 1rem;
638 visibility: hidden;
640 #dark-mode-selector button.selected::after {
641 content: attr(data-name) " (selected)";
643 #dark-mode-selector button:hover:not(:active)::after {
644 visibility: visible;
648 /******************/
649 /* WIDTH SELECTOR */
650 /******************/
652 #width-selector {
653 position: absolute;
654 top: 40px;
655 right: -78px;
657 #width-selector button {
658 width: 22px;
659 height: 22px;
660 padding: 6px;
661 margin: 1px;
662 overflow: hidden;
663 background-repeat: no-repeat;
664 background-size: 100%;
665 background-origin: content-box;
667 #width-selector button,
668 #width-selector button:active,
669 #width-selector button:focus {
670 text-shadow: none;
671 color: transparent;
673 #width-selector button:disabled {
674 cursor: auto;
676 #width-selector button.select-width-normal {
677 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/normal.gif")) ?>');
679 #width-selector button.select-width-wide {
680 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/wide.gif")) ?>');
682 #width-selector button.select-width-fluid {
683 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/fluid.gif")) ?>');
686 /*=----------------=*/
687 /*= Hover tooltips =*/
688 /*=----------------=*/
690 #width-selector button::after {
691 content: attr(data-name);
692 position: absolute;
693 display: block;
694 left: 0;
695 width: 100%;
696 text-align: center;
697 top: 56px;
698 visibility: hidden;
700 #width-selector button.selected::after {
701 content: attr(data-name) " (selected)";
703 #width-selector button:hover:not(:active)::after {
704 visibility: visible;
707 <?php
708 global $content_width_settings;
709 foreach ($content_width_settings as $name => $setting) {
710 echo "head.content-width-{$name} + body > * {\n max-width: {$setting};\n}\n";
714 /******************/
715 /* THEME SELECTOR */
716 /******************/
718 #theme-selector {
719 position: absolute;
720 top: 3px;
721 left: -41px;
722 opacity: 0.4;
723 display: table;
724 max-width: 40px;
726 #theme-selector:hover {
727 opacity: 1.0;
730 /*=----------------------=*/
731 /*= Theme select buttons =*/
732 /*=----------------------=*/
734 .theme-selector button {
735 display: table-cell;
736 width: 26px;
737 height: 26px;
738 padding: 5px;
739 margin: 1px 7px 0 7px;
740 color: transparent;
741 background-size: 16px 16px;
742 background-origin: content-box;
744 .theme-selector button,
745 .theme-selector button:hover,
746 .theme-selector button:active,
747 .theme-selector button:focus {
748 text-shadow: none;
749 color: transparent;
751 .theme-selector button:disabled {
752 cursor: auto;
755 /*=----------------------------=*/
756 /*= Pre-rendered button images =*/
757 /*=----------------------------=*/
758 /* (Each is just a capital letter A through whatever) */
760 .theme-selector button:nth-of-type(1) {
761 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/theme_A.gif")) ?>');
763 .theme-selector button:nth-of-type(2) {
764 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/theme_B.gif")) ?>');
766 .theme-selector button:nth-of-type(3) {
767 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/theme_C.gif")) ?>');
769 .theme-selector button:nth-of-type(4) {
770 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/theme_D.gif")) ?>');
772 .theme-selector button:nth-of-type(5) {
773 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/theme_E.gif")) ?>');
775 .theme-selector button:nth-of-type(6) {
776 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/theme_F.gif")) ?>');
778 .theme-selector button:nth-of-type(7) {
779 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/theme_G.gif")) ?>');
781 .theme-selector button:nth-of-type(8) {
782 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/theme_H.gif")) ?>');
785 /*=------------------------------=*/
786 /*= Theme select button tooltips =*/
787 /*=------------------------------=*/
788 /* (with the name & description of the theme that each button selects) */
790 #theme-selector button {
791 position: relative;
792 z-index: 1;
794 #theme-selector button::before {
795 content: attr(data-theme-name);
796 position: absolute;
797 top: 0;
798 right: 100%;
799 padding: 5px 6px 6px 6px;
800 line-height: 1;
801 width: 6em;
802 text-align: right;
803 z-index: 1;
804 visibility: hidden;
806 #theme-selector:hover button::before {
807 visibility: visible;
809 #theme-selector:hover ~ #theme-tweaker-toggle,
810 #theme-selector:active ~ #theme-tweaker-toggle {
811 z-index: -1;
814 /************************/
815 /* THEME TWEAKER TOGGLE */
816 /************************/
818 #theme-tweaker-toggle {
819 position: absolute;
820 top: 7px;
821 left: -75px;
823 #theme-tweaker-toggle button {
824 font-family: "Font Awesome", "Font Awesome 5 Free";
825 font-weight: 900;
826 font-size: 1.25rem;
827 opacity: 0.4;
828 z-index: 1;
830 #theme-tweaker-toggle button:hover {
831 opacity: 1.0;
834 /*******************/
835 /* QUICKNAV WIDGET */
836 /*******************/
838 #quick-nav-ui {
839 position: absolute;
840 right: -67px;
841 bottom: 20px;
843 #quick-nav-ui a {
844 font-family: "Font Awesome", "Font Awesome 5 Free";
845 font-weight: 900;
846 font-size: 1.5rem;
847 line-height: 1.7;
848 text-align: center;
849 display: block;
850 width: 40px;
851 height: 40px;
852 margin: 10px 0 0 0;
854 #quick-nav-ui a[href='#comments'].no-comments {
855 pointer-events: none;
857 #quick-nav-ui a {
858 visibility: hidden;
860 #content.post-page ~ #ui-elements-container #quick-nav-ui a[href='#comments'] {
861 visibility: visible;
864 /************************/
865 /* NEW COMMENT QUICKNAV */
866 /************************/
868 #new-comment-nav-ui {
869 position: absolute;
870 right: -112px;
871 bottom: 42px;
873 #new-comment-nav-ui > * {
874 display: block;
875 position: relative;
877 #new-comment-nav-ui.no-comments {
878 display: none;
881 /*=--------------------=*/
882 /*= New comments count =*/
883 /*=--------------------=*/
885 #new-comment-nav-ui .new-comments-count {
886 width: 2em;
887 font-size: 1.25rem;
888 line-height: 1.1;
889 text-align: center;
890 left: 1px;
891 cursor: pointer;
893 #new-comment-nav-ui .new-comments-count::selection {
894 background-color: transparent;
896 #new-comment-nav-ui .new-comments-count::after {
897 content: "NEW";
898 display: block;
899 font-size: 0.625rem;
902 /*=-----------------------------------=*/
903 /*= Next/previous new comment buttons =*/
904 /*=-----------------------------------=*/
906 #new-comment-nav-ui .new-comment-sequential-nav-button {
907 font-size: 1.75rem;
908 font-family: "Font Awesome", "Font Awesome 5 Free";
909 font-weight: 900;
910 width: 1.5em;
911 z-index: 5001;
913 #new-comment-nav-ui .new-comment-previous {
914 top: 8px;
916 #new-comment-nav-ui .new-comment-next {
917 bottom: 6px;
919 #new-comment-nav-ui .new-comment-sequential-nav-button:disabled {
920 cursor: auto;
921 pointer-events: none;
924 /*******************/
925 /* HNS DATE PICKER */
926 /*******************/
928 #hns-date-picker {
929 position: absolute;
930 bottom: 72px;
931 right: -253px;
932 opacity: 0.6;
934 #hns-date-picker:hover,
935 #hns-date-picker:focus-within {
936 opacity: 1.0;
938 #hns-date-picker.no-comments {
939 display: none;
942 /*=---------------=*/
943 /*= "Since" label =*/
944 /*=---------------=*/
946 #hns-date-picker span {
947 display: block;
948 font-size: 0.75rem;
949 text-transform: uppercase;
952 /*=--------------------=*/
953 /*= "Since" text field =*/
954 /*=--------------------=*/
956 #hns-date-picker input {
957 margin-top: 1px;
958 padding: 1px 3px;
959 width: 140px;
960 text-align: center;
961 box-shadow: 0 0 0 1px transparent;
964 /************************/
965 /* ANTI-KIBITZER TOGGLE */
966 /************************/
968 #anti-kibitzer-toggle {
969 position: absolute;
970 right: -67px;
971 bottom: 225px;
973 #anti-kibitzer-toggle button {
974 display: block;
975 width: 40px;
976 height: 54px;
977 padding: 0;
979 #anti-kibitzer-toggle button::before,
980 #anti-kibitzer-toggle button::after {
981 font-family: "Font Awesome", "Font Awesome 5 Free";
983 #anti-kibitzer-toggle button::before {
984 content: "\F06E";
985 display: block;
986 font-size: 1.75em;
987 font-weight: 400;
989 #anti-kibitzer-toggle button::after {
990 content: "\F007\2004\F164";
991 font-size: 0.875em;
992 font-weight: 900;
994 #anti-kibitzer-toggle.engaged button::before {
995 content: "\F070";
998 #anti-kibitzer-toggle button::before,
999 #anti-kibitzer-toggle button::after {
1000 background-color: var(--GW-toggle-widget-color);
1001 -webkit-background-clip: text;
1002 color: transparent;
1003 text-shadow: var(--GW-toggle-widget-shadow-color) 0px 1px 1px;
1005 #anti-kibitzer-toggle button:hover::before,
1006 #anti-kibitzer-toggle button:hover::after {
1007 background-color: var(--GW-toggle-widget-hover-color);
1010 /************************/
1011 /* TEXT SIZE ADJUSTMENT */
1012 /************************/
1014 #text-size-adjustment-ui {
1015 position: absolute;
1016 top: 64px;
1017 right: -78px;
1018 opacity: 0.4;
1020 #text-size-adjustment-ui:hover {
1021 opacity: 1.0;
1024 /* This doesn't work in Mozilla browsers, so hide it */
1025 @supports (-moz-appearance: none) {
1026 #text-size-adjustment-ui {
1027 display: none;
1031 /*=---------=*/
1032 /*= Buttons =*/
1033 /*=---------=*/
1035 #text-size-adjustment-ui button {
1036 font-weight: 900;
1037 font-family: "Font Awesome", "Font Awesome 5 Free";
1038 font-size: 0.75rem;
1039 width: 24px;
1040 height: 24px;
1041 padding: 0;
1043 #text-size-adjustment-ui button.default {
1044 font-family: inherit;
1045 font-size: 1.125rem;
1046 position: relative;
1047 top: 1px;
1049 #text-size-adjustment-ui button:disabled {
1050 opacity: 0.5;
1052 #text-size-adjustment-ui button:disabled:hover {
1053 cursor: default;
1056 /*=----------------=*/
1057 /*= Hover tooltips =*/
1058 /*=----------------=*/
1060 #text-size-adjustment-ui::after {
1061 content: "Adjust text size";
1062 position: absolute;
1063 display: block;
1064 left: 0;
1065 width: 100%;
1066 text-align: center;
1067 top: 32px;
1068 visibility: hidden;
1069 font-size: 0.9em;
1071 #text-size-adjustment-ui:hover::after {
1072 visibility: visible;
1075 /*******************************/
1076 /* COMMENTS VIEW MODE SELECTOR */
1077 /*******************************/
1079 #comments-view-mode-selector {
1080 position: absolute;
1081 bottom: 30px;
1082 left: -40px;
1083 opacity: 0.6;
1085 #comments-view-mode-selector:hover {
1086 opacity: 1.0;
1089 /*=---------=*/
1090 /*= Buttons =*/
1091 /*=---------=*/
1093 #comments-view-mode-selector a {
1094 display: block;
1095 font-family: "Font Awesome", "Font Awesome 5 Free";
1096 font-size: 1.25rem;
1097 text-align: center;
1098 opacity: 0.4;
1099 padding: 0.25em;
1100 z-index: 1;
1102 #comments-view-mode-selector a.threaded {
1103 transform: scaleY(-1);
1104 font-weight: 900;
1106 #comments-view-mode-selector a.chrono {
1107 font-weight: normal;
1109 #comments-view-mode-selector a.selected,
1110 #comments-view-mode-selector a:hover {
1111 opacity: 1.0;
1112 text-decoration: none;
1114 #comments-view-mode-selector a.selected {
1115 cursor: default;
1118 /*****************/
1119 /* KEYBOARD HELP */
1120 /*****************/
1122 #keyboard-help-overlay {
1123 width: 100vw;
1124 height: 100vh;
1125 background-color: rgba(0,0,0,0.7);
1126 position: fixed;
1127 left: 0;
1128 top: 0;
1129 z-index: 5001;
1131 display: flex;
1132 justify-content: center;
1133 align-items: center;
1134 padding: 20px 30px 30px 20px;
1136 visibility: hidden;
1139 #keyboard-help-overlay .keyboard-help-container {
1140 background-color: #fff;
1141 filter: drop-shadow(4px 4px 2px #000);
1142 flex: 1 1 auto;
1143 max-width: 1500px;
1144 max-height: 100%;
1145 overflow-y: auto;
1146 position: relative;
1148 #keyboard-help-overlay .keyboard-help-container h1 {
1149 text-align: center;
1150 border-bottom: 1px solid #ddd;
1151 margin: 0;
1152 padding: 10px 20px;
1154 #keyboard-help-overlay .keyboard-help-container .note {
1155 margin: 0.5em auto;
1156 padding: 0 1em;
1157 width: fit-content;
1159 #keyboard-help-overlay .keyboard-help-container .keyboard-shortcuts-lists {
1160 column-width: 21em;
1161 column-count: auto;
1162 column-gap: 1.5em;
1163 border-top: 1px solid #ddd;
1164 padding: 15px 20px;
1166 #keyboard-help-overlay .keyboard-help-container ul {
1167 list-style-type: none;
1168 margin: 0;
1169 padding: 0;
1170 break-inside: avoid;
1171 white-space: nowrap;
1173 #keyboard-help-overlay .keyboard-help-container ul:nth-of-type(n+2) {
1174 margin: 20px 0 0 0;
1176 #keyboard-help-overlay .keyboard-help-container ul li.section {
1177 font-weight: bold;
1178 font-size: 1.125rem;
1179 break-after: avoid;
1181 #keyboard-help-overlay .keyboard-help-container .keys {
1182 margin: 0 0.5em 0 0;
1183 min-width: 4.5em;
1184 display: inline-block;
1186 #keyboard-help-overlay .keyboard-help-container .keys code {
1187 margin: 0 6px 0 0;
1189 #keyboard-help-overlay .keyboard-help-container code {
1190 display: inline-block;
1191 background-color: #eee;
1192 border: 1px solid #ccc;
1193 padding: 3px 8px 4px 8px;
1194 margin: 0 1px;
1196 #keyboard-help-overlay .keyboard-help-container code.ak {
1197 background-color: #ffeb83;
1198 border-color: #d4a500;
1200 #keyboard-help-overlay .keyboard-help-container code.ak::before {
1201 content: "ak+";
1202 opacity: 0.3;
1205 #nav-item-about button.open-keyboard-help {
1206 display: none;
1208 @media only screen and (hover:hover) and (pointer:fine) {
1209 #nav-item-about {
1210 position: relative;
1211 padding-right: 0.25em;
1213 #nav-item-about button.open-keyboard-help {
1214 font-family: "Font Awesome", "Font Awesome 5 Free";
1215 font-weight: 900;
1216 position: absolute;
1217 top: 0;
1218 right: 0;
1219 height: 100%;
1220 padding: 8px;
1221 display: initial;
1222 line-height: 1;
1223 background-color: transparent;
1227 #keyboard-help-overlay button.close-keyboard-help {
1228 position: absolute;
1229 right: 0;
1230 top: 0;
1231 font-family: "Font Awesome", "Font Awesome 5 Free";
1232 font-size: 1.5rem;
1233 padding: 10px 12px;
1236 /************/
1237 /* ARCHIVES */
1238 /************/
1240 .archive-nav {
1241 margin: 1.25em 0.5em 0 0.5em;
1242 padding: 0.25em;
1244 .archive-nav > * {
1245 display: flex;
1247 .archive-nav *[class^='archive-nav-item'] {
1248 line-height: 1;
1249 flex: 1 1 5%;
1250 text-align: center;
1251 padding: 6px 4px 4px 4px;
1252 max-width: 8%;
1254 @supports (-moz-appearance: none) {
1255 .archive-nav *[class^='archive-nav-item'] {
1256 padding: 5px 4px;
1259 .archive-nav-days .archive-nav-item-day {
1260 font-size: 0.8em;
1261 padding: 7px 0 5px 0;
1262 max-width: 4%;
1264 .archive-nav-days .archive-nav-item-day:first-child {
1265 flex-basis: 10%;
1268 /************/
1269 /* ARCHIVES */
1270 /************/
1272 .archive-nav {
1273 margin: 1.25em 0.5em 0 0.5em;
1274 padding: 0.25em;
1276 .archive-nav > * {
1277 display: flex;
1279 .archive-nav *[class^='archive-nav-item'] {
1280 line-height: 1;
1281 flex: 1 1 5%;
1282 text-align: center;
1283 padding: 6px 4px 4px 4px;
1284 max-width: 8%;
1286 @supports (-moz-appearance: none) {
1287 .archive-nav *[class^='archive-nav-item'] {
1288 padding: 5px 4px;
1291 .archive-nav-days .archive-nav-item-day {
1292 font-size: 0.8em;
1293 padding: 7px 0 5px 0;
1294 max-width: 4%;
1296 .archive-nav-days .archive-nav-item-day:first-child {
1297 flex-basis: 10%;
1300 /************/
1301 /* LISTINGS */
1302 /************/
1304 h1.listing {
1305 font-size: 1.875rem;
1306 line-height: 1.15;
1307 max-height: 1.15em;
1308 position: relative;
1311 h1.listing a {
1312 position: relative;
1315 /* Links to link-posts (not the link-post links themselves; that's below) */
1316 h1.listing .link-post-link + a {
1317 margin-left: 0.25em;
1320 h1.listing .link-post-link {
1321 font-size: 0.8em;
1322 display: inline;
1323 vertical-align: top;
1324 position: relative;
1325 top: 4px;
1328 /*=----------------------=*/
1329 /*= Listing hover reveal =*/
1330 /*=----------------------=*/
1331 /* (On desktops, hover over a multi-line listing to reveal all of it) */
1333 @media only screen and (min-width: 1160px) {
1334 h1.listing a {
1335 max-width: 100%;
1336 display: inline-block;
1337 white-space: nowrap;
1338 text-overflow: ellipsis;
1339 overflow: hidden;
1340 border-bottom: 1px solid transparent;
1341 -webkit-hyphens: auto;
1342 -moz-hyphens: auto;
1343 -ms-hyphens: auto;
1344 hyphens: auto;
1345 z-index: 1;
1346 padding: 0 0 1px 1px;
1348 h1.listing .link-post-link + a {
1349 max-width: calc(100% - 40px);
1351 h1.listing a:hover,
1352 h1.listing a:focus {
1353 text-decoration: dotted underline;
1354 white-space: initial;
1355 overflow: visible;
1356 z-index: 2;
1358 h1.listing:focus-within::before {
1359 content: "\F105";
1360 font-family: "Font Awesome", "Font Awesome 5 Free";
1361 display: block;
1362 position: absolute;
1363 left: -0.75em;
1366 /* Adds hysteresis to the hover area (i.e., prevents oscillation due to small
1367 mouse movements) */
1368 <?php $margin_of_hover_error = '10px'; ?>
1370 h1.listing a:not(.edit-post-link):hover::before {
1371 content: "";
1372 position: absolute;
1373 top: -<?php echo $margin_of_hover_error; ?>;
1374 right: -<?php echo $margin_of_hover_error; ?>;
1375 bottom: -<?php echo $margin_of_hover_error; ?>;
1376 left: -<?php echo $margin_of_hover_error; ?>;
1377 z-index: -1;
1379 h1.listing .link-post-link:hover {
1380 text-decoration: none;
1384 /*=-----------------------=*/
1385 /*= In-listing edit links =*/
1386 /*=-----------------------=*/
1388 h1.listing .edit-post-link {
1389 position: absolute;
1390 margin: 0;
1393 /*=---------------------------------=*/
1394 /*= Error messages on listing pages =*/
1395 /*=---------------------------------=*/
1397 .listing-message {
1398 width: 100%;
1399 text-align: center;
1400 padding: 1.25em 0 1.25em 0;
1401 font-size: 1.375em;
1404 /*********************/
1405 /* LISTING POST-META */
1406 /*********************/
1408 h1.listing + .post-meta {
1409 position: relative;
1410 justify-content: flex-start;
1411 margin: 0 20px 0 21px;
1414 h1.listing + .post-meta > * {
1415 margin: 0 1em 0 0;
1418 h1.listing + .post-meta .post-section {
1419 width: 0;
1420 margin: 0;
1421 overflow: hidden;
1423 h1.listing + .post-meta .post-section::before {
1424 position: absolute;
1425 left: -36px;
1428 h1.listing + .post-meta .read-time {
1429 cursor: default;
1432 /********************/
1433 /* SEQUENCES & TAGS */
1434 /********************/
1436 .sequence-text, .tag-description {
1437 font-size: 1.2rem;
1438 padding: 0 22px;
1441 #content.tag-index-page .tag-description {
1442 margin: 1em 0 0;
1445 section {
1446 max-width: 100%;
1447 margin-top: 2em;
1448 margin-bottom: 4em;
1451 h1.sequence-chapter {
1452 font-size: 2.3rem;
1455 article {
1456 max-width: 100%;
1459 .index-page .post-meta + .comments {
1460 margin-top: 3em;
1463 .tag-list {
1464 column-count: auto;
1465 column-width: 15em;
1466 margin-top: 0;
1467 border-bottom: 1px solid #999;
1468 padding-bottom: 1em;
1469 margin-bottom: 0;
1472 #content.sequence-page h1 {
1473 margin-top: 0.1em;
1476 /**************/
1477 /* USER PAGES */
1478 /**************/
1480 /*=---------------------=*/
1481 /*= User's display name =*/
1482 /*=---------------------=*/
1484 #content.user-page h1.page-main-heading {
1485 margin: 0.25em 0 0 0;
1486 line-height: 1.1;
1487 grid-column: 1 / span 2;
1488 order: -2;
1491 #content.user-page h1.page-main-heading .user-full-name {
1492 font-size: 1rem;
1493 font-weight: normal;
1494 padding-left: 0.5em;
1497 /*=--------------------=*/
1498 /*= User's karma total =*/
1499 /*=--------------------=*/
1501 #content.user-page .user-stats {
1502 grid-column: 3;
1503 order: -2;
1504 text-align: right;
1505 align-self: end;
1508 #content.user-page .user-stats .karma-type {
1509 white-space: nowrap;
1512 /*=----------------------=*/
1513 /*= Expanded vs. compact =*/
1514 /*=----------------------=*/
1516 #content.user-page #comments-list-mode-selector {
1517 grid-row: span 2;
1519 #content.user-page #comments-list-mode-selector button {
1520 display: block;
1523 /*=----------------------------------------------------=*/
1524 /*= All, Posts, Comments, Drafts, Conversations, Inbox =*/
1525 /*=----------------------------------------------------=*/
1527 #content.user-page .sublevel-nav {
1528 margin-bottom: 0.5em;
1531 /*=--------------=*/
1532 /*= User's posts =*/
1533 /*=--------------=*/
1535 #content.user-page h1.listing {
1536 margin: 0.5em 0 0 0;
1539 #content.user-page .user-bio :first-child {
1540 margin-top: 0.5em;
1543 /*****************/
1544 /* CONVERSATIONS */
1545 /*****************/
1547 /*=----------------------=*/
1548 /*= List of participants =*/
1549 /*=----------------------=*/
1551 #content.conversation-page .conversation-participants {
1552 grid-column: 2 / span 2;
1553 text-align: right;
1554 margin: 0.5em 0 0 0;
1556 .post-meta > .conversation-participants {
1557 white-space: normal;
1559 .conversation-participants ul,
1560 .conversation-participants li {
1561 list-style-type: none;
1562 display: inline-block;
1563 margin: 0;
1564 padding: 0;
1566 .conversation-participants li {
1567 margin-left: 0.375em;
1569 .conversation-participants li:not(:last-of-type)::after {
1570 content: ",";
1573 /*=-------------------------=*/
1574 /*= Posting controls (form) =*/
1575 /*=-------------------------=*/
1577 #content.conversation-page .posting-controls {
1578 padding: 0 0 1em 0;
1580 #content.conversation-page .post-meta-fields {
1581 overflow: auto;
1582 display: flex;
1583 flex-flow: row wrap;
1585 .posting-controls.standalone textarea {
1586 margin-top: 0.375em;
1588 .posting-controls.standalone form {
1589 padding: 0 1em;
1591 #content.conversation-page .posting-controls.standalone form {
1592 padding: 0 1em 3em 1em;
1594 .posting-controls.standalone input[type='text'],
1595 .posting-controls.standalone label {
1596 margin: 0.25em 0;
1598 .posting-controls.standalone label {
1599 width: 4em;
1600 text-align: right;
1601 padding: 2px 6px;
1602 border: 1px solid transparent;
1604 .posting-controls.standalone input[type='text'] {
1605 width: calc(100% - 4em);
1606 padding: 0.25em;
1608 .posting-controls.standalone input[type='submit'] {
1609 float: right;
1611 .posting-controls.standalone #markdown-hints-checkbox ~ label {
1612 white-space: nowrap;
1614 .posting-controls.standalone #markdown-hints {
1615 top: calc(100% + 2em);
1618 /*=--------------------=*/
1619 /*= Conversation title =*/
1620 /*=--------------------=*/
1622 #content.conversation-page h1.page-main-heading {
1623 text-align: center;
1624 margin: 0.5em 0;
1625 line-height: 1.15;
1628 /*=----------=*/
1629 /*= Messages =*/
1630 /*=----------=*/
1632 #content.conversation-page > ul.comment-thread:last-of-type {
1633 margin-bottom: 2em;
1636 /******************/
1637 /* SEARCH RESULTS */
1638 /******************/
1640 #content.search-results-page h1.listing,
1641 #content.sequence-page h1.listing,
1642 #content.post-page h1.listing {
1643 font-size: 1.625em;
1646 /**************/
1647 /* LOGIN PAGE */
1648 /**************/
1650 .login-container {
1651 margin: 2em 0;
1652 padding: 1em;
1653 display: flex;
1654 flex-flow: row wrap;
1657 .login-container form {
1658 flex-basis: 50%;
1659 display: grid;
1660 grid-row-gap: 0.5em;
1661 align-content: start;
1663 .login-container form label {
1664 text-align: right;
1665 padding: 0.25em 0.5em;
1666 white-space: nowrap;
1667 grid-column: 1;
1669 .login-container form input {
1670 grid-column: 2;
1671 padding: 0.25em;
1673 .login-container form input[type='submit'],
1674 .login-container form a {
1675 grid-column: 2;
1676 justify-self: center;
1678 .login-container form input[type='submit'] {
1679 width: 10em;
1680 padding: 0.35em;
1681 line-height: 1;
1682 margin: 0.5em 0 0 0;
1684 .login-container form h1 {
1685 text-align: center;
1686 margin: 0;
1687 grid-column: 2;
1690 /* “Log in” form */
1692 #login-form {
1693 grid-template-columns: 5.5em 1fr;
1694 padding: 0.5em 2em 0.5em 0;
1697 /* “Create account” form */
1699 #signup-form {
1700 font-size: 0.9em;
1701 grid-template-columns: 8.5em 1fr;
1702 padding: 0.5em 1em 1em 1em;
1704 #signup-form h1 {
1705 font-size: 1.7em;
1707 #signup-form input[type='submit'] {
1708 padding: 0.4em 0.5em 0.5em 0.5em;
1711 /* Log in tip */
1713 .login-container .login-tip {
1714 padding: 0.5em 0.5em 0.5em 3em;
1715 margin: 2em 4em 0 4em;
1716 text-indent: -2em;
1717 line-height: 1.4;
1719 .login-container .login-tip span {
1720 font-weight: bold;
1723 /* Message box */
1725 #content.login-page .error-box {
1726 margin: 1.5em 0.875em -1.5em 0.875em;
1728 .error-box, .success-box {
1729 padding: 0.25em;
1730 text-align: center;
1733 /***********************/
1734 /* PASSWORD RESET PAGE */
1735 /***********************/
1737 .reset-password-container {
1738 margin-bottom: 2em;
1740 .reset-password-container input[type='submit'] {
1741 padding: 0.2em 0.5em;
1742 width: unset;
1744 .reset-password-container input {
1745 margin-left: 0.5em;
1746 width: 12em;
1748 .reset-password-container label {
1749 display: inline-block;
1750 width: 9em;
1752 .reset-password-container form > div {
1753 margin: 0.2em;
1755 .reset-password-container .action-container {
1756 padding-left: 11em;
1757 padding-top: 0.2em;
1759 .reset-password-container .error-box {
1760 margin: unset;
1764 /*********************/
1765 /* TABLE OF CONTENTS */
1766 /*********************/
1768 .contents {
1769 float: right;
1770 min-width: 6em;
1771 max-width: 40%;
1772 margin: 1.25em 0 0.75em 1.25em;
1773 padding: 7px 14px 10px 10px;
1774 position: relative;
1775 z-index: 1;
1778 .collection-page .contents {
1779 margin-top: 0;
1782 .contents-head {
1783 text-align: center;
1784 margin-bottom: 0.25em;
1787 .body-text .contents ul {
1788 list-style-type: none;
1789 margin: 0 0 0 0.5em;
1790 counter-reset: toc-item-1 toc-item-2 toc-item-3;
1791 padding-left: 1em;
1792 font-size: 0.75em;
1794 .body-text .contents li {
1795 margin: 0.15em 0 0.3em 1em;
1796 text-align: left;
1797 text-indent: -1em;
1798 line-height: 1.2;
1799 position: relative;
1801 .body-text .contents li::before {
1802 position: absolute;
1803 width: 3em;
1804 display: block;
1805 text-align: right;
1806 left: -4.5em;
1808 .contents .toc-item-1 {
1809 counter-increment: toc-item-1;
1810 counter-reset: toc-item-2 toc-item-3;
1812 .contents .toc-item-1::before {
1813 content: counter(toc-item-1);
1815 .contents .toc-item-1 ~ .toc-item-2 {
1816 margin-left: 2.9em;
1817 font-size: 0.95em;
1819 .contents .toc-item-2 {
1820 counter-increment: toc-item-2;
1821 counter-reset: toc-item-3;
1823 .contents .toc-item-1 ~ .toc-item-2::before {
1824 content: counter(toc-item-1) "." counter(toc-item-2);
1826 .contents .toc-item-2::before {
1827 content: counter(toc-item-2);
1829 .contents .toc-item-1 + .toc-item-3 {
1830 counter-increment: toc-item-2 toc-item-3;
1832 .contents .toc-item-2 ~ .toc-item-3,
1833 .contents .toc-item-1 ~ .toc-item-3 {
1834 margin-left: 2.9em;
1835 font-size: 0.95em;
1837 .contents .toc-item-1 ~ .toc-item-2 ~ .toc-item-3 {
1838 margin-left: 5.7em;
1839 font-size: 0.9em;
1841 .contents .toc-item-3 {
1842 counter-increment: toc-item-3;
1844 .contents .toc-item-1 ~ .toc-item-2 ~ .toc-item-3::before {
1845 content: counter(toc-item-1) "." counter(toc-item-2) "." counter(toc-item-3);
1847 .contents .toc-item-1 ~ .toc-item-3::before {
1848 content: counter(toc-item-1) "." counter(toc-item-3);
1850 .contents .toc-item-2 ~ .toc-item-3::before {
1851 content: counter(toc-item-2) "." counter(toc-item-3);
1853 .contents .toc-item-3::before {
1854 content: counter(toc-item-3);
1856 .contents .toc-item-4,
1857 .contents .toc-item-5,
1858 .contents .toc-item-6 {
1859 display: none;
1862 .contents.collapsed {
1863 margin-bottom: 0.25em;
1864 padding-left: 1em;
1865 padding-right: 1.75em;
1868 .contents.collapsed .contents-head {
1869 margin: 0;
1871 .contents.collapsed .contents-list {
1872 display: none;
1875 .contents .toc-collapse-toggle-button {
1876 position: absolute;
1877 top: 1px;
1878 right: 1.5px;
1879 font-family: "Font Awesome", "Font Awesome 5 Free";
1880 font-weight: 900;
1881 font-size: 1.5rem;
1882 padding: 0;
1884 .contents .toc-collapse-toggle-button:active {
1885 transform: translateX(1px) translateY(1px);
1888 .contents.collapsed .toc-collapse-toggle-button {
1889 width: calc(100% - 3px);
1890 height: calc(100% - 2px);
1891 background-color: transparent;
1892 display: flex;
1893 justify-content: flex-end;
1894 align-items: flex-start;
1898 /********************/
1899 /* POSTS & COMMENTS */
1900 /********************/
1902 .post-meta > *,
1903 .comment-meta > * {
1904 display: inline-block;
1905 margin-right: 1em;
1906 font-size: 1.0625em;
1908 .body-text {
1909 overflow-wrap: break-word;
1910 text-align: justify;
1912 .body-text p {
1913 margin: 1em 0;
1915 .retracted .body-text {
1916 text-decoration: line-through;
1919 .bare-url {
1920 word-break: break-all;
1921 hyphens: auto;
1923 .body-text a:not([href]),
1924 .body-text a:not([href]):hover,
1925 .body-text a:not([href])::before,
1926 .body-text a:not([href])::after {
1927 text-decoration: none;
1928 text-shadow: unset;
1929 border: unset;
1930 color: unset;
1931 content: unset;
1933 /*************/
1934 /* POST-META */
1935 /*************/
1937 .post-meta {
1938 display: flex;
1939 flex-flow: row wrap;
1940 justify-content: center;
1942 .post-meta .lw2-link {
1943 opacity: 0.5;
1944 order: 1;
1946 .post-meta > *,
1947 .post-meta .post-section::before {
1948 margin: 0 0.5em;
1950 .post-meta .post-section {
1951 order: -1;
1952 margin: 0;
1953 visibility: hidden;
1955 .post-meta .post-section::before,
1956 .comment-meta .alignment-forum {
1957 visibility: visible;
1958 font-family: "Font Awesome", "Font Awesome 5 Free";
1959 font-weight: 900;
1961 .post-section.frontpage::before {
1962 content: "\F015";
1964 .post-section.featured::before {
1965 content: "\F005";
1967 .post-section.meta::before {
1968 content: "\F077";
1970 .post-section.events::before {
1971 content: "\F5A0";
1973 .post-section.personal::before {
1974 content: "\F007";
1976 .post-section.draft::before {
1977 content: "\F15B";
1979 .post-section.alignment-forum::before,
1980 .comment-meta .alignment-forum {
1981 content: "AF";
1982 font-family: Concourse, 'Changa One';
1985 /*= Karma controls hover tooltips =*/
1987 @media only screen and (pointer: fine) {
1988 .post .voting-controls,
1989 .comment-item .voting-controls {
1990 position: relative;
1992 .post .karma.active-controls::after,
1993 .comment-item .karma.active-controls::after {
1994 content: "Double-click for strong vote";
1995 position: absolute;
1996 pointer-events: none;
1997 display: block;
1998 left: 6px;
1999 width: 100%;
2000 line-height: 1.15;
2001 white-space: normal;
2002 text-align: center;
2003 font-size: 0.875rem;
2004 opacity: 0;
2005 transition: opacity 0.2s ease;
2007 .post .voting-controls.active-controls:hover::after,
2008 .comment-item .voting-controls.active-controls:hover::after {
2009 opacity: 1.0;
2012 .post .voting-controls .karma-value::after,
2013 .comment-item .voting-controls .karma-value::after {
2014 content: attr(title);
2015 position: absolute;
2016 pointer-events: none;
2017 display: block;
2018 left: 50%;
2019 transform: translateX(-50%);
2020 white-space: pre-wrap;
2021 width: max-content;
2022 text-align: center;
2023 font-size: 0.875rem;
2024 color: #bbb;
2025 opacity: 0;
2026 transition: opacity 0.2s ease;
2028 .post .voting-controls.agreement .karma-value:hover::after,
2029 .comment-item .voting-controls.agreement .karma-value:hover::after {
2030 top: unset;
2031 bottom: 100%;
2033 .post .voting-controls .karma-value:hover::after,
2034 .comment-item .voting-controls .karma-value:hover::after {
2035 opacity: 1.0;
2037 .post .voting-controls.waiting .karma-value:hover::after,
2038 .comment-item .voting-controls.waiting .karma-value:hover::after {
2039 display: none;
2041 .comment-item .voting-controls .karma-value:hover::after {
2042 z-index: 5001;
2045 .author {
2046 position: relative;
2048 .author:not(.redacted)::before {
2049 content: attr(data-full-name);
2050 position: absolute;
2051 pointer-events: none;
2052 display: block;
2053 padding: 0 1em;
2054 left: 50%;
2055 bottom: 2em;
2056 transform: translateX(-50%);
2057 white-space: nowrap;
2058 text-align: center;
2059 font-size: 0.875rem;
2060 font-weight: normal;
2061 opacity: 0;
2062 transition: opacity 0.2s ease;
2063 z-index: 5001;
2065 .author:hover::before {
2066 opacity: 1.0;
2070 /*********/
2071 /* POSTS */
2072 /*********/
2074 .post {
2075 max-width: 100%;
2078 .post-body {
2079 min-height: 8em;
2080 padding: 0 30px;
2081 line-height: 1.5;
2082 font-size: 1.3rem;
2083 overflow: auto;
2084 margin: 0.5em 0 0 0;
2086 h1.post-title {
2087 margin: 1.1em 0 0.35em 0;
2088 padding: 0 30px;
2089 text-align: center;
2090 font-size: 2.5em;
2091 line-height: 1;
2093 .post .post-meta {
2094 text-align: center;
2095 position: relative;
2096 z-index: 2;
2098 .post .top-post-meta:last-child {
2099 margin-bottom: 40px;
2101 .post .bottom-post-meta {
2102 margin: 0;
2103 padding: 20px 0;
2105 .bottom-post-meta {
2106 border-style: solid;
2107 border-width: 1px 0;
2110 /**********/
2111 /* EVENTS */
2112 /**********/
2114 .event-info .map {
2115 position: relative;
2116 width: 100%;
2117 margin: 2em 0 1em;
2120 .event-info .map::before {
2121 content: "";
2122 display: block;
2123 padding-bottom: 50%;
2126 .event-info .map iframe {
2127 width: 100%;
2128 height: 100%;
2129 border: 1px solid #000;
2130 position: absolute;
2131 top: 0;
2132 left: 0;
2135 .event-info ul {
2136 list-style: none;
2137 padding: 0;
2138 text-align: center;
2141 /*******************/
2142 /* POST NAVIGATION */
2143 /*******************/
2145 .post-nav-item {
2146 display: grid;
2147 grid-template: 100% / 32% 36% 32%;
2148 grid-template-areas:
2149 "prev seq next";
2151 .post-nav {
2152 display: flex;
2153 flex-flow: column;
2154 justify-content: flex-end;
2155 padding: 0.5em;
2158 .post-nav-title {
2159 font-size: 1.125em;
2160 line-height: 1.15;
2161 display: inline;
2162 border-top: 1px solid transparent;
2164 .post-nav.prev .post-nav-title,
2165 .post-nav.next .post-nav-title {
2166 border-bottom: 1px solid transparent;
2169 .sequence-title {
2170 align-items: center;
2171 text-align: center;
2172 grid-area: seq;
2174 .sequence-title .post-nav-title {
2175 font-size: 1.5em;
2178 .post-nav.prev {
2179 grid-area: prev;
2180 align-items: flex-start;
2182 .post-nav.prev .post-nav-title::before {
2183 content: "\F0D9\2005";
2185 .post-nav.next {
2186 grid-area: next;
2187 text-align: right;
2188 align-items: flex-end;
2190 .post-nav.prev .post-nav-label,
2191 .post-nav.next .post-nav-label {
2192 display: none;
2194 .post-nav.next .post-nav-title::after {
2195 content: "\2004\F0DA";
2197 .post-nav.prev .post-nav-title::before,
2198 .post-nav.next .post-nav-title::after {
2199 font-family: Font Awesome;
2200 font-weight: 900;
2201 vertical-align: text-bottom;
2202 opacity: 0.75;
2204 .post-nav-links {
2205 max-width: 100%;
2208 @media only screen and (max-width: 900px) {
2209 .post-nav-item {
2210 font-size: 0.875em;
2211 grid-template: auto auto / 50% 50%;
2212 grid-template-areas:
2213 "prev next"
2214 "seq seq";
2216 .post-nav.prev .post-nav-title,
2217 .post-nav.next .post-nav-title {
2218 border-bottom: none;
2220 .post-nav.prev {
2221 margin: 0 0 0 -1px;
2222 position: relative;
2223 left: 1px;
2225 .sequence-title {
2226 padding: 0.75em 0;
2229 @media only screen and (max-width: 520px) {
2230 .post-nav-links + .comments {
2231 padding: 1em 0 0 0;
2235 .related-posts, .related-post-group {
2236 padding-bottom: 1em;
2238 .related-post-type {
2239 font-size: 1.2em;
2240 font-weight: 600;
2241 margin-top: 0.5em;
2242 margin-bottom: -0.5em;
2243 list-style-type: disc;
2244 margin-left: -0.5em;
2245 opacity: 0.7;
2247 .related-post-type::before {
2248 content: "\269c";
2249 font-size: 1.375em;
2250 font-weight: normal;
2251 margin-right: 0.15em;
2252 position: relative;
2253 vertical-align: baseline;
2254 top: 0.05em;
2256 .related-posts .post-type-prefix {
2257 display: none;
2260 .crosspost {
2261 padding: 0.1em 1em;
2262 margin: 1em auto;
2265 /**************/
2266 /* LINK POSTS */
2267 /**************/
2269 .post.link-post > .post-body > p:first-child {
2270 text-align: center;
2271 font-size: 1.125em;
2272 margin: 0.5em 0 0 0;
2274 .post.link-post > .post-body > p:only-child {
2275 font-size: 1.5em;
2276 margin: 1em 0;
2278 .post.link-post a.link-post-link::before {
2279 content: "\F0C1";
2280 font-family: "Font Awesome", "Font Awesome 5 Free";
2281 font-weight: 900;
2282 font-size: 0.75em;
2283 position: relative;
2284 top: -2px;
2285 margin-right: 0.25em;
2288 /************/
2289 /* COMMENTS */
2290 /************/
2292 .comments {
2293 max-width: 100%;
2294 padding: 0 0 1px 0;
2295 position: relative;
2297 .comments::before {
2298 content: "";
2299 position: absolute;
2300 display: block;
2301 top: 0;
2302 left: 0;
2303 width: 100%;
2304 height: 100%;
2305 pointer-events: none;
2307 ul.comment-thread {
2308 list-style-type: none;
2309 padding: 0;
2310 max-width: 100%;
2312 .comments .comment-thread > li {
2313 position: relative;
2315 #content > #top-nav-bar + .comment-thread .comment-item {
2316 margin-top: 0;
2319 .comment-item {
2320 margin: 2em 0 0 0;
2322 .comment-item .comment-item {
2323 margin: 1em 8px 8px 16px;
2325 .comment-item .comment-item + .comment-item {
2326 margin: 2em 8px 8px 16px;
2329 .comment-body {
2330 line-height: 1.45;
2331 font-size: 1.2rem;
2332 padding: 10px;
2334 .comment-body ul {
2335 list-style-type: circle;
2337 .comment-body > *:first-child {
2338 margin-top: 0;
2340 .comment-body > *:last-child {
2341 margin-bottom: 0;
2344 .comments-empty-message {
2345 width: 100%;
2346 text-align: center;
2347 padding: 0.75em 0 0.9em 0;
2348 font-size: 1.375em;
2351 /**********************************/
2352 /* DEEP COMMENT THREAD COLLAPSING */
2353 /**********************************/
2355 .comment-item > input[id^="expand"] {
2356 display: none;
2358 .comment-item > input[id^="expand"] + label {
2359 display: block;
2360 visibility: hidden;
2361 position: relative;
2362 margin: 8px 9px;
2364 .comment-item > input[id^="expand"] + label::after {
2365 content: "(Expand " attr(data-child-count) " below)";
2366 visibility: visible;
2367 position: absolute;
2368 left: 0;
2369 white-space: nowrap;
2370 cursor: pointer;
2372 .comment-item > input[id^="expand"]:checked + label::after {
2373 content: "(Collapse " attr(data-child-count) " below)";
2375 .comment-item > input[id^="expand"] ~ .comment-thread {
2376 max-height: 34px;
2377 overflow: hidden;
2379 .comment-item > input[id^="expand"] ~ .comment-thread > li:first-child {
2380 margin-top: 0;
2382 .comment-item > input[id^="expand"]:checked ~ .comment-thread {
2383 max-height: 1000000px;
2386 .comment-item > input[id^="expand"]:checked ~ .comment-thread .comment-thread .comment-item {
2387 margin: 0;
2389 .comment-item > input[id^="expand"]:checked ~ .comment-thread .comment-thread .comment-item a.comment-parent-link:hover::after {
2390 display: none;
2393 /*************/
2394 /* BACKLINKS */
2395 /*************/
2397 .backlinks > input {
2398 display: none;
2401 .backlinks > label {
2402 margin-left: 10px;
2403 display: block;
2404 color: #00f;
2405 cursor: pointer;
2408 .backlinks > label::before {
2409 content: " ";
2410 border-left: 5px solid currentColor;
2411 border-top: 5px solid transparent;
2412 border-bottom: 5px solid transparent;
2413 transition: transform 0.25s ease-out;
2414 transform-origin: 29% 55%;
2415 display: inline-block;
2416 padding-right: 0.5em;
2419 .backlinks > input:checked + label::before {
2420 transform: rotate(90deg);
2423 .backlinks li {
2424 margin-top: 0;
2427 .backlinks > ul {
2428 height: 0;
2429 perspective-origin: top;
2430 transform: perspective(100em) rotateX(-90deg);
2431 transform-origin: center top;
2432 opacity: 0;
2433 margin-top: 0.5em;
2434 margin-bottom: 0.5em;
2437 .backlinks > input:checked ~ ul {
2438 height: auto;
2439 transform: perspective(100em) rotateX(0deg);
2440 transition: transform 0.25s ease-in, opacity 0.25s ease-in;
2441 opacity: 1;
2444 /****************/
2445 /* COMMENT-META */
2446 /****************/
2448 .comment-meta {
2449 padding: 2px 24px 2px 10px;
2450 margin: 0 -1px;
2451 border: none;
2452 display: flex;
2453 flex-flow: row wrap;
2454 align-items: baseline;
2456 .user-page .comment-meta,
2457 .conversation-page .comment-meta {
2458 padding-right: 10px;
2460 .comment-meta .comment-post-title {
2461 flex-basis: 100%;
2462 overflow: hidden;
2463 text-overflow: ellipsis;
2464 white-space: nowrap;
2465 line-height: 1.3;
2467 .conversation-page .comment-meta .comment-post-title {
2468 margin: 0;
2469 flex-basis: unset;
2470 flex: 1 0 auto;
2471 text-align: right;
2472 display: none; /* Not sure if we need to display this... */
2474 .comment-item .author:not(.redacted).original-poster::after {
2475 content: "\2004(OP)";
2476 font-size: 0.75em;
2479 /*****************************/
2480 /* COMMENT THREAD NAVIGATION */
2481 /*****************************/
2483 a.comment-parent-link:not(.inline-author),
2484 a.comment-parent-link.inline-author::before {
2485 opacity: 0.5;
2487 a.comment-parent-link:hover {
2488 opacity: 1.0;
2490 a.comment-parent-link::before {
2491 content: "\F062";
2492 font-family: "Font Awesome", "Font Awesome 5 Free";
2493 font-weight: 900;
2494 font-size: 0.75rem;
2495 line-height: 1;
2496 position: absolute;
2497 z-index: 1;
2498 display: block;
2499 padding: 3px 3px 0 3px;
2500 width: 16px;
2501 height: calc(100% + 2px);
2502 top: -1px;
2503 left: -17px;
2505 a.comment-parent-link::after {
2506 content: "";
2507 position: absolute;
2508 z-index: 0;
2509 display: block;
2510 width: calc(100% + 26px);
2511 height: calc(100% + 38px);
2512 top: -29px;
2513 left: -17px;
2514 pointer-events: none;
2515 overflow: hidden;
2516 visibility: hidden;
2518 a.comment-parent-link:hover::after {
2519 visibility: visible;
2522 .comment-child-links {
2523 flex-basis: 100%;
2525 .comment-child-link {
2526 margin: 0 0.25em;
2527 display: inline-block;
2529 .comment-child-link::before {
2530 content: ">";
2531 display: inline-block;
2532 margin: 0 2px 0 0;
2535 .comment-popup {
2536 position: fixed;
2537 top: 10%;
2538 right: 10%;
2539 max-width: 700px;
2540 z-index: 10001;
2541 font-size: 1rem;
2542 white-space: unset;
2543 pointer-events: none;
2545 .comment-popup .comment-parent-link {
2546 display: none;
2548 .comment-popup .comment-body {
2549 font-size: 1.0625rem;
2552 .comment-item.depth-odd {
2553 --GW-comment-background-color: var(--GW-comment-background-color-odd);
2554 --GW-comment-parent-background-color: var(--GW-comment-background-color-even);
2556 .comment-item.depth-even {
2557 --GW-comment-background-color: var(--GW-comment-background-color-even);
2558 --GW-comment-parent-background-color: var(--GW-comment-background-color-odd);
2561 .comment-item:target {
2562 --GW-comment-background-color: var(--GW-comment-background-color-target);
2564 .comment-item:target > .comment-thread > .comment-item {
2565 --GW-comment-parent-background-color: var(--GW-comment-background-color-target);
2568 /**********************/
2569 /* COMMENT PERMALINKS */
2570 /**********************/
2571 /********************/
2572 /* COMMENT LW LINKS */
2573 /********************/
2575 .comment-meta .permalink::before,
2576 .comment-meta .lw2-link::before,
2577 .individual-thread-page a.comment-parent-link:empty::before {
2578 content: "";
2579 display: inline-block;
2580 width: 1rem;
2581 height: 1rem;
2582 border-radius: 3px;
2583 box-shadow:
2584 0 0 0 1px #fff,
2585 0 0 0 2px #00e,
2586 0 0 0 3px transparent;
2587 padding: 0 0 0 2px;
2588 background-size: 100%;
2589 position: relative;
2590 top: 2px;
2591 opacity: 0.5;
2593 .comment-meta .permalink::before {
2594 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/anchor-white-on-blue.gif")) ?>');
2596 .comment-meta .lw2-link::before {
2597 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/lw-white-on-blue.gif")) ?>');
2599 .individual-thread-page a.comment-parent-link:empty::before {
2600 left: unset;
2601 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/up-arrow-white-on-blue.gif")) ?>');
2603 .comment-meta .permalink:hover::before {
2604 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/anchor-blue-on-white.gif")) ?>');
2606 .comment-meta .lw2-link:hover::before {
2607 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/lw-blue-on-white.gif")) ?>');
2609 .individual-thread-page a.comment-parent-link:empty:hover::before {
2610 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/up-arrow-blue-on-white.gif")) ?>');
2612 .comment-meta .permalink:hover::before,
2613 .comment-meta .lw2-link:hover::before,
2614 .individual-thread-page a.comment-parent-link:empty:hover::before {
2615 box-shadow:
2616 0 0 0 2px #00e,
2617 0 0 0 3px transparent;
2618 opacity: 1.0;
2619 filter: unset;
2621 .comment-meta .permalink:active::before,
2622 .comment-meta .lw2-link:active::before,
2623 .individual-thread-page a.comment-parent-link:empty:active::before {
2624 transform: scale(0.9);
2627 .comment-meta .permalink,
2628 .comment-meta .lw2-link,
2629 .individual-thread-page .comment-parent-link:empty {
2630 position: relative;
2631 opacity: 1.0;
2633 .comment-meta .permalink::after,
2634 .comment-meta .lw2-link::after,
2635 .individual-thread-page .comment-parent-link:empty::after {
2636 content: "";
2637 width: 30px;
2638 height: 30px;
2639 display: block;
2640 position: absolute;
2641 top: -2px;
2642 left: -7px;
2643 box-shadow: none;
2644 pointer-events: auto;
2645 visibility: visible;
2648 /*************************/
2649 /* COMMENTS COMPACT VIEW */
2650 /*************************/
2652 #comments-list-mode-selector,
2653 #content.index-page #comments-list-mode-selector,
2654 #content.user-page #comments-list-mode-selector {
2655 padding-top: 6px;
2656 grid-column: 1;
2657 position: unset;
2658 z-index: 1;
2659 justify-self: start;
2660 align-self: start;
2662 #comments-list-mode-selector button {
2663 color: transparent;
2664 width: 32px;
2665 height: 32px;
2666 padding: 6px;
2667 margin: 1px;
2668 overflow: hidden;
2669 background-repeat: no-repeat;
2670 background-size: 100%;
2671 background-origin: content-box;
2673 #comments-list-mode-selector button:disabled {
2674 cursor: auto;
2676 #comments-list-mode-selector button.expanded {
2677 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/expanded_2x.gif")) ?>');
2679 #comments-list-mode-selector button.compact {
2680 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/compact_2x.gif")) ?>');
2682 @media only screen and (max-resolution: 1dppx) {
2683 #comments-list-mode-selector button.expanded {
2684 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/expanded_1x.gif")) ?>');
2686 #comments-list-mode-selector button.compact {
2687 background-image: url('data:image/gif;base64,<?php echo base64_encode(file_get_contents("assets/compact_1x.gif")) ?>');
2691 #content > ul.comment-thread > li.comment-item,
2692 #content.compact > ul.comment-thread > li.comment-item {
2693 margin: 0;
2696 #content > .comment-thread {
2697 margin: 1em 0;
2699 #content.compact > .comment-thread {
2700 font-size: 0.9375rem;
2701 margin: 0.5em 0;
2703 #content.compact > .comment-thread:hover {
2704 z-index: 1;
2706 #content.compact > .comment-thread .comment-body {
2707 font-size: 1.0625rem;
2709 #content.compact > .comment-thread .comment-item,
2710 #content.index-page .comment-item.ignored,
2711 #content.inbox-user-page .comment-item.ignored {
2712 max-height: 61px;
2713 margin-top: 1em;
2714 overflow: hidden;
2715 position: relative;
2717 #content.compact > .comment-thread .comment-item {
2718 pointer-events: none;
2720 #content.compact > .comment-thread .comment-item::after {
2721 content: "…";
2722 position: absolute;
2723 right: 0;
2724 bottom: 0;
2725 font-size: 2rem;
2726 line-height: 1;
2727 padding: 0 16px 10px 64px;
2728 pointer-events: auto;
2730 @media only screen and (hover: hover) {
2731 #content.compact:not(:focus-within) > .comment-thread .comment-item:hover,
2732 #content.compact > .comment-thread .comment-item.expanded {
2733 overflow: visible;
2734 pointer-events: auto;
2735 z-index: 10;
2738 @media only screen and (hover: none) {
2739 #content.compact > .comment-thread.expanded .comment-item {
2740 overflow: visible;
2741 pointer-events: auto;
2742 z-index: 10;
2745 #content.compact > .comment-thread .comment-item .comment-meta {
2746 white-space: nowrap;
2747 overflow: hidden;
2748 text-overflow: ellipsis;
2749 padding: 2px 10px;
2751 #content.compact > .comment-thread .comment-item:hover .comment-meta {
2752 white-space: unset;
2754 #content.compact > .comment-thread .comment-item .comment-meta a {
2755 pointer-events: auto;
2757 #content.compact > .comment-thread .comment-item .comment-meta .comment-post-title {
2758 display: inline;
2760 #content.compact > .comment-thread .comment-item .comment-meta .voting-controls + .comment-post-title {
2761 margin-left: 0.75em;
2763 @media only screen and (hover: hover) {
2764 #content.compact > .comment-thread:last-of-type .comment-item:hover,
2765 #content.compact > .comment-thread:last-of-type .comment-item.expanded {
2766 max-height: unset;
2768 #content.compact > .comment-thread .comment-item:hover .comment,
2769 #content.compact > .comment-thread .comment-item.expanded .comment {
2770 position: relative;
2771 z-index: 1;
2772 margin-bottom: 2em;
2773 bottom: 0;
2775 #content.compact > .comment-thread .comment-item:hover .comment::before,
2776 #content.compact > .comment-thread .comment-item.expanded .comment::before{
2777 content: "";
2778 position: absolute;
2779 display: block;
2780 width: calc(100% + 20px);
2781 height: calc(100% + 20px);
2782 z-index: -1;
2783 top: -10px;
2784 left: -10px;
2786 #content.compact > .comment-thread:last-of-type .comment-item:hover .comment,
2787 #content.compact > .comment-thread:last-of-type .comment-item.expanded .comment{
2788 margin: 0;
2791 @media only screen and (hover: none) {
2792 #content.compact > .comment-thread.expanded:last-of-type .comment-item {
2793 max-height: unset;
2795 #content.compact > .comment-thread.expanded .comment-item .comment {
2796 position: relative;
2797 z-index: 1;
2798 margin-bottom: 2em;
2799 bottom: 0;
2801 #content.compact > .comment-thread.expanded .comment-item .comment::before {
2802 content: "";
2803 position: absolute;
2804 display: block;
2805 width: calc(100% + 14px);
2806 height: calc(100% + 20px);
2807 z-index: -1;
2808 top: -10px;
2809 left: -10px;
2811 #content.compact > .comment-thread.expanded:last-of-type .comment-item .comment {
2812 margin: 0;
2814 #content.compact > .comment-thread.expanded .comment-item .comment::after {
2815 content: "";
2816 display: block;
2817 position: fixed;
2818 top: 0;
2819 left: 0;
2820 width: 100%;
2821 height: 100%;
2822 z-index: -2;
2823 background-color: rgba(0,0,0,0.5);
2827 /*****************************/
2828 /* HIGHLIGHTING NEW COMMENTS */
2829 /*****************************/
2831 .new-comment::before {
2832 content: "";
2833 position: absolute;
2834 width: 100%;
2835 height: 100%;
2836 z-index: 5000;
2837 pointer-events: none;
2840 /***********************************/
2841 /* COMMENT THREAD MINIMIZE BUTTONS */
2842 /***********************************/
2844 .comment-minimize-button {
2845 font-family: "Font Awesome", "Font Awesome 5 Free";
2846 font-weight: 900;
2847 font-size: 1.25rem;
2848 line-height: 1;
2849 position: absolute;
2850 right: 1px;
2851 top: 1px;
2852 width: 18px;
2853 margin: 0;
2854 cursor: pointer;
2856 .comment-minimize-button:active {
2857 transform: scale(0.9);
2859 .comment-minimize-button::after {
2860 content: attr(data-child-count);
2861 font-weight: normal;
2862 font-size: 0.8125rem;
2863 position: absolute;
2864 left: 0;
2865 width: 100%;
2866 text-align: center;
2867 top: 21px;
2869 #content.individual-thread-page .comment-minimize-button {
2870 display: none;
2873 /*****************/
2874 /* IGNORE SYSTEM */
2875 /*****************/
2877 #content.comment-thread-page .comment-item.ignored {
2878 height: 38px;
2879 overflow: hidden;
2881 .comment-item.ignored > .comment > .comment-meta > .author {
2882 text-decoration: line-through;
2885 /***********************************/
2886 /* INDIVIDUAL COMMENT THREAD PAGES */
2887 /***********************************/
2889 .individual-thread-page > h1 {
2890 line-height: 1;
2891 margin: 0.75em 0 3px 0;
2893 .individual-thread-page .comments {
2894 border: none;
2897 /*************/
2898 /* SHORTFORM */
2899 /*************/
2901 .shortform-index-page .comments::before {
2902 border: none;
2903 box-shadow: none;
2906 .shortform-index-page .comments > .comment-thread > .comment-item:first-child {
2907 margin-top: 0;
2910 /****************/
2911 /* VOTE BUTTONS */
2912 /****************/
2914 .vote {
2915 margin: 0;
2917 .vote {
2918 font-family: "Font Awesome", "Font Awesome 5 Free";
2919 font-weight: 900;
2920 border: none;
2923 .vote:disabled {
2924 visibility: hidden;
2925 cursor: default;
2928 @keyframes waiting {
2929 0% {background-position: 200% 0%}
2930 100% {background-position: 0% 0%}
2933 .voting-controls .karma-value {
2934 opacity: 1;
2935 transition: opacity 0.5s linear;
2938 .voting-controls.waiting .karma-value {
2939 opacity: 0.5;
2940 background: repeat-x linear-gradient(70deg, #000 50%, #fff 75%, #000);
2941 background-clip: text;
2942 -webkit-background-clip: text;
2943 color: transparent;
2944 background-position: 200% 0%;
2945 background-size: 200% 100%;
2946 animation: waiting 1s linear infinite;
2949 /* Replicated karma controls at bottom of comments. */
2950 .comment-controls .voting-controls {
2951 float: left;
2952 font-size: 0.9375em;
2955 .comment-controls .voting-controls:first-of-type {
2956 margin-left: -14px;
2959 /*****************************/
2960 /* COMMENTING AND POSTING UI */
2961 /*****************************/
2963 .comment-controls {
2964 text-align: right;
2965 margin: 0 8px 8px 16px;
2966 position: relative;
2967 z-index: 9999;
2969 .comment-thread .comment-controls + .comment-thread > li:first-child {
2970 margin-top: 8px;
2972 .comments > .comment-controls {
2973 margin: 8px 0 0 0;
2975 .comments > .comment-controls:last-child {
2976 margin: 8px 0 16px 0;
2979 .posting-controls input[type='submit'] {
2980 margin: 6px;
2981 padding: 4px 10px;
2982 font-size: 1.125rem;
2985 .comment-controls .cancel-comment-button {
2986 position: absolute;
2987 right: 0;
2988 margin: 0;
2989 height: 27px;
2990 font-size: inherit;
2991 padding: 4px 8px 2px 4px;
2992 z-index: 1;
2994 .comment-controls .cancel-comment-button::before {
2995 font-family: "Font Awesome", "Font Awesome 5 Free";
2996 margin-right: 3px;
2997 content: '\F00D';
2998 font-weight: 900;
2999 font-size: 0.9em;
3000 opacity: 0.7;
3003 .comment + .comment-controls .action-button {
3004 font-weight: normal;
3005 font-size: 1.0625em;
3006 padding: 1px 6px;
3008 .comment-controls .action-button::before {
3009 font-family: "Font Awesome", "Font Awesome 5 Free";
3010 margin-right: 3px;
3012 .new-comment-button {
3013 font-size: 1.5rem;
3014 margin: 0 0.25em;
3016 .comment-controls .reply-button::before {
3017 content: '\F3E5';
3018 font-weight: 900;
3019 font-size: 0.9em;
3020 opacity: 0.6;
3022 .comment-meta .replied::before {
3023 content: '\F3E5';
3024 font-family: "Font Awesome", "Font Awesome 5 Free";
3025 color: #090;
3026 font-weight: 900;
3027 font-size: 0.9em;
3028 opacity: 0.6;
3031 .post-controls {
3032 text-align: right;
3033 margin: 0.75em 0 0 0;
3034 align-self: start;
3035 justify-self: end;
3037 .edit-post-link {
3038 display: inline-block;
3039 margin-bottom: 0.25em;
3040 font-size: 1.125rem;
3042 .edit-post-link::before {
3043 margin-right: 0.3em;
3045 .comment-controls .edit-button::before,
3046 .edit-post-link::before {
3047 content: '\F303';
3048 font-family: "Font Awesome", "Font Awesome 5 Free";
3049 font-weight: 900;
3050 font-size: 0.75em;
3051 position: relative;
3052 top: -1px;
3055 .comment-controls .delete-button {
3056 margin-right: 0.25em;
3058 .comment-controls .edit-button,
3059 .comment-controls .retract-button,
3060 .comment-controls .unretract-button {
3061 margin-right: 1em;
3063 .comment-controls .retract-button::before {
3064 content: '\F4B3';
3065 opacity: 0.6;
3067 .comment-controls .unretract-button::before {
3068 content: '\F075';
3069 opacity: 0.9;
3071 .comment-controls .delete-button::before {
3072 content: '\F05E';
3073 opacity: 0.7;
3075 .comment-controls .retract-button::before,
3076 .comment-controls .unretract-button::before,
3077 .comment-controls .delete-button::before {
3078 font-weight: 900;
3079 font-size: 0.9em;
3082 .comment-controls form {
3083 position: relative;
3085 .textarea-container {
3086 position: relative;
3088 .posting-controls textarea {
3089 display: block;
3090 width: 100%;
3091 height: 15em;
3092 min-height: 15em;
3093 max-height: calc(100vh - 6em);
3094 margin: 2px 0 0 0;
3095 padding: 4px 5px;
3096 font-size: 1.2rem;
3097 border-style: solid;
3098 border-width: 29px 1px 1px 1px;
3099 resize: none;
3102 /* GUIEdit buttons */
3104 .guiedit-buttons-container {
3105 position: absolute;
3106 left: 1px;
3107 top: 1px;
3108 width: calc(100% - 2px);
3109 height: 28px;
3110 text-align: left;
3111 padding: 1px 4px 0 4px;
3112 overflow: hidden;
3114 .comment-thread-page .guiedit-buttons-container {
3115 padding-right: 60px;
3117 .guiedit-buttons-container button {
3118 height: 26px;
3119 padding: 0 7px;
3120 font-weight: 900;
3121 font-size: 0.875rem;
3122 line-height: 1;
3123 position: static;
3125 .guiedit-buttons-container button:active {
3126 transform: none;
3128 .guiedit-buttons-container button:active div {
3129 transform: scale(0.9);
3131 .guiedit-buttons-container button sup {
3132 font-weight: bold;
3134 .guiedit::after {
3135 content: attr(data-tooltip);
3136 position: absolute;
3137 font-weight: normal;
3138 font-size: 1rem;
3139 top: 2px;
3140 left: 464px;
3141 height: 25px;
3142 padding: 4px 0;
3143 white-space: nowrap;
3144 visibility: hidden;
3146 .guiedit:hover::after {
3147 visibility: visible;
3150 /* Markdown hints */
3152 .posting-controls .markdown-reference-link {
3153 float: left;
3154 padding: 1px 0 0 6px;
3156 .posting-controls .markdown-reference-link a {
3157 padding-right: 1.5em;
3158 margin-right: 0.15em;
3159 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAQAAABNTyozAAAEDklEQVR4Ae3cY3QDjRaG0V1e27Zt27Zt27Ztf7Zt27Zt10jOdZtZzbSN2q41533+tsFO4zRi0TKRJVACJdDiJVACJVACJVACZQmUQAmUQAmUQAmUQFkCJVACJVACJVACJVDWuD7P8icnGRcVbdyJ/uRZ+jTZYxwq/lN2qMcozvtMibmySe/TsPeqi0JZ3XsAHm1SZAua9CjgoMQo6UB4uiim5gbXV7Ab1EQxT+P3RRw/dHtV3e39UL3g8XuOEw39QNX3g4LHcYwU/n5uo+q7beGKNqLwJ3U1cteKuepEQ1cid03BJIESKIESKIESKIESaIkl0I3dv7Q7a293c//ShrWym7l/abdbGaCnidJGPFzre6opUdqDtLJXitJ+svpA4Uy30dru6hJRHaCws37L37CDRbWAwvctf38S1QOqe43l7f2iikDheg+x9J5ksqpA4TS3svju5CJRXaCwvX7lG3KAqDZQ+Jby/U4kUM0rNN+7hAQSrvNAC/c4Ewn0/052C8Xd0fkigebbRp/5DdpHJFCxr5nfr4QEUqzmJYC3iQRq1jXuj8cYT6CyTnAv54oEKm9EJFBnJVAC7eoS0XJn2r8qQP/wNFOipUY8wvbVAeIjooXq3ki1gPhHC0A/oWWgQZ/37ZI2FaUdVPpb33LHlQS6scPFstrDQBtAvEpNdLEfsZJA3N3lYsnOcTvaAuKzomttqW+lgXimabFoYx5N20D8SXSlw9yElQfiE0J5dW+lI6BBu4uOO8+dWB0g1hel/YIOgbiVE0VHXefhrB7QTRwtmra3gS4AcW+Xibab8SJWE4h7uaLpn/Ud6AoQTzIu2uzDrDYQzzUjCo17HF0D4g3qoo1+yWoCld8hv5OuAvFl0XLb6V8rQGws5votXQfqs45oqaPdjLUDdNO5f7Xa32APgBhu6b2SC92VtQTEfVwlXOhO9ASI2zhNLKsRj2atAfFCo55Iz4C4nyvFks16OWsRiPvQUyCeblIs0adYq0B6DsTb1EV5fk+1gfiWKG0XAwnUZyPRtOPdggTiRg4UC7rEPUkg4PbOFIXGPIEEmt+DCmeu5rUkUHHPaXj76Qsk0MK9R/ynv5FAzfdDYS9Da+n/xe6ovd2lS/8vVlyfH7o1vQLKJVACJVACJVACJVACIYGW/A6z/A6zG8RcNbdT9d1eTcx1A8eKhn6s6vtxweNYfisaqvupu+jXV8H63cXP1Asev+Wpopi6aVMVbFpdFPMUlP6jdrY/8AgTYkHZhEcAvFNdFMpq3qFh78y/okIT3qk4j8zborn290hN91S/c6zrzapVsFnXO9bvPFXjYtEykSVQAnVUAiVQAiVQAiVQAiVQlkAJlEAJlEAJlEAJlCVQAiVQAiVQAiVQAmX/BMHb3CdNrgcrAAAAAElFTkSuQmCC');
3160 background-size: 1.25em;
3161 background-repeat: no-repeat;
3162 background-position: right center;
3165 #markdown-hints-checkbox + label {
3166 float: left;
3167 margin: 2px 0 0 1em;
3168 line-height: 1.3;
3169 cursor: pointer;
3171 #edit-post-form #markdown-hints-checkbox + label {
3172 padding: 0;
3174 #markdown-hints-checkbox {
3175 visibility: hidden;
3176 float: left;
3178 #markdown-hints-checkbox + label::after {
3179 content: "(Show Markdown help)";
3181 #markdown-hints-checkbox:checked + label::after {
3182 content: "(Hide Markdown help)";
3184 #markdown-hints-checkbox + label::before {
3185 content: '\F059';
3186 font-family: "Font Awesome", "Font Awesome 5 Free";
3187 font-weight: 900;
3188 margin-right: 3px;
3190 #markdown-hints-checkbox:checked + label::before {
3191 font-weight: normal;
3193 #markdown-hints {
3194 margin: 4px 0 0 4px;
3195 padding: 4px 8px;
3196 position: absolute;
3197 text-align: left;
3198 top: calc(100% - 1em);
3199 z-index: 1;
3200 display: none;
3202 .comment-controls #markdown-hints {
3203 top: calc(100% + 1.75em);
3205 #markdown-hints-checkbox:checked ~ #markdown-hints {
3206 display: table;
3208 .markdown-hints-row {
3209 display: table-row;
3211 #markdown-hints .markdown-hints-row span,
3212 #markdown-hints .markdown-hints-row code {
3213 float: none;
3214 display: table-cell;
3215 border: none;
3216 background-color: inherit;
3217 padding: 0 12px 0 0;
3220 /******************/
3221 /* EDIT POST FORM */
3222 /******************/
3224 #edit-post-form {
3225 padding: 1em 1em 4em 1em;
3227 #edit-post-form .post-meta-fields {
3228 display: grid;
3229 grid-template-columns: 5em auto auto auto 1fr auto;
3230 margin-bottom: 0.625em;
3233 #edit-post-form label[for='title'],
3234 #edit-post-form label[for='url'],
3235 #edit-post-form label[for='section'] {
3236 grid-column: 1;
3238 #edit-post-form input[type='text'] {
3239 padding: 0.25em;
3240 grid-column: 2 / span 4;
3241 margin-bottom: 0.5em;
3244 #edit-post-form .link-post-checkbox,
3245 #edit-post-form .link-post-checkbox + label {
3246 grid-row: 1;
3247 grid-column: 6;
3249 #edit-post-form .question-checkbox,
3250 #edit-post-form .question-checkbox + label {
3251 grid-row: 3;
3252 grid-column: 5;
3253 justify-self: start;
3254 margin-left: 1.5em;
3257 #edit-post-form .post-meta-fields label[for="submit-to-frontpage"] {
3258 grid-row: 4;
3259 grid-column: 2 / span 4;
3260 text-align: left;
3261 margin-top: 8px;
3264 #edit-post-form .post-meta-fields input[type='checkbox'] {
3265 height: 0;
3266 opacity: 0;
3267 pointer-events: none;
3269 #edit-post-form .post-meta-fields input[type='checkbox'] + label {
3270 white-space: nowrap;
3271 position: relative;
3272 cursor: pointer;
3273 padding: 0.25em 0.5em 0.25em calc(20px + 0.25em + 0.3725em);
3274 align-self: start;
3276 #edit-post-form .post-meta-fields input[type='checkbox'] + label::before {
3277 content: "";
3278 font-family: "Font Awesome", "Font Awesome 5 Free";
3279 font-size: 1.375rem;
3280 line-height: 0.7;
3281 text-indent: 1px;
3282 font-weight: 900;
3283 position: absolute;
3284 width: 20px;
3285 height: 20px;
3286 left: 5px;
3288 #edit-post-form label[for='url'],
3289 #edit-post-form input[name='url'] {
3290 display: none;
3292 #edit-post-form .link-post-checkbox:checked ~ label[for='url'],
3293 #edit-post-form .link-post-checkbox:checked ~ input[name='url'] {
3294 display: initial;
3296 #edit-post-form label {
3297 line-height: normal;
3298 border: 1px solid transparent;
3299 text-align: right;
3300 padding: 0.25em 0.5em;
3301 white-space: nowrap;
3303 #edit-post-form input[type='radio'] {
3304 width: 0;
3305 margin: 0;
3306 opacity: 0;
3307 pointer-events: none;
3309 #edit-post-form input[type='radio'] + label {
3310 padding: 4px 12px;
3311 text-align: center;
3312 border-style: solid;
3313 border-width: 1px 1px 1px 0;
3314 cursor: pointer;
3316 #edit-post-form input[type='radio']:checked + label {
3317 cursor: default;
3320 #edit-post-form label[for='section'] {
3321 grid-row: 3;
3323 #edit-post-form input[type='radio'] + label {
3324 grid-row: 3;
3326 <?php fit_content("#edit-post-form input[type='radio'] + label"); ?>
3328 #edit-post-form textarea {
3329 min-height: 24em;
3332 #edit-post-form input[type='submit'] {
3333 padding: 6px 12px;
3334 float: right;
3336 #edit-post-form #markdown-hints {
3337 top: calc(100% + 2em);
3340 #edit-post-form button.guiedit div {
3341 overflow: visible;
3343 .guiedit-mobile-auxiliary-button {
3344 display: none;
3347 /***********/
3348 /* BUTTONS */
3349 /***********/
3351 button,
3352 input[type='submit'] {
3353 font-family: inherit;
3354 font-size: inherit;
3355 background-color: inherit;
3356 cursor: pointer;
3357 border: none;
3358 border-radius: 0;
3361 /************/
3362 /* HEADINGS */
3363 /************/
3365 .body-text h1,
3366 .body-text h2,
3367 .body-text h3,
3368 .body-text h4,
3369 .body-text h5,
3370 .body-text h6 {
3371 line-height: 1.1;
3372 margin: 1em 0 0.75em 0;
3373 text-align: left;
3376 .post-body h5,
3377 .post-body h6 {
3378 font-size: 1em;
3380 .post-body h4,
3381 .body-text h4 {
3382 font-size: 1.2em;
3384 .post-body h3,
3385 .body-text h3 {
3386 font-size: 1.4em;
3388 .post-body h2,
3389 .body-text h2 {
3390 font-size: 1.75em;
3392 .post-body h1,
3393 .body-text h1 {
3394 font-size: 2.1em;
3397 .comment-body h5,
3398 .comment-body h6 {
3399 font-size: 1em;
3401 .comment-body h4 {
3402 font-size: 1.15em;
3404 .comment-body h3 {
3405 font-size: 1.3em;
3407 .comment-body h2 {
3408 font-size: 1.5em;
3410 .comment-body h1 {
3411 font-size: 1.75em;
3414 /**********/
3415 /* QUOTES */
3416 /**********/
3418 blockquote,
3419 .post-body .comment-box .comment-body {
3420 font-size: 0.9em;
3421 margin: 1em 0;
3422 padding-left: 0.5em;
3423 margin-left: 1px;
3424 padding-bottom: 3px;
3426 blockquote *:first-child {
3427 margin-top: 0;
3429 blockquote *:last-child {
3430 margin-bottom: 0;
3432 blockquote blockquote {
3433 font-size: 0.95em;
3436 /* Pseudo-blockquotes that LW sometimes uses for some reason */
3438 .post-body .comment-box .user-name {
3439 font-style: italic;
3441 .post-body .comment-box .user-name::after {
3442 content: ":";
3444 .post-body .comment-box {
3445 zoom: 1.25;
3448 /**********/
3449 /* IMAGES */
3450 /**********/
3452 #content img, #content figure {
3453 max-width: 100%;
3456 .prediction-poll > svg {
3457 width: 700px;
3458 max-width: 100%;
3461 img.inline-latex {
3462 position: relative;
3463 top: 2.5px;
3464 margin: 0 2px;
3467 #content figure {
3468 text-align: center;
3469 margin: 1.5em auto;
3472 p.imgonly,
3473 div.imgonly,
3474 figure {
3475 text-align: center;
3476 margin: auto;
3477 clear: both;
3480 .imgonly iframe {
3481 display: block;
3482 width: 100%;
3483 height: 250px;
3484 border: 0;
3487 // Aspect ratio trick from https://css-tricks.com/aspect-ratio-boxes/
3489 [style*="--aspect-ratio"] > * {
3490 width: 100%;
3492 [style*="--aspect-ratio"] > img {
3493 height: auto;
3495 @supports (--custom:property) {
3496 [style*="--aspect-ratio"] {
3497 position: relative;
3499 [style*="--aspect-ratio"]::before {
3500 content: "";
3501 display: block;
3502 padding-bottom: calc(100% / (var(--aspect-ratio)));
3504 [style*="--aspect-ratio"] > * {
3505 position: absolute;
3506 top: 0;
3507 left: 0;
3508 height: 100%;
3512 /**********/
3513 /* TABLES */
3514 /**********/
3516 .body-text table {
3517 border-collapse: collapse;
3518 font-size: 0.875em;
3520 .body-text table th,
3521 .body-text table td {
3522 text-align: left;
3523 padding: 4px 6px;
3524 line-height: 1.3;
3526 .body-text table .numeric {
3527 text-align: right;
3528 font-family: Inconsolata, Menlo, monospace;
3530 .body-text table caption {
3531 margin: 0 0 0.25em 0;
3532 font-weight: bold;
3533 font-size: 1.125em;
3536 /********/
3537 /* MISC */
3538 /********/
3540 /*= Superscripts & subscripts =*/
3542 /* Make sure superscripts and subscripts do not affect line spacing. */
3543 sup, sub {
3544 vertical-align: baseline;
3545 position: relative;
3546 top: -0.5em;
3547 left: 0.05em;
3548 font-size: 0.8em;
3550 sub {
3551 top: 0.3em;
3554 /*= Code blocks & other "unstyled" text. =*/
3556 pre,
3557 code {
3558 font-family: Inconsolata, Menlo, monospace;
3560 pre {
3561 white-space: pre-wrap;
3563 .body-text pre {
3564 text-align: left;
3566 code {
3567 font-size: 0.95em;
3568 display: inline-block;
3569 padding: 0 4px 1px 5px;
3571 pre > code {
3572 display: block;
3573 border-radius: 0;
3574 padding: 3px 4px 5px 8px;
3575 tab-size: 4;
3578 /*= Fractions =*/
3580 .frac::after {
3581 content: "\200B";
3584 /*= Removing browser default styling of various elements =*/
3586 /* On various input elements such as text fields and buttons, remove "blue glow" focus outlines on Macs, dotted black outlines in Firefox, etc. */
3587 :focus {
3588 outline: none;
3591 /* Remove "embossed" appearance of horizontal rules. */
3592 hr {
3593 border: none;
3596 input,
3597 button,
3598 textarea {
3599 -webkit-appearance: none;
3600 -moz-appearance: none;
3601 appearance: none;
3604 input {
3605 font-family: inherit;
3606 font-size: inherit;
3607 font-weight: inherit;
3610 /*************/
3611 /* FOOTNOTES */
3612 /*************/
3614 ol {
3615 counter-reset: ordered-list;
3617 .footnote-definition {
3618 font-size: 0.9em;
3619 list-style-type: none;
3620 counter-increment: ordered-list;
3621 position: relative;
3623 .footnote-definition p {
3624 font-size: inherit !important;
3626 .footnote-definition::before {
3627 content: counter(ordered-list) ".";
3628 position: absolute;
3629 left: -2.5em;
3630 font-weight: bold;
3631 text-align: right;
3632 width: 2em;
3635 /*= LW Docs footnotes =*/
3637 .footnote-item {
3638 display: flex;
3641 .footnote-item > :not(.nothing) {
3642 margin: 0 0.2em;
3645 .footnote-item > :first-child {
3646 margin-left: -0.2em;
3647 margin-right: 0;
3650 .footnote-back-link a:not(.nothing) {
3651 font-size: 0;
3652 text-decoration: none;
3653 border: none;
3656 .footnote-back-link a:not(.nothing):hover {
3657 text-shadow: 0 0 1px #fff, 0 0 3px #fff, 0 0 5px #00e;
3658 border: none;
3659 text-decoration: none;
3662 .footnote-back-link a::after {
3663 content: '\F106';
3664 font-family: Font Awesome;
3665 font-size: 1rem;
3666 padding: 0.2em;
3667 text-decoration: none;
3668 font-weight: bold;
3671 .footnote-content > :first-child {
3672 margin-top: 0;
3675 /*********/
3676 /* LISTS */
3677 /*********/
3679 li {
3680 margin-bottom: 0.5em;
3683 .body-text ol p,
3684 .body-text ul p {
3685 margin: 0.5em 0;
3688 .body-text ol {
3689 list-style: none;
3690 padding: 0;
3691 counter-reset: ol;
3693 .body-text ol > li {
3694 position: relative;
3695 counter-increment: ol;
3696 padding: 0 0 0 2.5em;
3697 margin: 0.25em 0 0 0;
3699 .body-text ol > li::before {
3700 content: counter(ol) ".";
3701 position: absolute;
3702 width: 2em;
3703 text-align: right;
3704 left: 0;
3706 .body-text ul {
3707 list-style: none;
3708 padding: 0;
3710 .body-text ul:not(.contents-list) > li:empty {
3711 padding-bottom: 1.25em;
3713 .body-text ul:not(.contents-list) > li {
3714 position: relative;
3715 padding: 0 0 0 1.75em;
3716 margin: 0.25em 0 0 0;
3718 .body-text ul:not(.contents-list) > li ul > li {
3719 padding: 0 0 0 2em;
3721 .body-text ul:not(.contents-list) > li::before {
3722 content: "•";
3723 position: absolute;
3724 width: 1.25em;
3725 text-align: right;
3726 left: 0;
3728 .body-text ul:not(.contents-list) > li ul > li::before {
3729 width: 1.5em;
3731 .body-text li > ul:first-child > li {
3732 padding-left: 0;
3734 .body-text li > ul:first-child > li::before {
3735 content: none;
3738 /**************/
3739 /* ERROR PAGE */
3740 /**************/
3742 .error-retry-form {
3743 margin: 0.5em 0;
3746 .error-retry-form input[type="submit"] {
3747 border: 1px solid #aaa;
3748 font-weight: bold;
3749 font-size: 1.125rem;
3750 padding: 0.5em 1.25em;
3753 /**************/
3754 /* ABOUT PAGE */
3755 /**************/
3757 #content.about-page .contents {
3758 margin-top: 0.25em;
3760 #content.about-page .accesskey-table {
3761 border-collapse: collapse;
3762 margin: auto;
3764 #content.about-page .accesskey-table th,
3765 #content.about-page .accesskey-table td {
3766 padding: 2px 6px;
3768 #content.about-page .accesskey-table td:first-child {
3769 padding-right: 1.5em;
3771 #content.about-page .accesskey-table td:last-child {
3772 text-align: center;
3773 font-family: Inconsolata, Menlo, monospace;
3775 #content.about-page h3:nth-of-type(n+2) {
3776 clear: both;
3779 /******************/
3780 /* IMAGES OVERLAY */
3781 /******************/
3783 #images-overlay + #content .post-body img {
3784 visibility: hidden;
3787 #images-overlay div {
3788 position: absolute;
3790 #images-overlay div::after {
3791 content: "Click to enlarge";
3792 display: block;
3793 position: absolute;
3794 margin: auto;
3795 left: 0;
3796 right: 0;
3797 bottom: 10px;
3798 padding: 6px 10px;
3799 font-size: 1.25rem;
3800 background-color: rgba(0,0,0,0.6);
3801 color: #fff;
3802 border-radius: 5px;
3803 opacity: 0.0;
3804 transition: opacity 0.15s ease;
3805 pointer-events: none;
3807 <?php fit_content("#images-overlay div::after"); ?>
3808 #images-overlay div:hover::after {
3809 opacity: 1.0;
3812 #images-overlay img {
3813 width: 100%;
3816 /***************/
3817 /* IMAGE FOCUS */
3818 /***************/
3820 /*=--------------=*/
3821 /*= Hover styles =*/
3822 /*=--------------=*/
3824 #content img:hover,
3825 #images-overlay img:hover {
3826 filter: drop-shadow(0 0 3px #777);
3827 cursor: zoom-in;
3829 #content img:active,
3830 #images-overlay img:active {
3831 transform: scale(0.975);
3834 /*=---------=*/
3835 /*= Overlay =*/
3836 /*=---------=*/
3838 #image-focus-overlay {
3839 position: fixed;
3840 top: 0;
3841 right: 0;
3842 bottom: 0;
3843 left: 0;
3844 z-index: 2;
3845 display: none;
3846 cursor: zoom-out;
3848 #image-focus-overlay::before {
3849 content: "";
3850 display: block;
3851 position: absolute;
3852 top: 0;
3853 right: 0;
3854 bottom: 0;
3855 left: 0;
3856 background-color: #000;
3857 opacity: 0.5;
3858 z-index: -1;
3860 #image-focus-overlay.engaged {
3861 display: initial;
3864 #image-focus-overlay img {
3865 margin: auto;
3866 position: absolute;
3867 left: 50%;
3868 top: 50%;
3869 transform: translateX(-50%) translateY(-50%);
3872 /*=-------------------=*/
3873 /*= Single-image mode =*/
3874 /*=-------------------=*/
3876 #image-focus-overlay:not(.slideshow) .image-number,
3877 #image-focus-overlay:not(.slideshow) .slideshow-buttons {
3878 visibility: hidden;
3881 /*=---------=*/
3882 /*= Caption =*/
3883 /*=---------=*/
3885 #image-focus-overlay .caption {
3886 position: absolute;
3887 bottom: 0.75em;
3888 background-color: rgba(0,0,0,0.7);
3889 left: 9em;
3890 right: 9em;
3891 margin: auto;
3892 max-width: calc(100% - 18em);
3893 text-align: center;
3894 font-size: 1.375em;
3895 border-radius: 8px;
3896 z-index: 1;
3897 transition:
3898 bottom 0.2s ease;
3900 <?php fit_content("#image-focus-overlay .caption"); ?>
3901 #image-focus-overlay .caption.hidden {
3902 bottom: -5em;
3903 transition:
3904 bottom 0.5s ease;
3907 #image-focus-overlay .caption p {
3908 margin: 1em 1.25em;
3909 color: #fff;
3912 #image-focus-overlay .caption:not(:empty)::before {
3913 content: "";
3914 display: block;
3915 position: absolute;
3916 width: 100vw;
3917 height: calc(100% + 1.5em);
3918 z-index: -1;
3919 top: -0.75em;
3920 left: calc(-50vw + 50%);
3924 /*=--------------=*/
3925 /*= Help overlay =*/
3926 /*=--------------=*/
3928 #image-focus-overlay .help-overlay {
3929 position: absolute;
3930 display: flex;
3931 flex-flow: column;
3932 z-index: 2;
3933 font-size: 1.5rem;
3934 padding: 1em;
3935 border-radius: 10px;
3936 bottom: 1em;
3937 right: 1em;
3938 overflow: hidden;
3939 white-space: nowrap;
3940 color: transparent;
3941 cursor: default;
3942 visibility: hidden;
3943 transition:
3944 visibility 1s ease,
3945 color 1s ease,
3946 background-color 1s ease,
3947 bottom 0.3s ease;
3949 #image-focus-overlay .help-overlay:hover {
3950 max-width: 24em;
3951 max-height: 14em;
3952 background-color: rgba(0,0,0,0.85);
3953 color: #fff;
3954 visibility: visible;
3955 transition:
3956 visibility 0.2s ease 0.3s,
3957 color 0.2s ease 0.3s,
3958 background-color 0.2s ease 0.3s;
3961 #image-focus-overlay .help-overlay::after {
3962 content: "\F128";
3963 font-family: "Font Awesome", "Font Awesome 5 Free";
3964 font-weight: 900;
3965 font-size: 2rem;
3966 position: absolute;
3967 right: 0;
3968 bottom: 0;
3969 padding: 10px;
3970 color: #000;
3971 filter: drop-shadow(0 0 6px #fff);
3972 visibility: visible;
3973 opacity: 0.85;
3974 transition:
3975 visibility 1s ease;
3977 #image-focus-overlay .help-overlay:hover::after {
3978 visibility: hidden;
3979 transition:
3980 visibility 0.2s ease 0.3s;
3983 #image-focus-overlay .help-overlay p {
3984 margin: 0;
3985 text-indent: -2em;
3986 padding-left: 2em;
3987 max-width: 100%;
3988 overflow: hidden;
3990 #image-focus-overlay .help-overlay p + p {
3991 margin: 0.75em 0 0 0;
3993 #image-focus-overlay .help-overlay.hidden {
3994 bottom: -2em;
3997 /*=--------------=*/
3998 /*= Slide number =*/
3999 /*=--------------=*/
4001 #image-focus-overlay .image-number {
4002 position: absolute;
4003 z-index: 2;
4004 font-size: 1.75rem;
4005 left: 1em;
4006 bottom: 1em;
4007 font-weight: 600;
4008 text-shadow:
4009 0 0 3px #fff,
4010 0 0 5px #fff,
4011 0 0 8px #fff,
4012 0 0 13px #fff;
4013 width: 1.5em;
4014 text-align: right;
4015 white-space: nowrap;
4016 transition: bottom 0.3s ease;
4018 #image-focus-overlay .image-number::before {
4019 content: "#";
4020 opacity: 0.3;
4022 #image-focus-overlay .image-number::after {
4023 content: " of " attr(data-number-of-images);
4024 opacity: 0.3;
4026 #image-focus-overlay .image-number:hover::before,
4027 #image-focus-overlay .image-number:hover::after {
4028 opacity: 1.0;
4030 #image-focus-overlay .image-number.hidden {
4031 bottom: -1.25em;
4034 /*=-------------------=*/
4035 /*= Slideshow buttons =*/
4036 /*=-------------------=*/
4038 #image-focus-overlay .slideshow-buttons {
4039 position: absolute;
4040 top: 0;
4041 left: 0;
4042 width: 100%;
4043 height: 100%;
4044 z-index: 1;
4045 display: flex;
4046 justify-content: space-between;
4047 pointer-events: none;
4049 #image-focus-overlay .slideshow-buttons button {
4050 font-family: "Font Awesome", "Font Awesome 5 Free";
4051 font-weight: 900;
4052 font-size: 3rem;
4053 padding: 0.5em;
4054 color: #ddd;
4055 position: relative;
4056 left: 0;
4057 transition:
4058 left 0.3s ease;
4059 pointer-events: auto;
4061 #image-focus-overlay .slideshow-buttons button::selection {
4062 background-color: transparent;
4064 @media only screen and (hover: hover) {
4065 #image-focus-overlay .slideshow-buttons button:hover {
4066 background-color: rgba(0,0,0,0.1);
4067 color: #777;
4070 #image-focus-overlay .slideshow-buttons button:active {
4071 transform: none;
4072 color: #888;
4074 #image-focus-overlay .slideshow-buttons button:disabled {
4075 text-shadow: none;
4076 background-color: transparent;
4077 color: #ddd;
4078 cursor: default;
4079 opacity: 0.4;
4081 #image-focus-overlay .slideshow-button.previous.hidden {
4082 left: -1.75em;
4084 #image-focus-overlay .slideshow-button.next.hidden {
4085 left: 1.75em;
4088 /*=-----------------=*/
4089 /*= Background blur =*/
4090 /*=-----------------=*/
4092 .blurred {
4093 filter: blur(3px);
4096 /**************************/
4097 /* QUALIFIED HYPERLINKING */
4098 /**************************/
4100 #content.no-nav-bars {
4101 margin: 8px auto;
4103 #content.no-nav-bars + #ui-elements-container > * {
4104 padding-top: 8px;
4107 #aux-about-link {
4108 position: fixed;
4109 top: 40px;
4110 left: calc((100% - 900px) / 2 - 69px);
4111 width: 1.5em;
4112 height: 1.5em;
4113 text-align: center;
4114 display: table;
4116 #aux-about-link a {
4117 display: table-cell;
4118 width: 100%;
4119 vertical-align: middle;
4120 font-family: "Font Awesome", "Font Awesome 5 Free";
4121 font-weight: 900;
4122 font-size: 1.25rem;
4123 opacity: 0.4;
4124 z-index: 1;
4127 .qualified-linking {
4128 margin: 0;
4129 position: relative;
4131 .qualified-linking input[type='checkbox'] {
4132 visibility: hidden;
4133 width: 0;
4134 height: 0;
4135 margin: 0;
4137 .qualified-linking label {
4138 font-family: "Font Awesome", "Font Awesome 5 Free";
4139 font-weight: 900;
4140 font-size: 1rem;
4141 padding: 0 0.5em;
4142 display: inline-block;
4143 margin-left: 0.25em;
4145 .qualified-linking label:hover {
4146 cursor: pointer;
4148 .qualified-linking label:active span {
4149 display: inline-block;
4150 transform: scale(0.9);
4152 .qualified-linking label::selection {
4153 background-color: transparent;
4156 .qualified-linking label::after {
4157 content: "";
4158 width: 100vw;
4159 height: 0;
4160 left: 0;
4161 top: 0;
4162 position: fixed;
4163 z-index: 1;
4164 cursor: default;
4166 .qualified-linking input[type='checkbox']:checked + label::after {
4167 height: 100vh;
4170 .qualified-linking-toolbar {
4171 position: absolute;
4172 right: 0.25em;
4173 top: 110%;
4174 z-index: 1;
4176 .qualified-linking input[type='checkbox'] ~ .qualified-linking-toolbar {
4177 display: none;
4179 .qualified-linking input[type='checkbox']:checked ~ .qualified-linking-toolbar {
4180 display: block;
4182 #qualified-linking-toolbar-toggle-checkbox-bottom ~ .qualified-linking-toolbar {
4183 top: unset;
4184 bottom: 125%;
4187 .qualified-linking-toolbar a {
4188 display: block;
4189 padding: 0 6px;
4190 margin: 4px;
4192 .qualified-linking-toolbar a::selection {
4193 background-color: transparent;
4196 /*****************/
4197 /* HOVER PREVIEW */
4198 /*****************/
4200 #preview-popup-toggle {
4201 position: absolute;
4202 right: -67px;
4203 bottom: 285px;
4204 cursor: pointer;
4205 color: var(--GW-toggle-widget-color, #888);
4207 #preview-popup-toggle:hover {
4208 color: var(--GW-toggle-widget-hover-color, #444);
4211 #content.preview:not(not) {
4212 padding: 0;
4214 #content.preview > .comment-thread {
4215 margin: 2px;
4217 #content.preview.individual-thread-page > .comment-thread > .comment-item {
4218 border: none;
4220 #content.preview.user-page .page-main-heading, #content.preview.user-page .user-stats {
4221 padding: 0 8px;
4223 #content.preview.user-page .page-main-heading {
4224 margin-left: 8px;
4226 #content.preview.not(not) .body-text {
4227 margin-left: 8px;
4228 margin-right: 8px;
4230 #content.preview.user-page .user-stats {
4231 margin-right: 32px;
4233 #content.preview.user-page .page-toolbar, #content.preview.user-page nav {
4234 display: none;
4236 #content.preview button.vote {
4237 display: none;
4239 #content.preview > h1.listing {
4240 max-height: unset;
4242 #content.preview.user-page > .comment-thread {
4243 margin: 0.5em 0;
4245 #content.preview > .post {
4246 margin: 0 18px;
4248 #content.preview .post-title {
4249 margin-top: 0.5em;
4251 #content.preview .post-meta {
4252 line-height: 1.0;
4254 #content.preview .body-text {
4255 font-size: 1em;
4257 #content.preview nav.contents,
4258 #content.preview .lw2-link {
4259 display: none;
4262 .preview-popup {
4263 position: fixed;
4264 transform-origin: top;
4265 top: 10%;
4266 right: 10%;
4267 max-width: 700px;
4268 z-index: 10001;
4269 background-color: #eee;
4270 border: 1px solid #ccc;
4271 box-shadow: 2px 6px 20px -4px #000;
4272 transition: height 0.2s ease, top 0.2s ease;
4274 .popup-hide-button {
4275 position: fixed;
4276 top: 4px;
4277 right: 4px;
4278 color: #000;
4279 background-color: #fff;
4280 width: 28px;
4281 height: 28px;
4282 display: flex;
4283 font-family: "Font Awesome";
4284 font-size: 14px;
4285 line-height: 1;
4286 border: 1px solid #bbb;
4287 border-radius: 28px;
4288 align-items: center;
4289 justify-content: center;
4290 //padding-bottom: 2px;
4291 padding-left: 1.5px;
4292 font-family: "Font Awesome", "Font Awesome 5 Free";
4293 cursor: pointer;
4295 .popup-hide-button:hover::before {
4296 content: "Turn off preview popups";
4297 display: block;
4298 position: absolute;
4299 width: max-content;
4300 right: 32px;
4301 color #000;
4302 background-color: #fff;
4303 border: 1px solid #eee;
4304 border-radius: 2px;
4305 padding: 4px;
4308 /********/
4309 /* MATH */
4310 /********/
4312 .mathjax-block-container {
4313 display: block;
4314 overflow-y: hidden;
4315 border-radius: 6px;
4316 margin: 1em 0 1.5em 0;
4318 .mathjax-inline-container {
4319 max-width: 100%;
4320 overflow-x: auto;
4321 overflow-y: hidden;
4322 position: relative;
4323 padding: 0 1px;
4325 #content .mathjax-inline-container,
4326 #content .mathjax-inline-container .mjpage,
4327 #content .mathjax-inline-container .mjx-chtml,
4328 #content .mathjax-inline-container .mjx-math,
4329 #content .mathjax-inline-container .mjx-mrow {
4330 display: inline;
4331 white-space: normal;
4333 .post .mathjax-inline-container {
4334 line-height: 1;
4336 .comment .mathjax-inline-container {
4337 line-height: 1;
4339 .mathjax-inline-container .mjx-chtml {
4340 padding: 0;
4343 /************/
4344 /* SPOILERS */
4345 /************/
4347 .spoiler {
4348 color: #000; /* invert-override: #666 */
4349 background-color: currentColor;
4350 transition: none;
4351 text-shadow: none;
4352 margin: 1em 0;
4353 box-shadow: 0 0 0 1px currentColor inset;
4354 overflow: auto;
4356 .spoiler:not(:last-child) {
4357 margin-bottom: 0;
4359 #content .spoiler * {
4360 color: inherit;
4361 border: none;
4363 .spoiler:hover {
4364 color: unset;
4365 background-color: unset;
4366 text-shadow: unset;
4367 transition:
4368 color 0.1s ease-out 0.1s,
4369 background-color 0.1s ease-out 0.1s,
4370 text-shadow 0.1s ease-out 0.1s;
4372 .spoiler::selection,
4373 .spoiler ::selection {
4374 color: #fff;
4375 background-color: #000; /* invert-override: #666 */
4377 .spoiler:not(:hover)::selection,
4378 .spoiler:not(:hover) ::selection {
4379 background-color: transparent;
4382 /*= Fix for LessWrong being weird =*/
4384 .spoiler > p {
4385 padding: 0 7px;
4387 .spoiler > p:first-child {
4388 margin-top: 0.25em;
4390 .spoiler > p:last-child {
4391 margin-bottom: 0;
4392 padding-bottom: 0.25em;
4394 #content .spoiler > p:hover ~ p {
4395 color: #000; /* invert-override: #666 */
4396 background-color: currentColor;
4398 .spoiler > p + p {
4399 margin-top: -1em;
4401 .spoiler > p:not(:first-child) {
4402 padding-top: 0.5em;
4404 .spoiler > p:not(:last-child) {
4405 padding-bottom: 0.5em;
4408 .spoiler:not(:hover) pre,
4409 .spoiler:not(:hover) code {
4410 background-color: inherit;
4411 box-shadow: none;
4413 #content .spoiler pre {
4414 border-color: currentColor;
4415 border-style: solid;
4416 border-width: 0 1px;
4417 border-radius: 0;
4420 /*******************/
4421 /* PAGE LIST INDEX */
4422 /*******************/
4424 .page-list-index {
4425 margin: 1em 30px;
4426 line-height: 1.2;
4429 .page-list-index > p {
4430 font-weight: bold;
4431 font-size: 1.2em;
4434 .page-list-index > ul * {
4435 margin: 0;
4438 .page-list-index ul {
4439 padding-left: 1.5em;
4442 .page-list-index li {
4443 margin-top: 0.67em;
4446 .page-list-index li > a {
4447 display: block;
4448 font-size: 1.1em;
4449 font-weight: bold;
4450 margin: 0.33em 0;
4453 .page-list-index li > a:last-child {
4454 margin-bottom: 1em;
4458 /*****************/
4459 /* USER MENTIONS */
4460 /*****************/
4462 .textarea-container .autocomplete-container {
4463 position: absolute;
4464 overflow-y: auto;
4465 font-size: 1.125rem;
4466 cursor: default;
4467 backdrop-filter: blur(2px);
4468 width: 360px;
4470 .textarea-container .autocomplete-container:empty {
4471 display: none;
4474 @media only screen and (min-width: 521px) {
4475 .textarea-container .autocomplete-container.inside {
4476 max-height: calc(100% - 36px);
4477 top: 32px;
4479 .textarea-container .autocomplete-container.outside {
4480 max-height: calc(100% - 28px);
4481 top: 28px;
4482 z-index: 10001;
4485 .textarea-container .autocomplete-container.inside.right {
4486 right: 18px;
4488 .textarea-container .autocomplete-container.inside.left {
4489 left: 18px;
4491 .textarea-container .autocomplete-container.outside.right {
4492 left: calc(100% + 3px);
4494 .textarea-container .autocomplete-container.outside.left {
4495 right: calc(100% + 3px);
4498 head.content-width-normal + body .textarea-container .autocomplete-container.outside {
4499 max-width: calc((100vw - (900px - 40px * 2)) / 2);
4501 head.content-width-wide + body .textarea-container .autocomplete-container.outside {
4502 max-width: calc((100vw - (1150px - 40px * 2)) / 2);
4504 head.content-width-fluid + body .textarea-container .autocomplete-container.outside {
4505 max-width: calc((300px + 40px * 2) / 2);
4509 .textarea-container .autocomplete-container div {
4510 padding: 2px 8px 0 8px;
4511 white-space: nowrap;
4512 display: flex;
4513 justify-content: flex-end;
4516 .textarea-container .autocomplete-container div span.name {
4517 flex: 1 1 auto;
4518 width: calc(100% - 9em);
4519 overflow: hidden;
4520 text-overflow: ellipsis;
4522 .textarea-container .autocomplete-container div span.name:hover {
4523 overflow: visible;
4524 z-index: 1;
4526 .textarea-container .autocomplete-container div span.age,
4527 .textarea-container .autocomplete-container div span.karma {
4528 font-size: 0.9em;
4529 text-align: right;
4531 .textarea-container .autocomplete-container div span.age {
4532 flex: 0 0 3em;
4534 .textarea-container .autocomplete-container div span.karma {
4535 flex: 0 0 6em;
4539 /***************/
4540 /* COLLECTIONS */
4541 /***************/
4543 h2.sequence-chapter,
4544 h3.sequence-chapter,
4545 h4.sequence-chapter {
4546 text-align: center;
4548 h2.sequence-chapter::before,
4549 h3.sequence-chapter::before,
4550 h4.sequence-chapter::before {
4551 display: block;
4552 clear: both;
4553 margin: 1.5em 0 0.75em 0;
4554 font-style: normal;
4555 font-weight: normal;
4556 font-family: <?php echo $UI_font; ?>;
4558 h2.sequence-chapter::before {
4559 content: '\25A3';
4561 h3.sequence-chapter::before {
4562 content: '\25AA\2004\25AA';
4564 h4.sequence-chapter::before {
4565 content: '\00B7\2004\00B7\2004\00B7';
4569 /*******************/
4570 /* ALIGNMENT FORUM */
4571 /*******************/
4573 #content.alignment-forum-index-page::after {
4574 content: "Alignment Forum";
4575 font-size: 1.5rem;
4576 margin: 0.375em 0 0 -0.375em;
4577 order: -1;
4580 /**********************/
4581 /* FOR NARROW SCREENS */
4582 /**********************/
4584 @media only screen and (max-width: 1440px) {
4585 #hns-date-picker {
4586 right: -81px;
4587 padding: 8px 10px 10px 10px;
4588 bottom: 62px;
4589 display: none;
4591 #hns-date-picker::before {
4592 content: "";
4593 position: absolute;
4594 display: block;
4595 z-index: -1;
4596 height: calc(100% + 2px);
4597 top: -1px;
4598 left: -1px;
4599 width: 50%;
4602 @media only screen and (max-width: 1160px) {
4603 #new-comment-nav-ui {
4604 bottom: 180px;
4605 right: -68px;
4607 #hns-date-picker {
4608 bottom: 200px;
4609 right: -36px;
4611 #hns-date-picker::before {
4612 width: calc(100% - 35px);
4614 #theme-selector button::before {
4615 right: unset;
4616 left: 100%;
4618 #theme-selector:hover::after {
4619 content: "";
4620 display: block;
4621 position: absolute;
4622 width: calc(6em - 7px);
4623 height: calc(100% + 2px);
4624 top: 0;
4625 left: calc(100% + 1px);
4627 #anti-kibitzer-toggle {
4628 bottom: 330px;
4631 @media only screen and (max-width: 1080px) {
4632 #width-selector {
4633 right: -30px;
4635 #width-selector button {
4636 display: block;
4638 #text-size-adjustment-ui {
4639 top: 90px;
4640 right: -30px;
4642 #text-size-adjustment-ui button {
4643 display: block;
4644 position: relative;
4646 #text-size-adjustment-ui button.increase {
4647 bottom: 48px;
4649 #text-size-adjustment-ui button.decrease {
4650 top: 50px;
4652 #theme-selector {
4653 top: 46px;
4654 left: -44px;
4656 #theme-tweaker-toggle {
4657 left: -44px;
4658 top: 2px;
4660 #theme-tweaker-toggle button {
4661 height: 2em;
4662 width: 2em;
4663 padding: 7px;
4665 #quick-nav-ui {
4666 right: -54px;
4668 #new-comment-nav-ui {
4669 right: -55px;
4671 #hns-date-picker {
4672 right: -23px;
4674 #hns-date-picker::before {
4675 width: calc(100% - 22px);
4677 #anti-kibitzer-toggle {
4678 right: -54px;
4681 @media only screen and (max-width: 1040px) {
4682 #quick-nav-ui {
4683 right: -49px;
4685 #new-comment-nav-ui {
4686 right: -50px;
4688 #hns-date-picker {
4689 right: -18px;
4691 #hns-date-picker::before {
4692 width: calc(100% - 17px);
4694 #anti-kibitzer-toggle {
4695 right: -50px;
4698 @media only screen and (max-width: 1020px) {
4699 #quick-nav-ui {
4700 right: -20px;
4702 #new-comment-nav-ui {
4703 right: -21px;
4705 #new-comment-nav-ui .new-comments-count::before {
4706 content: "";
4707 position: absolute;
4708 width: 100%;
4709 height: calc(100% + 45px);
4710 z-index: -1;
4711 left: 0;
4712 top: -22px;
4714 #hns-date-picker {
4715 right: 19px;
4717 #hns-date-picker::before {
4718 width: 100%;
4720 #anti-kibitzer-toggle {
4721 right: -20px;
4724 @media only screen and (max-width: 1000px) {
4725 #theme-selector {
4726 left: -17px;
4727 top: 120px;
4728 padding: 3px 0;
4729 max-width: 32px;
4731 #theme-selector button {
4732 margin: 1px 4px;
4734 #text-size-adjustment-ui {
4735 top: 100px;
4736 right: -12px;
4738 @media not screen and (hover: none) {
4739 #quick-nav-ui,
4740 #new-comment-nav-ui,
4741 #new-comment-nav-ui + #hns-date-picker,
4742 #anti-kibitzer-toggle {
4743 opacity: 0.4;
4745 #quick-nav-ui:hover,
4746 #new-comment-nav-ui:hover,
4747 #new-comment-nav-ui + #hns-date-picker:hover,
4748 #new-comment-nav-ui + #hns-date-picker:focus-within,
4749 #new-comment-nav-ui:hover + #hns-date-picker,
4750 #anti-kibitzer-toggle:hover {
4751 opacity: 1.0;
4754 #theme-tweaker-toggle {
4755 top: 70px;
4756 left: -21px;
4760 /**************/
4761 /* PRINT VIEW */
4762 /**************/
4764 @media only print {
4765 .nav-bar {
4766 visibility: hidden;
4767 max-height: 0;
4768 overflow: hidden;
4770 #ui-elements-container {
4771 display: none;
4773 #images-overlay {
4774 display: none;
4776 #images-overlay + #content .post-body img {
4777 visibility: visible;
4779 .comment-controls {
4780 display: none;
4782 #comments-sort-mode-selector {
4783 display: none;
4785 .comment-minimize-button {
4786 display: none;
4788 .post-meta .qualified-linking,
4789 .post-meta .lw2-link {
4790 display: none;
4792 .comment-meta .permalink,
4793 .comment-meta .lw2-link,
4794 .comment-meta .comment-parent-link {
4795 display: none;
4797 .new-comment::before {
4798 display: none;
4800 #content::before {
4801 box-shadow: none;
4805 <?php include("style_mobile_additions.css.php"); ?>
4807 <?php if (isset($argv[2]) && preg_match("/\\.css(.php)?$/", $argv[2])) include($argv[2]); ?>
4809 <?php
4811 ## TO BE IMPLEMENTED:
4812 ## This will be specified via command-line argument; but for now, we just
4813 ## include all available additions (currently, only 'accordius').
4815 $additions = [
4816 'accordius'
4819 foreach ($additions as $addition) {
4820 $potential_includes = [
4821 "style.css.php",
4822 "style_mobile_additions.css.php"
4824 foreach ($potential_includes as $include) {
4825 $include_path = "{$addition}/{$include}";
4826 if (file_exists($include_path))
4827 include ($include_path);