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