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 Anika Henke <anika@selfthinker.org> 9 */ 10 11html { 12 overflow-x: auto; 13 overflow-y: scroll; 14} 15html, 16body { 17 background-color: __background__; 18 color: __text__; 19 margin: 0; 20 padding: 0; 21 min-height: 100vh; 22 font-family: sans-serif; 23 font-size: 16px; 24 display: flex; 25 flex-direction: column; 26 width: 100%; 27} 28 29body:not(.full-width) 30{ 31 max-width: __site_width__; 32 margin: auto; 33} 34 35body * 36{ 37 box-sizing: border-box; 38} 39 40.hide 41{ 42 display: none; 43} 44 45/*____________ headers ____________*/ 46 47h1, 48h2, 49h3, 50h4, 51h5, 52h6 { 53 font-weight: bold; 54 color: __text_neu__; 55 background-color: inherit; 56 padding: 0; 57 line-height: 1.2; 58 clear: left; /* ideally 'both', but problems with toc */ 59} 60[dir=rtl] h1, 61[dir=rtl] h2, 62[dir=rtl] h3, 63[dir=rtl] h4, 64[dir=rtl] h5, 65[dir=rtl] h6 { 66 clear: right; 67} 68 69h1 { 70 font-size: 2.25em; 71 margin: 0 0 0.444em; 72} 73h2 { 74 font-size: 1.5em; 75 margin: 0 0 0.666em; 76} 77h3 { 78 font-size: 1.125em; 79 margin: 0 0 0.888em; 80} 81h4 { 82 font-size: 1em; 83 margin: 0 0 1.0em; 84} 85h5 { 86 font-size: .875em; 87 margin: 0 0 1.1428em; 88} 89h6 { 90 font-size: .75em; 91 margin: 0 0 1.333em; 92} 93/* bottom margin = 1 / font-size */ 94 95caption, 96figcaption, 97summary, 98legend { 99 font-style: italic; 100 font-weight: normal; 101 line-height: 1.2; 102 padding: 0; 103 margin: 0 0 .35em; 104} 105 106 107/*____________ basic margins and paddings ____________*/ 108 109p, 110ul, 111ol, 112dl, 113pre, 114table, 115hr, 116blockquote, 117figure, 118details, 119fieldset, 120address { 121 margin: 0 0 1.4em 0; /* bottom margin = line-height */ 122 padding: 0; 123} 124 125div { 126 margin: 0; 127 padding: 0; 128} 129 130 131/*____________ lists ____________*/ 132 133ul, 134ol { 135 padding: 0 0 0 1.5em; 136} 137[dir=rtl] ul, 138[dir=rtl] ol { 139 padding: 0 1.5em 0 0; 140} 141 142li, 143dd { 144 padding: 0; 145 margin: 0 0 0 1.5em; 146} 147[dir=rtl] li, 148[dir=rtl] dd { 149 margin: 0 1.5em 0 0; 150} 151 152dt { 153 font-weight: bold; 154 margin: 0; 155 padding: 0; 156} 157 158li ul, 159li ol, 160li dl, 161dl ul, 162dl ol, 163dl dl { 164 margin-bottom: 0; 165 padding: 0; 166} 167li li { 168 font-size: 100%; 169} 170 171ul { 172 list-style: disc outside; 173} 174ol { 175 list-style: decimal outside; 176} 177ol ol { 178 list-style-type: lower-alpha; 179} 180ol ol ol { 181 list-style-type: upper-roman; 182} 183ol ol ol ol { 184 list-style-type: upper-alpha; 185} 186ol ol ol ol ol { 187 list-style-type: lower-roman; 188} 189 190 191/*____________ tables ____________*/ 192 193table { 194 border-collapse: collapse; 195 empty-cells: show; 196 border-spacing: 0; 197 border: 1px solid __border__; 198} 199 200caption { 201 caption-side: top; 202 text-align: left; 203} 204[dir=rtl] caption { 205 text-align: right; 206} 207 208th, 209td { 210 padding: .3em .5em; 211 margin: 0; 212 vertical-align: top; 213 border: 1px solid __border__; 214} 215th { 216 font-weight: bold; 217 background-color: __background_alt__; 218 color: inherit; 219 text-align: left; 220} 221[dir=rtl] th { 222 text-align: right; 223} 224 225 226/*____________ links ____________*/ 227 228a { 229} 230a:link, 231a:visited { 232 text-decoration: none; 233 color: __link__; 234} 235 236a:visited:hover, 237a:link:focus, 238a:visited:focus, 239a:link:active, 240a:visited:active { 241 text-decoration: none; 242} 243 244 245a:hover 246{ 247 text-decoration: underline; 248} 249 250 251/*____________ misc ____________*/ 252 253img, 254svg { 255 border-width: 0; 256 vertical-align: middle; 257 color: #666; 258 background-color: transparent; 259 font-style: italic; 260} 261 262img, 263svg, 264object, 265embed, 266iframe, 267video, 268audio { 269 max-width: 100%; 270} 271 272img, 273svg, 274video { 275 height: auto; 276} 277 278iframe { 279 border-width: 0; 280 background-color: inherit; 281} 282 283button img, 284button svg { 285 max-width: none; 286} 287 288hr { 289 border-style: solid; 290 border-width: 1px 0 0; 291 text-align: center; 292 height: 0; 293 width: 100%; 294 clear: both; 295} 296 297acronym, 298abbr { 299 font-style: normal; 300} 301acronym[title], 302abbr[title] { 303 cursor: help; 304 border-bottom: 1px dotted; 305 text-decoration: none; 306} 307em acronym, 308em abbr { 309 font-style: italic; 310} 311 312mark { 313 background: __highlight__; 314 color: inherit; 315} 316 317pre, 318code, 319samp, 320kbd { 321 font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; 322 /* same font stack should be used for ".dokuwiki table.diff td" in _diff.css */ 323 font-size: 1em; 324 background-color: __background_alt__; 325 color: __text__; 326 direction: ltr; 327 text-align: left; 328} 329pre { 330 border: 1px solid __border__; 331 padding: 0 .2em; 332 overflow: auto; 333 word-wrap: normal; 334} 335 336blockquote { 337 padding: 0 .5em; 338 border: solid __border__; 339 border-width: 0 0 0 .25em; 340} 341[dir=rtl] blockquote { 342 border-width: 0 .25em 0 0; 343} 344q:before, 345q:after { 346 content: ''; 347} 348 349sub, 350sup { 351 font-size: .8em; 352 line-height: 1; 353} 354sub { 355 vertical-align: sub; 356} 357sup { 358 vertical-align: super; 359} 360 361small { 362 font-size: .8em; 363} 364 365wbr { 366 display: inline-block; 367} 368 369/*____________ forms ____________*/ 370 371form { 372 display: inline; 373 margin: 0; 374 padding: 0; 375} 376 377fieldset { 378 padding: .7em 1em 0; 379 padding: .7rem 1rem; /* for those browsers understanding :last-child */ 380 border: 1px solid #999; 381} 382fieldset > :last-child { 383 margin-bottom: 0; 384} 385legend { 386 padding: 0 .1em; 387} 388 389label { 390 vertical-align: middle; 391 cursor: pointer; 392} 393 394input, 395textarea, 396button, 397select, 398optgroup, 399option, 400keygen, 401output, 402meter, 403progress { 404 font: inherit; 405 color: inherit; 406 /* background-color destroys button look */ 407 line-height: normal; 408 margin: 0; 409 vertical-align: middle; 410 -moz-box-sizing: content-box; 411 -webkit-box-sizing: content-box; 412 box-sizing: content-box; 413} 414 415input, 416button, 417select, 418keygen, 419textarea { 420 padding: .1em; 421} 422input[type=radio], 423input[type=checkbox], 424input[type=image], 425input.check { 426 padding: 0; 427} 428 429input[type=submit], 430input[type=button], 431input[type=reset], 432input.button, 433button { 434 cursor: pointer; 435 overflow: visible; 436 padding: .1em .4em; 437} 438 439input[disabled], 440button[disabled], 441select[disabled], 442textarea[disabled], 443option[disabled], 444input[readonly], 445button[readonly], 446select[readonly], 447textarea[readonly] { 448 cursor: auto; 449 opacity: .5; 450} 451 452input:focus, 453button:focus, 454select:focus, 455keygen:focus, 456textarea:focus { 457 box-shadow: 0 0 5px #999; 458 outline: 0; 459} 460input::-moz-focus-inner, 461button::-moz-focus-inner { 462 border: 0; 463 padding: 0; 464} 465 466select { 467 max-width: 100%; 468} 469optgroup { 470 font-style: italic; 471 font-weight: bold; 472} 473option { 474 font-style: normal; 475 font-weight: normal; 476} 477 478.hide 479{ 480 display: none; 481} 482 483.flex-fill 484{ 485 flex-grow: 1; 486} 487 488.left-column { 489 display: flex; 490 flex-wrap: wrap; 491 flex-direction: column; 492 gap: 16px; 493 padding: 8px 16px; 494} 495 496.right-column { 497 display: flex; 498 flex-wrap: wrap; 499 flex-direction: column; 500 flex-grow: 1; 501 gap: 16px; 502 padding: 8px 16px; 503} 504 505 506 507navbar 508{ 509 display: flex; 510 border-bottom: 1px solid __border__; 511} 512 513navbar .site-name 514{ 515 display: flex; 516 gap: 16px; 517} 518 519 520navbar .site-name .site-logo 521{ 522 width: 24px; 523 height: 24px; 524} 525navbar .site-name .site-title 526{ 527 font-weight: bold; 528 font-size: 1.2rem; 529} 530 531navbar a.site-name, navbar a.site-name:hover 532{ 533 color: __title_color__; 534 text-decoration: none; 535} 536 537navbar form.search button { 538 background-color: transparent; 539 background-image: url("images/search.svg"); 540 border-width: 0; 541 background-size: 14px; 542 background-repeat: no-repeat; 543 width: 19px; 544 height: 14px; 545 text-indent: -99999px; 546 margin-left: -20px; 547 box-shadow: none; 548 padding: 0; 549 position: relative; 550 top:0px; 551 right: 5px; 552 opacity: 0.5; 553} 554 555navbar form.search input 556{ 557 padding: 0.5em 1em; 558 padding-right: 2em; 559 width: 20rem; 560 border: 1px solid __border__; 561 border-radius: 3px; 562 box-sizing: border-box; 563} 564navbar form.search input:focus 565{ 566 box-shadow: none; 567} 568 569#navbar .left-column 570{ 571 flex-direction: row; 572 align-items: center; 573} 574#navbar .right-column { 575 border: none; 576 flex-direction: row-reverse; 577 gap: 16px; 578 align-items: center; 579} 580 581#qsearch__out 582{ 583 display: none; 584 padding: 0.5em 1em; 585 width: 20rem; 586 left: unset; 587 top: unset; 588} 589 590#qsearch__out>strong 591{ 592 color: __text_alt__; 593 margin-bottom: 1em; 594} 595#qsearch__out ul, #qsearch__out ol, #qsearch__out li 596{ 597 margin: 0px; 598} 599 600#qsearch__out li 601{ 602 margin: 4px 0px; 603} 604 605navbar .right-column .options 606{ 607 display: flex; 608 flex-direction: row; 609} 610 611#main 612{ 613 display: flex; 614 flex-grow: 1; 615} 616 617.page-info 618{ 619 padding: 16px; 620} 621 622 623 624 625#view>* 626{ 627 padding-left: 0px; 628 padding-right: 0px; 629} 630 631#view, #sidebar 632{ 633 padding-top: 16px; 634 padding-bottom: 16px; 635} 636 637.site-header 638{ 639 border-bottom: 1px solid __border__; 640} 641 642.site-header 643{ 644 display: flex; 645 flex-direction: column; 646 padding-top: 8px; 647 padding-bottom: 8px; 648 gap: 16px; 649} 650 651#view>.site-header 652{ 653 padding-top: 0px; 654} 655 656.site-navigation 657{ 658 display: flex; 659 flex-direction: column; 660 gap: 8px; 661} 662 663 664 665.site-header-content>*:last-child, footer>*:last-child 666{ 667 margin-bottom: 0px; 668} 669 670footer 671{ 672 padding: 16px; 673 border-top: 1px solid __border__; 674} 675 676 677article#content 678{ 679 flex-grow: 1; 680} 681 682article#content h1 683{ 684 font-size: 2em; 685} 686article#content h2 687{ 688 font-size: 1.5em; 689} 690 691article#content h3 692{ 693 font-size: 1.25em; 694} 695 696article#content h4 697{ 698 font-size: 1em; 699} 700 701h1, h2, h3, h4, h5, h6 702{ 703 color: __text__; 704} 705 706.menu 707{ 708 position: relative; 709 cursor: pointer; 710} 711 712 713.menu .list 714{ 715 display: none; 716 position: absolute; 717 right: 0px; 718 background-color: __background__; 719 border: 1px solid __border__; 720 min-width: 200px; 721 padding: 8px 0px; 722 top: 44px; 723 z-index: 20000; 724 border-radius: 3px; 725} 726.menu .list li 727{ 728 list-style: none; 729 margin: 0px; 730 padding: 0px; 731} 732 733.menu .list li>a 734{ 735 display: flex; 736 flex-direction: row-reverse; 737 justify-content: flex-end; 738 align-items: center; 739 gap: 16px; 740 text-decoration: none; 741 color: __text__ ; 742 padding: 4px 16px ; 743} 744.menu .list li>a:hover 745{ 746 background-color: __background_alt__; 747} 748.menu .list li>a svg 749{ 750 fill: __text_alt__; 751} 752 753.menu .list .user-name 754{ 755 padding: 8px 16px; 756 text-align: center; 757 font-weight: bold; 758} 759 760.menu .button 761{ 762 display: flex; 763 gap: 4px; 764 align-items: center; 765 color: __text_alt__; 766} 767 768.menu .button:hover 769{ 770 color: __text__; 771} 772 773.user-menu .button::before { 774 mask-image: url('images/user-circle.svg'); 775} 776 777.page-menu .button::before{ 778 mask-image: url('images/document-text.svg'); 779} 780 781.site-menu .button::before{ 782 mask-image: url('images/server.svg'); 783} 784 785#showhidesidemenu .button::before 786{ 787 mask-image: url('images/menu.svg'); 788} 789 790#showhideappoptions .button::before 791{ 792 mask-image: url('images/three-dots-vertical.svg'); 793} 794 795 796.menu .button::before, .mobile.icon .button::before 797{ 798 display: block; 799 content: ""; 800 background-size: 1em; 801 mask-repeat: no-repeat; 802 mask-size: contain; 803 height: 1.2em; 804 width: 1.2em; 805 opacity: 0.9; 806 background: __text_alt__; 807} 808 809.menu .button:hover::before 810{ 811 opacity: 1; 812} 813 814 815 816.options 817{ 818 display: flex; 819 gap: 16px; 820} 821 822 823navbar .options 824{ 825 gap: 0px; 826} 827 828navbar .options .menu 829{ 830 padding: 8px; 831} 832 833.mobile.icon 834{ 835 display: none; 836 cursor: pointer; 837} 838 839.mobile-menu 840{ 841 display: none; 842} 843 844/* Correcting Dokuwiki defaults */ 845ul.actions, .dokuwiki .editBar .editButtons 846{ 847 display: flex; 848 gap: 10px; 849 flex-wrap: wrap; 850} 851#wiki__editbar 852{ 853 margin-top: 15px; 854 display: flex; 855 flex-direction: column; 856 gap: 15px; 857} 858 859#sidebar 860{ 861 width: __sidebar_width__; 862 border-right: 1px solid __border__; 863 flex-shrink:0; 864 flex-grow: 0; 865} 866 867#content 868{ 869 position: relative; 870} 871 872#dw__toc 873{ 874 background-color: transparent; 875 border: none; 876 position: absolute; 877 right: 0px; 878 width: 15em; 879} 880 881#dw__toc>div 882{ 883 background-color: __background__; 884 border: 1px solid __border__; 885 border-radius: 3px; 886 margin-top: 28px; 887 width: 100%; 888 padding: 0.5em 1em; 889} 890 891#content #dw__toc .toggle::before 892{ 893 display: block; 894 content: ""; 895 width: 24px; 896 height: 24px; 897 background: __text_alt__; 898 mask: url('images/bullets.svg'); 899 mask-size: contain; 900 cursor: pointer; 901 opacity: 0.7; 902 position: absolute; 903 right: 0px; 904} 905 906#content #dw__toc .toggle 907{ 908 height: 0px; 909 overflow: hidden; 910} 911 912#dw__toc 913{ 914 display: none; 915} 916 917#config__manager fieldset, #config__manager tr.default .input, #config__manager .value input, 918#config__manager tr.default .input, #config__manager tr.default input, #config__manager tr.default textarea, #config__manager tr.default select, #config__manager .selectiondefault 919{ 920 background: none; 921} 922 923#config__manager .value input, #config__manager .value select, #config__manager .value textarea 924{ 925 border: 1px solid __border__; 926 padding: 0.5em 1em; 927 928} 929#config__manager .value input:focus, #config__manager .value select:focus, #config__manager .value textarea:focus 930{ 931 border: 1px solid #00b7ff; 932 background-color: __background__; 933 box-shadow: none; 934} 935 936.dokuwiki #config__manager table.inline tr:hover td 937{ 938 background-color: __background__; 939} 940 941pre.code 942{ 943 padding: 0.5em 1em; 944}