1/** 2 * webtrees: online genealogy 3 * Copyright (C) 2023 webtrees development team 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 * You should have received a copy of the GNU General Public License 13 * along with this program. If not, see <https://www.gnu.org/licenses/>. 14 */ 15 16/* The minimal theme */ 17@import "_base.css"; 18 19:root { 20 --chart-line-radius: 1rem; 21 --chart-line: solid gray thin; 22 --link-color-hover: #0a58ca; 23 --link-color: #0d6efd; 24 --link-decoration-hover: underline; 25 --link-decoration: underline; 26 --sex-f-bg: #ffffff; 27 --sex-f-fg: #888888; 28 --sex-m-bg: #ffffff; 29 --sex-m-fg: #888888; 30 --sex-u-bg: #ffffff; 31 --sex-u-fg: #888888; 32 --sex-x-bg: #ffffff; 33 --sex-x-fg: #888888; 34} 35 36/* Override Bootstrap formatting */ 37.btn-link { 38 padding-left: 0.25rem; 39 padding-right: 0.25rem; 40} 41 42.table-given-name { 43 overflow-x: hidden; 44} 45 46.container-fluid { 47 padding-left: 5px; 48 padding-right: 5px; 49} 50 51table { 52 border-collapse: separate; 53} 54 55/* 56 * Pages have the following high-level structure: 57 * 58 * wt-global wt-theme-<THEME> wt-route-<ROUTE> 59 * +---wt-header-wrapper 60 * | +---wt-header-container 61 * | +---wt-header-content 62 * | +---wt-accessibility-links 63 * | +---wt-site-logo 64 * | +---wt-site-title 65 * | +---wt-header-search 66 * | | +---wt-header-search-form 67 * | | +---wt-header-search-field 68 * | | +---wt-header-search-button 69 * | +---wt-secondary-navigation 70 * | | +---wt-user-menu 71 * | +---wt-primary-navigation 72 * | +---wt-genealogy-menu 73 * +---wt-main-wrapper 74 * | +---wt-main-container 75 * | +---wt-main-content 76 * | +---wt-messages 77 * | +---wt-page-title 78 * | +---wt-page-options wt-page-options-xxxxx 79 * | +---wt-page-content 80 * +---wt-footers 81 * +---wt-footer wt-footer-xxxxx 82 */ 83 84.wt-global { 85 /* Avoid extremes of black and white. It is better for users with dyslexia. */ 86 color: #0a0a0a; 87 background-color: #f9f9f9; 88} 89 90.wt-header-wrapper { 91} 92 93.wt-header-container { 94 margin-top: 1rem; 95} 96 97.wt-header-content { 98} 99 100.wt-accessibility-links { 101} 102 103.wt-site-logo { 104 display: none; 105} 106 107.wt-site-title { 108 order: 1; 109 flex: 1 1 auto; 110 width: auto; 111 font-size: 1.75rem; 112} 113 114.wt-header-search { 115 order: 3; 116 flex: 0 0 15rem; 117} 118 119.wt-header-search-form { 120} 121 122.wt-header-search-field { 123} 124 125.wt-header-search-button { 126} 127 128.wt-secondary-navigation { 129 order: 2; 130 flex: 0 0 auto; 131 width: auto; 132 white-space: nowrap; 133} 134 135.wt-user-menu { 136 flex-wrap: nowrap; 137} 138 139.wt-user-menu .nav-link { 140 padding: 0.5rem; 141} 142 143.wt-primary-navigation { 144 order: 4; 145 /* Extend to full page width */ 146 flex: 0 1 100vw; 147 max-width: 100vw; 148 /* Recalculate margins for content */ 149 margin: 0 calc(50% - 50vw); 150 padding: 0 calc(50vw - 50%); 151 border-bottom: 2px solid #aaa; 152} 153 154.wt-genealogy-menu { 155 justify-content: center; 156} 157 158.wt-genealogy-menu .nav-link { 159 padding: 0.5rem; 160} 161 162.wt-main-container { 163 /* Space between the header/footer and the main content. */ 164 padding-top: 1rem; 165 padding-bottom: 1rem; 166} 167 168.wt-main { 169} 170 171.wt-messages { 172} 173 174.wt-page-title { 175 text-align: center; 176} 177 178.wt-page-content { 179 margin-top: 1rem; 180} 181 182.wt-footers { 183} 184 185.wt-footer { 186} 187 188.wt-footer-contact { 189} 190 191.wt-footer-cookies { 192 background: #aaa; 193 color: #fff; 194 transition: height 0.5s; 195} 196 197.wt-footer-page-views { 198} 199 200.wt-footer-powered-by { 201} 202 203.wt-footer-powered-by-webtrees { 204} 205 206/* 207 * The tree/user home pages 208 * 209 * wt-home-page / wt-user-page 210 * +---wt-main-blocks 211 * | +---wt-block, wt-block-AAA 212 * | +---wt-block, wt-block-BBB 213 * | +---wt-block, wt-block-CCC 214 * +---wt-side-blocks 215 * +---wt-block, wt-block-XXX 216 * +---wt-block, wt-block-YYY 217 * +---wt-block, wt-block-ZZZ 218 * 219 * Each block as the structure 220 * wt-block, wt-block-XXX 221 * +---wt-block-header, wt-block-header-XXX 222 * +---wt-block-content, wt-block-content-XXX 223 */ 224 225.wt-block { 226 border: solid #000 1px; 227} 228 229.wt-block-header { 230 background-color: #fff; 231} 232 233.wt-block-content { 234} 235 236.wt-block-content .list_table { 237 border-spacing: 1px; 238 border: solid #000 1px; 239 border-right: 0; 240} 241 242.wt-block-content .list_value, 243.wt-block-content .list_value_wrap { 244 border: 0; 245 border-top: solid #000 1px; 246 border-right: solid #000 1px; 247} 248 249/* 250 * The individual page. 251 * 252 * wt-route-individual 253 * +---wt-header-wrapper 254 */ 255.wt-individual-silhouette-f { 256 content: url(images/individual-silhouette-female.png); 257} 258 259.wt-individual-silhouette-m { 260 content: url(images/individual-silhouette-male.png); 261} 262 263.wt-individual-silhouette-u, 264.wt-individual-silhouette-x { 265 content: url(images/individual-silhouette-unknown.png); 266} 267 268/* 269 * Chart-boxes are used to build the various charts. 270 * Each type of chart will set its own size and hide/show content. 271 * 272 * wt-chart-box 273 * +--- wt-chart-box-thumbnail 274 * +--- wt-chart-box-extra 275 * +--- wt-chart-box-zoom 276 * +--- wt-chart-box-icon 277 * +--- wt-chart-box-dropdown wt-chart-box-zoom-dropdown 278 * +--- wt-chart-box-links 279 * +--- wt-chart-box-icon 280 * +--- wt-chart-box-dropdown wt-chart-box-links-dropdown 281 * +--- wt-chart-box-name 282 * +--- wt-chart-box-lifespan 283 * +--- wt-chart-box-facts 284 * +--- wt-chart-box-fact 285 */ 286.wt-chart-box { 287 height: 5rem; 288 padding: 2px; 289 line-height: 1.1; 290 border: solid gray thin; 291} 292 293.wt-chart-box-f, 294.wt-chart-box-f .wt-chart-box-dropdown { 295 background: var(--sex-f-bg); 296 border: solid var(--sex-f-fg) thin; 297} 298 299.wt-chart-box-m, 300.wt-chart-box-m .wt-chart-box-dropdown { 301 background: var(--sex-m-bg); 302 border: solid var(--sex-m-fg) thin; 303} 304 305.wt-chart-box-u, 306.wt-chart-box-u .wt-chart-box-dropdown { 307 background: var(--sex-u-bg); 308 border: solid var(--sex-u-fg) thin; 309} 310 311.wt-chart-box-x, 312.wt-chart-box-x .wt-chart-box-dropdown { 313 background: var(--sex-x-bg); 314 border: solid var(--sex-x-fg) thin; 315} 316 317/* ---Pending edits--- */ 318.wt-new { 319 outline: solid thin blue; 320} 321 322.wt-old { 323 outline: solid thin red; 324} 325 326.list_value, 327.list_value_wrap { 328 border: solid #000 1px; 329 vertical-align: top; 330 padding: 4px; 331} 332 333.list_table { 334 margin: 0 auto; 335} 336 337.filtersH, 338.filtersF { 339 margin: 4px; 340} 341 342.filtersH img { 343 margin-bottom: 2px; 344} 345 346.list-charts { 347 text-align: center; 348} 349 350#place-hierarchy h2, 351#place-hierarchy h4 { 352 text-align: center; 353} 354 355/* ======== Block styles ===== */ 356.block { 357 background-color: #fff; 358 color: #555; 359 border: solid #ccc 1px; 360 padding: 3px; 361 vertical-align: top; 362} 363 364.blockcontent { 365 margin: 5px; 366 overflow: auto; 367} 368 369.blockcontent .list_table { 370 border-spacing: 0; 371 border: solid #555 1px; 372 border-right: 0; 373} 374 375.blockcontent .list_value, 376.blockcontent .list_value_wrap { 377 border: 0; 378 border-top: solid #555 1px; 379 border-right: solid #555 1px; 380} 381 382.blockheader { 383 font-weight: bold; 384} 385 386/* end Block styles */ 387 388.user_welcome_block table, 389.gedcom_block_block table { 390 margin: auto; 391} 392 393.user_welcome_block td, 394.gedcom_block_block td { 395 width: 33%; 396 text-align: center; 397 vertical-align: top; 398} 399 400.user_welcome_block i, 401.gedcom_block_block i { 402 background-image: none; 403 height: 0; 404 width: 0; 405} 406 407/* Table of genealogical facts */ 408.wt-facts-table caption { 409 caption-side: top; 410} 411 412.wt-facts-table th { 413 border: 1px solid #000; 414 font-weight: normal; 415 min-width: 20%; 416} 417 418.wt-facts-table td { 419 border: solid #000 1px; 420} 421 422.parentdeath { 423 padding: 1px; 424} 425 426/* ==== FAQ table styles ===== */ 427table.faq { 428 background-color: #ddd; 429 margin: 5px 0 50px 5px; 430 width: 98%; 431} 432 433table.faq tr:nth-child(odd) td { 434 background-color: #fff; 435} 436 437div.faq_title { 438 background-color: #ddd; 439 margin: 1em 0; 440 padding: .25em; 441 font-weight: bold; 442 width: 98%; 443} 444 445div.faq_body { 446 clear: both; 447 padding: 0 1em; 448} 449 450.faq_top { 451 float: right; 452} 453 454#indi_note { 455 margin: 0 0 5px; 456} 457 458.indi_table { 459 clear: left; 460} 461 462.label { 463 font-weight: bold; 464} 465 466#indi_note .fact_NOTE { 467 float: left; 468 margin: 0 5px 0 0; 469} 470 471#indi_note .fact_SOUR { 472 margin: 3px 0; 473} 474 475#indi_note .fact_SOUR a { 476 font-size: 100%; 477} 478 479#indi_note .fact_NOTE, 480#indi_note .fact_SOUR { 481 clear: both; 482} 483 484.odometer { 485 font-family: courier, monospace; 486 font-weight: bold; 487 background: #000; 488 color: #fff; 489} 490 491.upcoming_events_block button, 492.todays_events_block button { 493 margin: 0 20px; 494} 495 496/* Sidebar - Family navigator */ 497 498/* Sidebar - Descendants */ 499#sb_content_descendancy { 500 margin-top: 5px; 501} 502 503#sb_desc_content { 504 margin-left: 3px; 505 font-size: 0.8em; 506} 507 508#sb_desc_content ul { 509 padding: 0; 510 margin: 0; 511} 512 513.sb_desc_indi_li { 514 list-style-type: none; 515} 516 517/* Individuals and Families */ 518#sidebar-content-individuals, 519#sidebar-content-families { 520 margin-top: 5px; 521} 522 523.sb_indi_surname_li, 524.sb_fam_surname_li { 525 list-style-image: url(icons/plus.png); 526} 527 528.name_tree_div ul { 529 padding: 0; 530 margin: 0; 531} 532 533.name_tree_div li { 534 list-style: none; 535 margin: 0; 536 padding: 0; 537} 538 539/* Clippings */ 540#sb_clippings_content ul { 541 padding: 0; 542 margin: 0; 543} 544 545#sb_clippings_content li { 546 list-style: none; 547 margin: 0; 548 padding: 0; 549 white-space: nowrap; 550} 551 552/* ====== Charts Styles ======== */ 553 554#people label { 555 display: block; 556} 557 558/*-- Fan chart ---- */ 559.fan_chart_menu { 560 background: #fff; 561 position: absolute; 562 display: none; 563 z-index: 100; 564} 565 566#fan_chart ul { 567 list-style-type: none; 568 margin: 0; 569} 570 571/* Lifespans chart */ 572.wt-lifespans-subtitle { 573 text-align: center; 574} 575 576.wt-lifespans-scale { 577 white-space: nowrap; 578} 579 580.wt-lifespans-decade { 581 width: 70px; 582 height: 60px; 583 display: inline-block; 584 background-image: url(images/lifespan-decade.png); 585 background-position-y: bottom; 586 background-repeat: no-repeat; 587 background-size: 70px 37px; 588} 589 590.wt-lifespans-individuals { 591 background: #fafafa; 592} 593 594.wt-lifespans-individual { 595 596} 597 598.wt-lifespans-summary { 599 background: #ffffff; 600 border: thin solid #000; 601 z-index: 1; 602} 603 604.wt-lifespans-summary-link { 605 font-weight: bold; 606} 607 608/*-- Pedigree ---- */ 609.tvertline { 610 vertical-align: bottom; 611} 612 613.optionbox, .descriptionbox { 614 border: solid #000 1px; 615 vertical-align: top; 616 padding: 3px; 617} 618 619#childbox { 620 padding: 5px; 621 position: absolute; 622 display: none; 623 text-align: start; 624 white-space: nowrap; 625 top: 20px; 626 left: 0; 627} 628 629.layout3 #childbox { 630 top: auto; 631 bottom: 20px; 632} 633 634.person0, .person1, .person2, .person3, .person4, .person5 { 635 border:outset #555 1px; 636 vertical-align:top; 637} 638.person0{ 639 background-color:#eee; 640} 641 642.person1{ 643 background-color:#bfbfbf; 644} 645 646.person2{ 647 background-color:#999; 648} 649 650.person3{ 651 background-color:#dfdfdf; 652} 653 654.person4{ 655 background-color:#eee; 656} 657 658.person5{ 659 background-color:#fefefe; 660} 661 662/*-- timeline --*/ 663#timeline_chart { 664 position: relative; 665 top: 0; 666 left: 0; 667} 668 669/* 670 * Any element that is loaded dynamically has the class wt-ajax-load. 671 * We can provide a "loading" placeholder for empty elements with this class. 672 */ 673.wt-ajax-load:empty { 674 height: 32px; 675 background: url(images/loading-32x32.gif) no-repeat 50% 50%; 676} 677 678/* 679 * Default icons are provided by FontAwesome. 680 */ 681.wt-icon-anniversary { 682} 683 684.wt-icon-arrow-down { 685} 686 687a > .wt-icon-arrow-down:hover { 688} 689 690.wt-icon-arrow-left { 691} 692 693a > .wt-icon-arrow-left:hover { 694} 695 696.wt-icon-arrow-right { 697} 698 699a > .wt-icon-arrow-right:hover { 700} 701 702.wt-icon-arrow-up { 703} 704 705a > .wt-icon-arrow-up:hover { 706} 707 708.wt-icon-bing-maps { 709} 710 711.wt-icon-calendar { 712} 713 714.wt-icon-collapse { 715} 716 717.wt-icon-coordinates { 718} 719 720.wt-icon-copy { 721} 722 723.wt-icon-delete { 724} 725 726.wt-icon-edit { 727} 728 729.wt-icon-expand { 730} 731 732.wt-icon-family { 733} 734 735.wt-icon-google-maps { 736} 737 738.wt-icon-help { 739} 740 741.wt-icon-individual { 742} 743 744.wt-icon-keyboard { 745} 746 747.wt-icon-media { 748} 749 750.wt-icon-note { 751} 752 753.wt-icon-openstreetmap { 754} 755 756.wt-icon-preferences { 757} 758 759.wt-icon-reorder { 760} 761 762.wt-icon-repository { 763} 764 765.wt-icon-sex-f { 766 color: var(--sex-m-fg); 767} 768 769.wt-icon-sex-m { 770 color: var(--sex-m-fg); 771} 772 773.wt-icon-sex-u { 774 color: var(--sex-u-fg); 775} 776 777.wt-icon-sex-x { 778 color: var(--sex-u-fg); 779} 780 781.wt-icon-source { 782} 783 784.wt-icon-submitter { 785} 786 787.wt-icon-warning { 788} 789 790.wt-icon-zoom-in { 791} 792 793.wt-icon-zoom-out { 794} 795 796/* Miscellaneous images */ 797.icon-cfamily { 798} 799 800.icon-childless { 801 content: url(images/childless.png); 802} 803 804.icon-children { 805 content: url(images/children.png); 806} 807 808.icon-edit_indi { 809 content: url(minimal/images/edit_indi.png); 810} 811 812.icon-fam-list { 813 content: url(minimal/images/sfamily.png); 814} 815 816.icon-indi-list { 817 content: url(minimal/images/indis.png); 818} 819 820.icon-loading-small { 821 content: url(images/indicator.gif); 822} 823 824.icon-loading-large { 825 content: url(images/loading-32x32.gif); 826} 827 828.icon-minus { 829 content: url(icons/minus.png); 830} 831 832.icon-mypage { 833 content: url(minimal/images/mypage.png); 834} 835 836.icon-plus { 837 content: url(icons/plus.png); 838} 839 840.icon-resn-confidential { 841 content: none; 842} 843 844.icon-resn-locked { 845 content: none; 846} 847 848.icon-resn-none { 849 content: none; 850} 851 852.icon-resn-privacy { 853 content: none; 854} 855 856.icon-rings { 857 content: url(images/rings.png); 858} 859 860.icon-selected { 861 content: url(minimal/images/selected.png); 862} 863 864.icon-sfamily { 865 content: url(minimal/images/sfamily.png); 866} 867 868/* Silhouettes on charts */ 869.icon-silhouette-f { 870 content: url(minimal/images/silhouette_female_small.png); 871} 872 873.icon-silhouette-m { 874 content: url(minimal/images/silhouette_male_small.png); 875} 876 877.icon-silhouette-u, 878.icon-silhouette-x { 879 content: url(minimal/images/silhouette_unknown_small.png); 880} 881 882.icon-indis { 883 content: url(minimal/images/indis.png); 884} 885 886.icon-pedigree { 887 content: url(minimal/images/pedigree.png); 888} 889 890/* Census assistant */ 891.wt-census-assistant-form-control:focus { 892 min-width: 12rem; 893} 894 895/* Some blocks show a reduced version on the right-hand side. */ 896.wt-side-blocks .wt-side-block-optional { 897 display: none !important; 898} 899 900/* my page chart enhancements */ 901.wt-block-content-charts { 902 overflow: auto; 903} 904 905/* Some charts are wider than the page. */ 906.wt-chart { 907 overflow-x: auto; 908 overflow-y: hidden; 909} 910 911.wt-calendar-month { 912 border-collapse: collapse; 913} 914 915.wt-calendar-month .wt-page-options-label, 916.wt-calendar-month .wt-page-options-value { 917 border: solid grey thin; 918 padding: 0.2rem; 919} 920 921/* Forms */ 922.col-form-label { 923 font-weight: bold; 924} 925 926/* Accordions */ 927.accordion .wt-icon-expand, 928.accordion .wt-icon-collapse { 929 display: none; 930} 931 932.accordion-button:after { 933 display: block; 934} 935