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.site-header 624{ 625 padding: 8px 16px; 626 border-bottom: 1px solid __border__; 627} 628 629#view>* 630{ 631 padding-left: 0px; 632 padding-right: 0px; 633} 634 635.site-header, .site-navigation, 636{ 637 display: flex; 638 flex-direction: column; 639 gap: 16px; 640} 641 642footer 643{ 644 padding: 16px; 645 border-top: 1px solid __border__; 646} 647 648.site-header-content>*:last-child, footer>*:last-child 649{ 650 margin-bottom: 0px; 651} 652 653 654article#content 655{ 656 flex-grow: 1; 657 padding-top: 16px; 658 padding-bottom: 16px; 659 660} 661 662article#content h1 663{ 664 font-size: 2em; 665} 666article#content h2 667{ 668 font-size: 1.5em; 669} 670 671article#content h3 672{ 673 font-size: 1.25em; 674} 675 676article#content h4 677{ 678 font-size: 1em; 679} 680 681h1, h2, h3, h4, h5, h6 682{ 683 color: __text__; 684} 685 686.menu 687{ 688 position: relative; 689 cursor: pointer; 690} 691 692 693.menu .list 694{ 695 display: none; 696 position: absolute; 697 right: 0px; 698 background-color: __background__; 699 border: 1px solid __border__; 700 min-width: 200px; 701 padding: 8px 0px; 702 top: 44px; 703 z-index: 20000; 704 border-radius: 3px; 705} 706.menu .list li 707{ 708 list-style: none; 709 margin: 0px; 710 padding: 0px; 711} 712 713.menu .list li>a 714{ 715 display: flex; 716 flex-direction: row-reverse; 717 justify-content: flex-end; 718 align-items: center; 719 gap: 16px; 720 text-decoration: none; 721 color: __text__ ; 722 padding: 4px 16px ; 723} 724.menu .list li>a:hover 725{ 726 background-color: __background_alt__; 727} 728.menu .list li>a svg 729{ 730 fill: __text_alt__; 731} 732 733.menu .list .user-name 734{ 735 padding: 8px 16px; 736 text-align: center; 737 font-weight: bold; 738} 739 740.menu .button 741{ 742 display: flex; 743 gap: 4px; 744 align-items: center; 745 color: __text_alt__; 746} 747 748.menu .button:hover 749{ 750 color: __text__; 751} 752 753.user-menu .button::before { 754 mask-image: url('images/user-circle.svg'); 755} 756 757.page-menu .button::before{ 758 mask-image: url('images/document-text.svg'); 759} 760 761.site-menu .button::before{ 762 mask-image: url('images/server.svg'); 763} 764 765#showhidesidemenu .button::before 766{ 767 mask-image: url('images/menu.svg'); 768} 769 770#showhideappoptions .button::before 771{ 772 mask-image: url('images/three-dots-vertical.svg'); 773} 774 775 776.menu .button::before, .mobile.icon .button::before 777{ 778 display: block; 779 content: ""; 780 background-size: 1em; 781 mask-repeat: no-repeat; 782 mask-size: contain; 783 height: 1.2em; 784 width: 1.2em; 785 opacity: 0.9; 786 background: __text_alt__; 787} 788 789.menu .button:hover::before 790{ 791 opacity: 1; 792} 793 794 795 796.options 797{ 798 display: flex; 799 gap: 16px; 800} 801 802 803navbar .options 804{ 805 gap: 0px; 806} 807 808navbar .options .menu 809{ 810 padding: 8px; 811} 812 813.mobile.icon 814{ 815 display: none; 816 cursor: pointer; 817} 818 819.mobile-menu 820{ 821 display: none; 822} 823 824/* Correcting Dokuwiki defaults */ 825ul.actions, .dokuwiki .editBar .editButtons 826{ 827 display: flex; 828 gap: 10px; 829 flex-wrap: wrap; 830} 831#wiki__editbar 832{ 833 margin-top: 15px; 834 display: flex; 835 flex-direction: column; 836 gap: 15px; 837} 838 839#sidebar 840{ 841 width: __sidebar_width__; 842 padding-top: 24px; 843 padding-bottom: 24px; 844 border-right: 1px solid __border__; 845 flex-shrink:0; 846 flex-grow: 0; 847} 848 849#content 850{ 851 position: relative; 852} 853 854#dw__toc 855{ 856 background-color: transparent; 857 border: none; 858 position: absolute; 859 right: 0px; 860 width: 15em; 861} 862 863#dw__toc>div 864{ 865 background-color: __background__; 866 border: 1px solid __border__; 867 border-radius: 3px; 868 margin-top: 28px; 869 width: 100%; 870 padding: 0.5em 1em; 871} 872 873#content #dw__toc .toggle::before 874{ 875 display: block; 876 content: ""; 877 width: 24px; 878 height: 24px; 879 background: __text_alt__; 880 mask: url('images/bullets.svg'); 881 mask-size: contain; 882 cursor: pointer; 883 opacity: 0.7; 884 position: absolute; 885 right: 0px; 886} 887 888#content #dw__toc .toggle 889{ 890 height: 0px; 891 overflow: hidden; 892} 893 894#dw__toc 895{ 896 display: none; 897} 898 899#config__manager fieldset, #config__manager tr.default .input, #config__manager .value input, 900#config__manager tr.default .input, #config__manager tr.default input, #config__manager tr.default textarea, #config__manager tr.default select, #config__manager .selectiondefault 901{ 902 background: none; 903} 904 905#config__manager .value input, #config__manager .value select, #config__manager .value textarea 906{ 907 border: 1px solid __border__; 908 padding: 0.5em 1em; 909 910} 911#config__manager .value input:focus, #config__manager .value select:focus, #config__manager .value textarea:focus 912{ 913 border: 1px solid #00b7ff; 914 background-color: __background__; 915 box-shadow: none; 916} 917 918.dokuwiki #config__manager table.inline tr:hover td 919{ 920 background-color: __background__; 921} 922 923pre.code 924{ 925 padding: 0.5em 1em; 926}