xref: /template/retro/css/retro.css (revision f62e0dc4e63b756b2a779b33e42c400b1a628f7f)
1/**
2 * This file provides the most basic styles.
3 *
4 * If you integrate DokuWiki into another project, you might either
5 * want to integrate this file into the other project as well, or use
6 * the other project's basic CSS for DokuWiki instead of this one.
7 *
8 * @author Reactive Matter <reactivematter@protonmail.org>
9 *
10 */
11
12html {
13    overflow-x: auto;
14    overflow-y: scroll;
15}
16
17body
18{
19    --background: __background__;
20    --background-alt: __background_alt__;
21    --text-color: __text__;
22    --site-width: __site_width__;
23    --text-color-alt: __text_neu__;
24    --sidebar-width: __sidebar_width__;
25    --link-color: __link__;
26    --link-color-existing: __existing__;
27    --link-color-missing: __missing__;
28    --border-color: __border__;
29}
30
31body {
32    box-sizing: border-box;
33    background-color: var(--background);
34    color: var(--text-color);
35    margin: 0;
36    padding: 0px 16px;
37    min-height: 100vh;
38    font-family: sans-serif;
39    font-size: 16px;
40    display: flex;
41    flex-direction: column;
42    width: 100%;
43}
44
45body:not(.full-width)
46{
47    max-width: var(--site-width);
48    margin: auto;
49}
50
51body *
52{
53    box-sizing: border-box;
54}
55
56
57
58
59.hide
60{
61    display: none;
62}
63
64/*____________ headers ____________*/
65
66h1,
67h2,
68h3,
69h4,
70h5,
71h6 {
72    font-weight: bold;
73    color: var(--text-color-alt);
74    background-color: inherit;
75    padding: 0;
76    line-height: 1.2;
77    clear: left; /* ideally 'both', but problems with toc */
78}
79[dir=rtl] h1,
80[dir=rtl] h2,
81[dir=rtl] h3,
82[dir=rtl] h4,
83[dir=rtl] h5,
84[dir=rtl] h6 {
85    clear: right;
86}
87
88h1 {
89    font-size: 2.25em;
90    margin: 0 0 0.444em;
91}
92h2 {
93    font-size: 1.5em;
94    margin: 0 0 0.666em;
95}
96h3 {
97    font-size: 1.125em;
98    margin: 0 0 0.888em;
99}
100h4 {
101    font-size: 1em;
102    margin: 0 0 1.0em;
103}
104h5 {
105    font-size: .875em;
106    margin: 0 0 1.1428em;
107}
108h6 {
109    font-size: .75em;
110    margin: 0 0 1.333em;
111}
112/* bottom margin = 1 / font-size */
113
114caption,
115figcaption,
116summary,
117legend {
118    font-style: italic;
119    font-weight: normal;
120    line-height: 1.2;
121    padding: 0;
122    margin: 0 0 .35em;
123}
124
125
126/*____________ basic margins and paddings ____________*/
127
128p,
129ul,
130ol,
131dl,
132pre,
133table,
134hr,
135blockquote,
136figure,
137details,
138fieldset,
139address {
140    margin: 0 0 1.4em 0; /* bottom margin = line-height */
141    padding: 0;
142}
143
144div {
145    margin: 0;
146    padding: 0;
147}
148
149
150/*____________ lists ____________*/
151
152ul,
153ol {
154    padding: 0 0 0 1.5em;
155}
156[dir=rtl] ul,
157[dir=rtl] ol {
158    padding: 0 1.5em 0 0;
159}
160
161li,
162dd {
163    padding: 0;
164    margin: 0 0 0 1.5em;
165}
166[dir=rtl] li,
167[dir=rtl] dd {
168    margin: 0 1.5em 0 0;
169}
170
171dt {
172    font-weight: bold;
173    margin: 0;
174    padding: 0;
175}
176
177li ul,
178li ol,
179li dl,
180dl ul,
181dl ol,
182dl dl {
183    margin-bottom: 0;
184    padding: 0;
185}
186li li {
187    font-size: 100%;
188}
189
190ul {
191    list-style: disc outside;
192}
193ol {
194    list-style: decimal outside;
195}
196ol ol {
197    list-style-type: lower-alpha;
198}
199ol ol ol {
200    list-style-type: upper-roman;
201}
202ol ol ol ol {
203    list-style-type: upper-alpha;
204}
205ol ol ol ol ol {
206    list-style-type: lower-roman;
207}
208
209
210/*____________ tables ____________*/
211
212table {
213    border-collapse: collapse;
214    empty-cells: show;
215    border-spacing: 0;
216    border: 1px solid var(--border-color);
217}
218
219caption {
220    caption-side: top;
221    text-align: left;
222}
223[dir=rtl] caption {
224    text-align: right;
225}
226
227th,
228td {
229    padding: .3em .5em;
230    margin: 0;
231    vertical-align: top;
232    border: 1px solid var(--border-color);
233}
234th {
235    font-weight: bold;
236    background-color: __background_alt__;
237    color: inherit;
238    text-align: left;
239}
240[dir=rtl] th {
241    text-align: right;
242}
243
244
245/*____________ links ____________*/
246
247a {
248}
249a:link,
250a:visited {
251    text-decoration: none;
252    color: var(--link-color);
253}
254
255a:visited:hover,
256a:link:focus,
257a:visited:focus,
258a:link:active,
259a:visited:active {
260    text-decoration: none;
261}
262
263
264.dokuwiki a.wikilink2
265{
266    color: var(--link-color-missing);
267}
268
269a:hover
270{
271    text-decoration: underline;
272}
273
274
275/*____________ misc ____________*/
276
277img,
278svg {
279    border-width: 0;
280    vertical-align: middle;
281    color: #666;
282    background-color: transparent;
283    font-style: italic;
284}
285
286img,
287svg,
288object,
289embed,
290iframe,
291video,
292audio {
293    max-width: 100%;
294}
295
296img,
297svg,
298video {
299    height: auto;
300}
301
302iframe {
303    border-width: 0;
304    background-color: inherit;
305}
306
307button img,
308button svg {
309    max-width: none;
310}
311
312hr {
313    border-style: solid;
314    border-width: 1px 0 0;
315    text-align: center;
316    height: 0;
317    width: 100%;
318    clear: both;
319}
320
321acronym,
322abbr {
323    font-style: normal;
324}
325acronym[title],
326abbr[title] {
327    cursor: help;
328    border-bottom: 1px dotted;
329    text-decoration: none;
330}
331em acronym,
332em abbr {
333    font-style: italic;
334}
335
336mark {
337    background: __highlight__;
338    color: inherit;
339}
340
341pre,
342code,
343samp,
344kbd {
345    font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace;
346    /* same font stack should be used for ".dokuwiki table.diff td" in _diff.css */
347    font-size: 1em;
348    background-color: var(--background-alt);
349    color: var(--text-color);
350    direction: ltr;
351    text-align: left;
352}
353pre {
354    border: 1px solid var(--border-color);
355    padding: 0 .2em;
356    overflow: auto;
357    word-wrap: normal;
358}
359
360blockquote {
361    padding: 0 .5em;
362    border: solid var(--border-color);
363    border-width: 0 0 0 .25em;
364}
365[dir=rtl] blockquote {
366    border-width: 0 .25em 0 0;
367}
368q:before,
369q:after {
370    content: '';
371}
372
373sub,
374sup {
375    font-size: .8em;
376    line-height: 1;
377}
378sub {
379    vertical-align: sub;
380}
381sup {
382    vertical-align: super;
383}
384
385small {
386    font-size: .8em;
387}
388
389wbr {
390    display: inline-block;
391}
392
393/*____________ forms ____________*/
394
395form {
396    display: inline;
397    margin: 0;
398    padding: 0;
399}
400
401fieldset {
402    padding: .7em 1em 0;
403    padding: .7rem 1rem; /* for those browsers understanding :last-child */
404    border: 1px solid #999;
405}
406fieldset > :last-child {
407    margin-bottom: 0;
408}
409legend {
410    padding: 0 .1em;
411}
412
413label {
414    vertical-align: middle;
415    cursor: pointer;
416}
417
418input,
419textarea,
420button,
421select,
422optgroup,
423option,
424keygen,
425output,
426meter,
427progress {
428    font: inherit;
429    color: inherit;
430    /* background-color destroys button look */
431    line-height: normal;
432    margin: 0;
433    vertical-align: middle;
434    -moz-box-sizing: content-box;
435    -webkit-box-sizing: content-box;
436    box-sizing: content-box;
437}
438
439input,
440button,
441select,
442keygen,
443textarea {
444    padding: .1em;
445}
446input[type=radio],
447input[type=checkbox],
448input[type=image],
449input.check {
450    padding: 0;
451}
452
453input[type=submit],
454input[type=button],
455input[type=reset],
456input.button,
457button {
458    cursor: pointer;
459    overflow: visible;
460    padding: .1em .4em;
461}
462
463input[disabled],
464button[disabled],
465select[disabled],
466textarea[disabled],
467option[disabled],
468input[readonly],
469button[readonly],
470select[readonly],
471textarea[readonly] {
472    cursor: auto;
473    opacity: .5;
474}
475
476input:focus,
477button:focus,
478select:focus,
479keygen:focus,
480textarea:focus {
481    box-shadow: 0 0 5px #999;
482    outline: 0;
483
484}
485input::-moz-focus-inner,
486button::-moz-focus-inner {
487    border: 0;
488    padding: 0;
489}
490
491select {
492    max-width: 100%;
493}
494optgroup {
495    font-style: italic;
496    font-weight: bold;
497}
498option {
499    font-style: normal;
500    font-weight: normal;
501}
502
503#config__manager tr .input, #config__manager tr input, #config__manager tr textarea, #config__manager tr select,#config__manager fieldset,
504#config__manager tr.default .input, #config__manager tr.default input, #config__manager tr.default textarea, #config__manager tr.default select, #config__manager .selectiondefault
505{
506    color: var(--text-color);
507}
508
509#config__manager tr .input, #config__manager tr input, #config__manager tr textarea, #config__manager tr select
510{
511    background-color: var(--background);
512}
513
514button:not(:last-child)
515{
516    margin-right: 16px;
517}
518
519.JSpopup
520{
521    background-color: var(--background) !important;
522    border-color: var(--border-color) !important;
523}
524
525
526/*____________ links to wiki pages (addition to _links) ____________*/
527
528/* existing wikipage */
529.dokuwiki a.wikilink1 {
530    color: var(--link-color-existing);
531    background-color: inherit;
532}
533/* not existing wikipage */
534.dokuwiki a.wikilink2 {
535    color: var(--link-color-missing);
536    background-color: inherit;
537}
538
539
540/*____________ images ____________*/
541
542/* embedded images (styles are already partly set in DokuWiki's lib/styles/all.css) */
543.dokuwiki img.media {
544    margin: .2em 0;
545}
546.dokuwiki img.medialeft {
547    margin: .2em 1.5em .2em 0;
548}
549.dokuwiki img.mediaright {
550    margin: .2em 0 .2em 1.5em;
551}
552.dokuwiki img.mediacenter {
553    margin: .2em auto;
554}
555
556
557/*____________ tables ____________*/
558
559/* div before each table */
560.dokuwiki div.table {
561}
562
563.dokuwiki table.inline {
564    min-width: 50%;
565}
566.dokuwiki table.inline tr:hover td {
567    background-color: var(--background-alt);
568}
569.dokuwiki table.inline tr:hover th {
570    background-color: var(--border-color);
571}
572
573
574/*____________ code ____________*/
575
576/* fix if background-color hides underlining */
577.dokuwiki em.u code {
578    text-decoration: underline;
579}
580
581/* filenames for downloadable file and code blocks */
582.dokuwiki dl.code,
583.dokuwiki dl.file {
584}
585
586.dokuwiki dl.code dt,
587.dokuwiki dl.file dt {
588    background-color: var(--background-alt);
589    border: solid var(--border-color);
590    border-width: 1px 1px 0;
591    color: inherit;
592    display: inline;
593    padding: .1em .5em .2em;
594    margin-left: 1em;
595}
596[dir=rtl] .dokuwiki dl.code dt,
597[dir=rtl] .dokuwiki dl.file dt {
598    margin-left: 0;
599    margin-right: 1em;
600}
601.dokuwiki dl.code dt a,
602.dokuwiki dl.file dt a {
603}
604
605.dokuwiki dl.code dd,
606.dokuwiki dl.file dd {
607    margin: 0;
608}
609
610/* for code in <file> */
611.dokuwiki pre.file,
612.dokuwiki dl.file pre,
613.dokuwiki dl.file dt {
614    border-color: var(--border-color);
615}
616
617
618/*____________ media manager ____________*/
619
620/* some headings in the media manager should not look like headings */
621#mediamanager__page h2,
622#mediamanager__page h3 {
623    font-family: Frutiger, Calibri, Myriad, "Nimbus Sans L", Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif;
624    color: var(--text-color);
625}
626
627/* to style button-like div in _fileuploader.css to look like other buttons,
628   please add '.qq-upload-button' to the according styles (which don't really exist in this template) */
629.qq-upload-button {
630    border: 1px solid var(--border-color);
631    background-color: var(--background-alt);
632    padding: 0.125em 0.4em;
633}
634
635/*____________ styling plugin ____________*/
636
637#plugin__styling.ispopup {
638    padding: 1em;
639}
640
641
642/*____________ JS popup ____________*/
643
644.JSpopup {
645    background-color: var(--background);
646    color: var(--text-color);
647    border: 1px solid var(--border-color);
648    line-height: 1.2;
649    padding: 0 .2em;
650}
651
652.JSpopup ul,
653.JSpopup ol {
654    padding-left: 0;
655}
656[dir=rtl] .JSpopup ul,
657[dir=rtl] .JSpopup ol {
658    padding-right: 0;
659}
660
661
662/* CSS starts */
663
664.hide
665{
666    display: none;
667}
668
669.flex-fill
670{
671    flex-grow: 1;
672}
673
674.left-column {
675    display: flex;
676    flex-wrap: wrap;
677    flex-direction: column;
678    gap: 16px;
679}
680
681.right-column {
682    display: flex;
683    flex-wrap: wrap;
684    flex-direction: column;
685    flex-grow: 1;
686    gap: 16px;
687}
688
689
690
691navbar
692{
693    display: flex;
694    border-bottom: 1px solid var(--border-color);
695    line-height: 1;
696    padding: 8px 0px;
697    flex-wrap: wrap;
698    gap:16px;
699}
700
701navbar .site-name
702{
703    display: flex;
704    gap: 16px;
705    align-items: center;
706}
707
708
709navbar .site-name .site-logo
710{
711    width: 24px;
712    height: 24px;
713}
714navbar .site-name .site-title
715{
716    font-weight: bold;
717    font-size: 1.2rem;
718    padding: 8px 0px;
719}
720
721navbar a.site-name, navbar a.site-name:hover
722{
723    color: __title_color__;
724    text-decoration: none;
725}
726
727navbar form.search button {
728    background-color: transparent;
729    background-image: url("images/search.svg");
730    border-width: 0;
731    background-size: 14px;
732    background-repeat: no-repeat;
733    width: 19px;
734    height: 14px;
735    text-indent: -99999px;
736    margin-left: -20px;
737    margin-right: 0px;
738    box-shadow: none;
739    padding: 0;
740    position: relative;
741    top:0px;
742    right: 5px;
743    opacity: 0.5;
744}
745
746navbar form.search input
747{
748    padding: 0.5em 1em;
749    padding-right: 2em;
750    width: 20rem;
751    border: 1px solid var(--border-color);
752    border-radius: 3px;
753    box-sizing: border-box;
754    background-color: var(--background);
755}
756navbar form.search input:focus
757{
758    box-shadow: none;
759}
760
761#navbar .left-column
762{
763    flex-direction: row;
764    align-items: center;
765}
766#navbar .right-column {
767    border: none;
768    flex-direction: row-reverse;
769    gap: 16px;
770    align-items: center;
771}
772
773#qsearch__out
774{
775    display: none;
776    padding: 0.5em 1em;
777    width: 20rem;
778    left: unset;
779    top: unset;
780}
781
782#qsearch__out>strong
783{
784    color: __text_alt__;
785    margin-bottom: 1em;
786}
787#qsearch__out ul, #qsearch__out ol, #qsearch__out li
788{
789    margin: 0px;
790}
791
792#qsearch__out li
793{
794    margin: 4px 0px;
795}
796
797navbar .right-column .options
798{
799    display: flex;
800    flex-direction: row;
801}
802
803
804.page-info
805{
806    margin-top: 24px;
807    font-size: 0.9em;
808}
809
810
811
812.site-header
813{
814    display: flex;
815    flex-direction: column;
816    padding: 8px 0px;
817    gap: 8px;
818}
819
820#view>.site-header
821{
822    padding-top: 0px;
823    padding-left: 0px;
824    padding-right: 0px;
825}
826
827.site-header .site-header-content
828{
829    padding: 8px 0px;
830}
831
832#view>.site-header .site-header-content
833{
834    padding: 0px;
835}
836
837.site-navigation
838{
839    display: flex;
840    flex-direction: column;
841    gap: 8px;
842}
843
844
845
846.site-header-content>*:last-child, footer>*:last-child
847{
848    margin-bottom: 0px;
849}
850
851footer
852{
853    padding: 8px 0px;
854    border-top: 1px solid var(--border-color);
855}
856
857
858
859article#content
860{
861    margin-top: 16px;
862    flex-grow: 1;
863}
864
865article#content h1
866{
867    font-size: 2em;
868}
869article#content h2
870{
871    font-size: 1.5em;
872}
873
874article#content h3
875{
876    font-size: 1.25em;
877}
878
879article#content h4
880{
881    font-size: 1em;
882}
883
884h1, h2, h3, h4, h5, h6
885{
886    color: var(--text-color);
887}
888
889.menu
890{
891    position: relative;
892    cursor: pointer;
893}
894
895
896.menu .list
897{
898    display: none;
899    position: absolute;
900    right: 0px;
901    background-color: var(--background);
902    border: 1px solid var(--border-color);
903    min-width: 200px;
904    padding: 8px 0px;
905    top: 44px;
906    z-index: 20000;
907    border-radius: 3px;
908}
909.menu .list li
910{
911    list-style: none;
912    margin: 0px;
913    padding: 0px;
914}
915
916.menu .list li>a
917{
918    display: flex;
919    flex-direction: row-reverse;
920    justify-content: flex-end;
921    align-items: center;
922    gap: 16px;
923    text-decoration: none;
924    color: var(--text-color) ;
925    padding: 4px 16px ;
926}
927.menu .list li>a:hover
928{
929    background-color: __background_alt__;
930}
931.menu .list li>a svg
932{
933    fill: __text_alt__;
934}
935
936.menu .list li.top
937{
938    display: none;
939}
940
941.menu .list .user-name
942{
943    padding: 8px 16px;
944    text-align: center;
945    font-weight: bold;
946}
947
948.menu .button
949{
950    display: flex;
951    gap: 4px;
952    align-items: center;
953    color: __text_alt__;
954}
955
956.menu .button:hover
957{
958    color: var(--text-color);
959}
960
961.user-menu .button::before {
962    mask-image: url('images/user-circle.svg');
963}
964
965.page-menu .button::before{
966    mask-image: url('images/document-text.svg');
967}
968
969.site-menu .button::before{
970    mask-image: url('images/server.svg');
971}
972
973#showhidesidemenu .button::before
974{
975    mask-image: url('images/menu.svg');
976}
977
978#showhideappoptions .button::before
979{
980    mask-image: url('images/three-dots-vertical.svg');
981}
982
983
984.menu .button::before, .mobile.icon .button::before
985{
986    display: block;
987    content: "";
988    background-size: 1em;
989    mask-repeat: no-repeat;
990    mask-size: contain;
991    height: 1.2em;
992    width: 1.2em;
993    opacity: 0.9;
994    background: __text_alt__;
995}
996
997.menu .button:hover::before
998{
999    opacity: 1;
1000}
1001
1002
1003
1004.options
1005{
1006    display: flex;
1007    gap: 16px;
1008}
1009
1010
1011navbar .options
1012{
1013    gap: 0px;
1014}
1015
1016navbar .options .menu
1017{
1018    padding: 8px;
1019}
1020
1021.mobile.icon
1022{
1023    display: none;
1024    cursor: pointer;
1025}
1026
1027.mobile-menu
1028{
1029    display: none;
1030}
1031
1032/* Correcting Dokuwiki defaults */
1033ul.actions, .dokuwiki .editBar .editButtons
1034{
1035    display: flex;
1036    gap: 10px;
1037    flex-wrap: wrap;
1038}
1039#wiki__editbar
1040{
1041    margin-top: 15px;
1042    display: flex;
1043    flex-direction: column;
1044    gap: 15px;
1045}
1046
1047div#sidebar
1048{
1049    width: var(--sidebar-width);
1050    border-right: 1px solid var(--border-color);
1051    flex-shrink:0;
1052    flex-grow: 0;
1053}
1054
1055article#content
1056{
1057    position: relative;
1058}
1059
1060#dw__toc
1061{
1062    background-color: transparent;
1063    border: none;
1064    position: absolute;
1065    right: 0px;
1066    width: 15em;
1067}
1068
1069#dw__toc>div
1070{
1071    background-color: var(--background);
1072    border: 1px solid var(--border-color);
1073    border-radius: 3px;
1074    margin-top: 28px;
1075    width: 100%;
1076    padding: 0.5em 1em;
1077}
1078
1079article#content #dw__toc .toggle::before
1080{
1081    display: block;
1082    content: "";
1083    width: 24px;
1084    height: 24px;
1085    background: __text_alt__;
1086    mask: url('images/bullets.svg');
1087    mask-size: contain;
1088    cursor: pointer;
1089    opacity: 0.7;
1090    position: absolute;
1091    right: 0px;
1092}
1093
1094article#content #dw__toc .toggle
1095{
1096    height: 0px;
1097    margin: 0px;
1098    padding: 0px;
1099    overflow: hidden;
1100}
1101
1102#dw__toc
1103{
1104    display: none;
1105}
1106
1107#config__manager fieldset, #config__manager tr.default .input, #config__manager .value input,
1108#config__manager tr.default .input, #config__manager tr.default input, #config__manager tr.default textarea, #config__manager tr.default select, #config__manager .selectiondefault
1109{
1110    background: none;
1111}
1112
1113#config__manager .value input, #config__manager .value select,  #config__manager .value textarea
1114{
1115    border: 1px solid var(--border-color);
1116    padding: 0.5em 1em;
1117
1118}
1119#config__manager .value input:focus, #config__manager .value select:focus, #config__manager .value textarea:focus
1120{
1121     border: 1px solid #00b7ff;
1122     background-color: var(--background);
1123     box-shadow: none;
1124}
1125
1126.dokuwiki #config__manager table.inline tr:hover td
1127{
1128     background-color: var(--background);
1129}
1130
1131.dokuwiki .editBar .summary
1132{
1133    margin-bottom: 16px;
1134}
1135
1136.dokuwiki .editBar .summary input
1137{
1138    background: var(--background);
1139    border: 1px solid var(--border-color);
1140    padding: 0.2em 0.5em;
1141    border-radius: 3px;
1142    margin-left: 10px;
1143    margin-right: 10px;
1144}
1145
1146.dokuwiki .editBar .summary input.missing
1147{
1148    background: none;
1149    border-color: red;
1150
1151}
1152
1153pre.code
1154{
1155    padding: 0.5em 1em;
1156}
1157
1158#dw__toc ul li div.li
1159{
1160    padding: 0.25em;
1161}
1162
1163.plain-toolbar li svg
1164{
1165    display: none;
1166}
1167
1168.plain-toolbar
1169{
1170  padding: 8px 0px;
1171  display: flex;
1172  flex-wrap: wrap;
1173  gap: 16px;
1174  flex-direction: row;
1175}
1176
1177.plain-toolbar li
1178{
1179    list-style: none;
1180    padding: 0px;
1181    margin:0px;
1182}
1183
1184
1185body.dokuwiki, #main
1186{
1187    display: flex;
1188    flex-direction: column;
1189}
1190
1191#main, #content
1192{
1193    flex-grow: 1;
1194}
1195
1196navbar .site-tagline
1197{
1198    font-size: 0.9em;
1199}