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