1/** 2 * webtrees: online genealogy 3 * Copyright (C) 2021 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 FAB theme */ 17@import "_base.css"; 18 19:root { 20 --chart-line-radius: 1rem; 21 --chart-line: solid gray thin; 22 --link-color-hover: #f00; 23 --link-color: #369; 24 --link-decoration-hover: underline; 25 --link-decoration: none; 26 --sex-f-bg: #ffdddd; 27 --sex-f-fg: #ff8888; 28 --sex-m-bg: #ddddff; 29 --sex-m-fg: #8888ff; 30 --sex-u-bg: #ddffdd; 31 --sex-u-fg: #88ff88; 32} 33 34/* Override Bootstrap formatting */ 35.btn-link { 36 padding-left: 0.25rem; 37 padding-right: 0.25rem; 38} 39 40.table-given-name { 41 overflow-x: hidden; 42} 43 44.container-fluid { 45 padding-left: 5px; 46 padding-right: 5px; 47} 48 49table { 50 border-collapse: separate; 51} 52 53/* 54 * Pages have the following high-level structure: 55 * 56 * wt-global wt-theme-<THEME> wt-route-<ROUTE> 57 * +---wt-header-wrapper 58 * | +---wt-header-container 59 * | +---wt-header-content 60 * | +---wt-accessibility-links 61 * | +---wt-site-logo 62 * | +---wt-site-title 63 * | +---wt-header-search 64 * | | +---wt-header-search-form 65 * | | +---wt-header-search-field 66 * | | +---wt-header-search-button 67 * | +---wt-secondary-navigation 68 * | | +---wt-user-menu 69 * | +---wt-primary-navigation 70 * | +---wt-genealogy-menu 71 * +---wt-main-wrapper 72 * | +---wt-main-container 73 * | +---wt-main-content 74 * | +---wt-messages 75 * | +---wt-page-title 76 * | +---wt-page-options wt-page-options-xxxxx 77 * | +---wt-page-content 78 * +---wt-footers 79 * +---wt-footer wt-footer-xxxxx 80 */ 81 82.wt-global { 83 color: #555; 84} 85 86.wt-header-wrapper { 87} 88 89.wt-header-container { 90 background-color: #eee; 91} 92 93.wt-header-content { 94} 95 96.wt-accessibility-links { 97} 98 99.wt-site-logo { 100 display: none; 101} 102 103.wt-site-title { 104 order: 1; 105 flex: 1 1 auto; 106 width: auto; 107 font-size: 1.5rem; 108 color: #888; 109} 110 111.wt-header-search { 112 order: 3; 113 flex: 0 0 15rem; 114} 115 116.wt-header-search-form { 117} 118 119.wt-header-search-field { 120} 121 122.wt-header-search-button { 123} 124 125.wt-secondary-navigation { 126 order: 2; 127 flex: 0 0 auto; 128 width: auto; 129 white-space: nowrap; 130} 131 132.wt-user-menu { 133 flex-wrap: nowrap; 134} 135 136.wt-user-menu .nav-link { 137 display: inline-block; 138 padding: 0.5rem; 139} 140 141.wt-user-menu .nav-item::after { 142 content: "|"; 143} 144 145.wt-user-menu .dropdown-toggle::after { 146 display: none; 147} 148 149.wt-primary-navigation { 150 order: 4; 151 flex: 0 0 100%; 152 background-color: #eee; 153} 154 155.wt-genealogy-menu { 156 justify-content: center; 157} 158 159.wt-genealogy-menu .dropdown-toggle::after { 160 display: none; 161} 162 163.wt-genealogy-menu .nav-link { 164 white-space: nowrap; 165 display: inline-block; 166 padding: 0.5rem; 167} 168 169.wt-genealogy-menu .nav-item + .nav-item::before { 170 content: "|"; 171} 172 173.wt-main-container { 174 /* Space between the header/footer and the main content. */ 175 padding-top: 1rem; 176 padding-bottom: 1rem; 177} 178 179.wt-main { 180} 181 182.wt-messages { 183} 184 185.wt-page-title { 186 text-align: center; 187} 188 189.wt-page-options .form-group { 190 margin-bottom: 0; 191} 192 193.wt-page-options-label { 194 background-color: #ccc; 195 border-left: 2px solid transparent; 196 border-right: 2px solid transparent; 197 Color: #555; 198 font-weight: bold; 199} 200 201.wt-page-options-value { 202 background-color: #ddd; 203 border: 1px solid #fff; 204 border-top: 1px solid #ddd; 205 206 padding: 0.25rem 0.75rem; 207} 208 209.wt-page-content { 210 margin-top: 1rem; 211} 212 213.wt-footers { 214} 215 216.wt-footer { 217} 218 219.wt-footer-contact { 220} 221 222.wt-footer-cookies { 223 background: #aaa; 224 color: #fff; 225 transition: height 0.5s; 226} 227 228.wt-footer-page-views { 229} 230 231.wt-footer-powered-by { 232} 233 234.wt-footer-powered-by-webtrees { 235 width: 100px; 236 height: 21px; 237 content: url(images/powered-by-webtrees.png); 238} 239 240/* 241 * The tree/user home pages 242 * 243 * wt-home-page / wt-user-page 244 * +---wt-main-blocks 245 * | +---wt-block, wt-block-AAA 246 * | +---wt-block, wt-block-BBB 247 * | +---wt-block, wt-block-CCC 248 * +---wt-side-blocks 249 * +---wt-block, wt-block-XXX 250 * +---wt-block, wt-block-YYY 251 * +---wt-block, wt-block-ZZZ 252 * 253 * Each block as the structure 254 * wt-block, wt-block-XXX 255 * +---wt-block-header, wt-block-header-XXX 256 * +---wt-block-content, wt-block-content-XXX 257 */ 258 259.wt-block { 260 background-color: #eee; 261 padding: 3px; 262 vertical-align: top; 263} 264 265.wt-block-header { 266 background-color: #eee; 267 border-bottom: 0; 268 font-weight: bold; 269} 270 271.wt-block-content { 272} 273 274.wt-block-content .list_table { 275 border-spacing: 1px; 276 border: solid #000 1px; 277 border-right: 0; 278} 279 280.wt-block-content .list_value, 281.wt-block-content .list_value_wrap { 282 border: 0; 283} 284 285/* 286 * The individual page. 287 * 288 * wt-route-individual 289 * +---wt-header-wrapper 290 */ 291 292.wt-individual-silhouette { 293 content: url(images/individual-silhouette-unknown.png); 294} 295 296.wt-individual-silhouette-f { 297 content: url(images/individual-silhouette-female.png); 298} 299 300.wt-individual-silhouette-m { 301 content: url(images/individual-silhouette-male.png); 302} 303 304/* 305 * Chart-boxes are used to build the various charts. 306 * Each type of chart will set its own size and hide/show content. 307 * 308 * wt-chart-box 309 * +--- wt-chart-box-thumbnail 310 * +--- wt-chart-box-extra 311 * +--- wt-chart-box-zoom 312 * +--- wt-chart-box-icon 313 * +--- wt-chart-box-dropdown wt-chart-box-zoom-dropdown 314 * +--- wt-chart-box-links 315 * +--- wt-chart-box-icon 316 * +--- wt-chart-box-dropdown wt-chart-box-links-dropdown 317 * +--- wt-chart-box-name 318 * +--- wt-chart-box-lifespan 319 * +--- wt-chart-box-facts 320 * +--- wt-chart-box-fact 321 */ 322.wt-chart-box, 323.wt-chart-box-menu { 324 background: var(--sex-u-bg); 325 border: dashed var(--sex-u-fg) thin; 326} 327 328.wt-chart-box { 329 height: 5rem; 330 padding: 2px; 331 line-height: 1.1; 332 border: none; 333 border-radius: 4px; 334} 335 336.wt-chart-box-f, 337.wt-chart-box-f .wt-chart-box-dropdown { 338 background: var(--sex-f-bg); 339} 340 341.wt-chart-box-m, 342.wt-chart-box-m .wt-chart-box-dropdown { 343 background: var(--sex-m-bg); 344} 345 346/* ====== Round Corners ======== */ 347.block, 348.descriptionbox, 349.list_label, 350.list_label_wrap, 351.list_value, 352.list_value_wrap, 353.messagebox, 354.optionbox, 355.person0, 356.person1, 357.person2, 358.person3, 359.person4, 360.person5, 361#indi_main_blocks, 362#tabs { 363 margin: 4px; 364 padding: 4px; 365 border-radius: 4px; 366} 367 368:focus { 369 outline-style: none; 370} 371 372.flash-messages { 373 clear: both; 374 text-align: center; 375} 376 377dl { 378 margin: 0; 379} 380 381dt { 382 float: left; 383 font-weight: bold; 384 margin-right: 10px; 385} 386 387.button { 388 width: 60px; 389} 390 391.alpha_index { 392 color: #999; 393} 394 395.news_box:target, 396#gedcom_stats:target { 397 background-color: #ffc; 398} 399 400/* families tab person box */ 401table.center { 402 margin-left: auto; 403 margin-right: auto; 404} 405 406.list_table { 407 margin: 0 auto; 408} 409 410.list_label, 411.list_label_wrap { 412 background-color: #ccc; 413 font-weight: bold; 414 text-align: center; 415} 416 417.list_value, 418.list_value_wrap { 419 background-color: #ddd; 420 vertical-align: top; 421} 422 423.list_label, 424.list_value { 425 white-space: nowrap; 426} 427 428.list_label_wrap, 429.list_value_wrap { 430 white-space: normal; 431} 432 433div.fact_SHARED_NOTE { 434 clear: both; 435} 436 437/* Table of genealogical facts */ 438.wt-facts-table caption { 439 caption-side: top; 440} 441 442.wt-facts-table th { 443 background-color: #ccc; 444 border-radius: 4px; 445 text-align: center; 446 font-weight: normal; 447 min-width: 20%; 448} 449 450.wt-facts-table td { 451 border-radius: 4px; 452 background-color: #ddd; 453} 454 455.wt-facts-table .wt-gender-M td { 456 background-color: var(--sex-m-bg); 457} 458 459.wt-facts-table .wt-gender-F td { 460 background-color: var(--sex-f-bg); 461} 462 463.details_label { 464 font-weight: bold; 465} 466 467.date { 468 color: #337; 469} 470 471.label { 472 font-weight: bold; 473} 474 475.error { 476 color: #f00; 477 font-weight: bold; 478} 479 480.indent { 481 padding-left: 7px; 482} 483 484.parentdeath { 485 padding: 1px; 486} 487 488.journal_box { 489 padding: 3pt; 490 border: thin solid #aaa; 491 overflow: visible; 492} 493 494.news_box { 495 background-color: #ccc; 496 border-top: none; 497} 498 499.news_title { 500 font-weight: bold; 501 font-size: 14px; 502} 503 504.news_date { 505 margin-bottom: 12px; 506} 507 508.current_day { 509 font-weight: bold; 510 font-size: 16px; 511} 512 513.cal_day { 514 font-weight: bold; 515} 516 517.rtl_cal_day { 518 color: #00f; 519 font-weight: bold; 520} 521 522#user-page h1 { 523 margin: 0.25em auto 0.6em; 524} 525 526.tvertline { 527 vertical-align: bottom; 528} 529 530#childbox { 531 padding: 5px; 532 position: absolute; 533 display: none; 534 text-align: start; 535 white-space: nowrap; 536 top: 20px; 537 left: 0; 538} 539 540.layout3 #childbox { 541 top: auto; 542 bottom: 20px; 543} 544 545.person0 { 546 background-color: #aaf; 547 vertical-align: top; 548} 549 550.person1 { 551 background-color: #afa; 552 vertical-align: top; 553} 554 555.person2 { 556 background-color: #faa; 557 vertical-align: top; 558} 559 560.person3 { 561 background-color: #55f; 562 vertical-align: top; 563} 564 565.person4 { 566 background-color: #f55; 567 vertical-align: top; 568} 569 570.person5 { 571 background-color: #5f5; 572 vertical-align: top; 573} 574 575.starredname { 576 text-decoration: underline; 577} 578 579.search_hit { 580 background-color: #ff0; 581} 582 583.descriptionbox { 584 font-weight: bold; 585 background-color: #ccc; 586 vertical-align: top; 587} 588 589.descriptionbox { 590 font-size: 14px; 591 background-color: #ccc; 592 vertical-align: top; 593 padding: 3px; 594} 595 596.optionbox { 597 background-color: #ddd; 598 color: #000; 599 vertical-align: top; 600 white-space: nowrap; 601 padding: 3px; 602} 603 604.red { 605 color: #f00; 606} 607 608.wt-associate-fact, 609.wt-relation-fact, 610.wt-historic-fact { 611 opacity: 0.8; 612} 613 614.messagebox { 615 background-color: #bce; 616} 617 618/* ---Pending edits--- */ 619.wt-new { 620 outline: solid #00f 1px; 621} 622 623.wt-old { 624 outline: solid #f00 1px; 625} 626 627.tag_cloud { 628 text-align: center; 629} 630 631.tag_cloud a { 632 white-space: nowrap; 633} 634 635.nowrap { 636 white-space: nowrap; 637} 638 639.wrap { 640 white-space: normal; 641} 642 643.statistics-page { 644 text-align: center; 645} 646 647.gchart { 648 border: 0; 649} 650 651#facts_content dd { 652 float: left; 653 width: 70%; 654} 655 656/* this keeps the tag color the same when it is a link as when not */ 657 658.place { 659 padding-top: 5px; 660} 661 662.filtersH, 663.filtersF { 664 margin: 4px; 665} 666 667.filtersH img { 668 margin-bottom: 2px; 669} 670 671.list-charts { 672 text-align: center; 673} 674 675#place-hierarchy h2, 676#place-hierarchy h4 { 677 text-align: center; 678} 679 680.user_welcome_block table, 681.gedcom_block_block table { 682 margin: auto; 683} 684 685.user_welcome_block td, 686.gedcom_block_block td { 687 width: 33%; 688 text-align: center; 689 vertical-align: top; 690} 691 692/* ==== FAQ table styles ===== */ 693table.faq { 694 background-color: #ddd; 695 margin: 5px 0 50px 5px; 696 width: 98%; 697} 698 699table.faq tr:nth-child(odd) td { 700 background-color: #eee; 701} 702 703div.faq_title { 704 background-color: #ddd; 705 margin: 1em 0; 706 padding: .25em; 707 font-weight: bold; 708 width: 98%; 709} 710 711div.faq_body { 712 clear: both; 713 padding: 0 1em; 714} 715 716.faq_top { 717 float: right; 718} 719 720/* === Positioning edit, copy, delete links === */ 721/* General use */ 722.editfacts { 723 clear: left; 724 padding-top: 15px; 725} 726 727#indi_note { 728 margin: 0 0 5px; 729} 730 731.indi_table { 732 clear: left; 733} 734 735#indi_note .fact_NOTE { 736 float: left; 737 margin: 0 5px 0 0; 738} 739 740#indi_note .fact_SOUR { 741 margin: 3px 0; 742} 743 744#indi_note .fact_SOUR a { 745 font-size: 100%; 746} 747 748#indi_note .fact_NOTE, 749#indi_note .fact_SOUR { 750 clear: both; 751} 752 753.odometer { 754 font-family: courier, monospace; 755 font-weight: bold; 756 background: #000; 757 color: #fff; 758} 759 760.upcoming_events_block button, 761.todays_events_block button { 762 margin: 0 20px; 763} 764 765/* Sidebar - Family navigator */ 766.wt-family-navigator-dropdown { 767 background: #eee; 768} 769 770.wt-family-navigator-dropdown-heading { 771 font-weight: bold; 772 font-size: inherit; 773 color: inherit; 774} 775 776/* Sidebar - Descendants */ 777#sb_content_descendancy { 778 margin-top: 5px; 779} 780 781#sb_desc_content { 782 margin-left: 3px; 783 font-size: 0.8em; 784} 785 786#sb_desc_content ul { 787 padding: 0; 788 margin: 0; 789} 790 791.sb_desc_indi_li { 792 list-style-type: none; 793} 794 795/* Individuals and Families */ 796#sidebar-content-individuals, 797#sidebar-content-families { 798 margin-top: 5px; 799} 800 801.sb_indi_surname_li, 802.sb_fam_surname_li { 803 list-style-image: url(icons/plus.png); 804} 805 806.name_tree_div ul { 807 padding: 0; 808 margin: 0; 809} 810 811.name_tree_div li { 812 list-style: none; 813 margin: 0; 814 padding: 0; 815} 816 817/* Clippings */ 818#sb_clippings_content ul { 819 padding: 0; 820 margin: 0; 821} 822 823#sb_clippings_content li { 824 list-style: none; 825 margin: 0; 826 padding: 0; 827 white-space: nowrap; 828} 829 830/* Stories module */ 831.story_title { 832 padding-top: 12px; 833 font-size: 13px; 834 height: 32px; 835 font-weight: bold; 836} 837 838.story_body { 839 padding: 20px; 840 white-space: normal; 841} 842 843.story_edit { 844 padding: 12px; 845} 846 847/*-- Fan chart ---- */ 848.fan_chart_menu { 849 background: #fff; 850 position: absolute; 851 display: none; 852 z-index: 100; 853} 854 855#fan_chart ul { 856 list-style-type: none; 857 margin: 0; 858} 859 860/* Lifespans chart */ 861.wt-lifespans-subtitle { 862 text-align: center; 863} 864 865.wt-lifespans-scale { 866 white-space: nowrap; 867} 868 869.wt-lifespans-decade { 870 width: 70px; 871 height: 60px; 872 display: inline-block; 873 background-image: url(images/lifespan-decade.png); 874 background-position-y: bottom; 875 background-repeat: no-repeat; 876 background-size: 70px 37px; 877} 878 879.wt-lifespans-individuals { 880 background: #fafafa; 881} 882 883.wt-lifespans-individual { 884 885} 886 887.wt-lifespans-summary { 888 background: #ffffff; 889 border: thin solid #000; 890 z-index: 1; 891} 892 893.wt-lifespans-summary-link { 894 font-weight: bold; 895} 896 897/*-- timeline --*/ 898#timeline_chart { 899 position: relative; 900 top: 0; 901 left: 0; 902} 903 904/*-- Relationship ---- */ 905.wt-relationship-chart .hline-text, 906.wt-relationship-chart .vline-text { 907 font-size: 12px; 908} 909 910/* 911 * Any element that is loaded dynamically has the class wt-ajax-load. 912 * We can provide a "loading" placeholder for empty elements with this class. 913 */ 914.wt-ajax-load:empty { 915 height: 32px; 916 background: url(images/loading-32x32.gif) no-repeat 50% 50%; 917} 918 919/* 920 * Default icons are provided by FontAwesome. 921 */ 922.wt-icon-anniversary { 923} 924 925.wt-icon-arrow-down { 926} 927 928a > .wt-icon-arrow-down:hover { 929} 930 931.wt-icon-arrow-left { 932} 933 934a > .wt-icon-arrow-left:hover { 935} 936 937.wt-icon-arrow-right { 938} 939 940a > .wt-icon-arrow-right:hover { 941} 942 943.wt-icon-arrow-up { 944} 945 946a > .wt-icon-arrow-up:hover { 947} 948 949.wt-icon-bing-maps { 950} 951 952.wt-icon-calendar { 953} 954 955.wt-icon-collapse { 956} 957 958.wt-icon-coordinates { 959} 960 961.wt-icon-copy { 962} 963 964.wt-icon-delete { 965} 966 967.wt-icon-edit { 968} 969 970.wt-icon-expand { 971} 972 973.wt-icon-family { 974} 975 976.wt-icon-google-maps { 977} 978 979.wt-icon-help { 980} 981 982.wt-icon-individual { 983} 984 985.wt-icon-keyboard { 986} 987 988.wt-icon-media { 989} 990 991.wt-icon-note { 992} 993 994.wt-icon-openstreetmap { 995} 996 997.wt-icon-preferences { 998} 999 1000.wt-icon-reorder { 1001} 1002 1003.wt-icon-repository { 1004} 1005 1006.wt-icon-sex-f { 1007 color: var(--sex-f-fg); 1008} 1009 1010.wt-icon-sex-m { 1011 color: var(--sex-m-fg); 1012} 1013 1014.wt-icon-sex-u { 1015 color: var(--sex-u-fg); 1016} 1017 1018.wt-icon-sex-x { 1019 color: var(--sex-u-fg); 1020} 1021 1022.wt-icon-source { 1023} 1024 1025.wt-icon-submitter { 1026} 1027 1028.wt-icon-warning { 1029} 1030 1031.wt-icon-zoom-in { 1032} 1033 1034.wt-icon-zoom-out { 1035} 1036 1037/* Miscellaneous images */ 1038.icon-cfamily { 1039 content: url(fab/images/cfamily.png); 1040} 1041 1042.icon-childless { 1043 content: url(images/childless.png); 1044} 1045 1046.icon-children { 1047 content: url(images/children.png); 1048} 1049 1050.icon-edit_indi { 1051 content: url(fab/images/edit_indi.png); 1052} 1053 1054.icon-fam-list { 1055 content: url(fab/images/sfamily.png); 1056} 1057 1058.icon-indi-list { 1059 content: url(fab/images/indis.png); 1060} 1061 1062.icon-loading-small { 1063 content: url(images/indicator.gif); 1064} 1065 1066.icon-minus { 1067 content: url(icons/minus.png); 1068} 1069 1070.icon-mypage { 1071 content: url(fab/images/mypage.png); 1072} 1073 1074.icon-pin-in { 1075 content: url(fab/images/pin-in.png); 1076} 1077 1078.icon-pin-out { 1079 content: url(fab/images/pin-out.png); 1080} 1081 1082.icon-plus { 1083 content: url(icons/plus.png); 1084} 1085 1086.icon-resn-confidential { 1087 content: url(images/resn_confidential.png); 1088} 1089 1090.icon-resn-locked { 1091 content: url(images/resn_locked.png); 1092} 1093 1094.icon-resn-none { 1095 content: url(images/resn_none.png); 1096} 1097 1098.icon-resn-privacy { 1099 content: url(images/resn_privacy.png); 1100} 1101 1102.icon-rings { 1103 content: url(images/rings.png); 1104} 1105 1106.icon-selected { 1107 content: url(fab/images/selected.png); 1108} 1109 1110/* Silhouettes on charts */ 1111.icon-silhouette-F { 1112 content: url(fab/images/silhouette_female_small.png); 1113} 1114 1115.icon-silhouette-M { 1116 content: url(fab/images/silhouette_male_small.png); 1117} 1118 1119.icon-silhouette-U { 1120 content: url(fab/images/silhouette_unknown_small.png); 1121} 1122 1123.menu-language li { 1124 text-align: left; /* The language menu is always LTR, even on RTL pages */ 1125} 1126 1127.menu-theme li { 1128 text-align: left; /* The theme menu is always LTR, even on RTL pages */ 1129} 1130 1131.icon-indis { 1132 content: url(fab/images/indis.png); 1133} 1134 1135.icon-patriarch { 1136 content: url(fab/images/patriarch.png); 1137} 1138 1139.icon-pedigree { 1140 content: url(fab/images/pedigree.png); 1141} 1142 1143.icon-sfamily { 1144 content: url(fab/images/sfamily.png); 1145} 1146 1147.icon-user_add { 1148 content: url(fab/images/user_add.png); 1149} 1150 1151/* Census assistant */ 1152.wt-census-assistant-form-control:focus { 1153 min-width: 12rem; 1154} 1155 1156/* Some blocks show a reduced version on the right-hand side. */ 1157.wt-side-blocks .wt-side-block-optional { 1158 display: none !important; 1159} 1160 1161/* my page chart enhancements */ 1162.wt-block-content-charts { 1163 overflow: auto; 1164} 1165 1166/* Some charts are wider than the page. */ 1167.wt-chart { 1168 overflow-x: auto; 1169 overflow-y: hidden; 1170} 1171 1172/* Fit thumbnail into parent on charts */ 1173.select2-selection.select2-selection--single { 1174 min-height: 36px; 1175 height: auto; 1176 padding: 2px 0; 1177} 1178 1179.select2-container .select2-selection--single .select2-selection__rendered { 1180 padding-left: 2px; 1181} 1182 1183.select2-selection--single .NAME { 1184 padding-left: 4px; 1185} 1186 1187/* Some menus (e.g. languages) can be longer than a page */ 1188.dropdown-menu { 1189 max-height: 30rem; 1190 overflow-x: hidden; 1191} 1192 1193/* Forms */ 1194.col-form-label { 1195 font-weight: bold; 1196} 1197