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