1/** 2 * webtrees: online genealogy 3 * Copyright (C) 2022 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 --sex-x-bg: #fceaa1; 33 --sex-x-fg: #ffab57; 34} 35 36/* Override Bootstrap format --sex-u-bg: #ddffdd; 37 --sex-u-fg: #88ff88; 38ting */ 39.btn-link { 40 padding-left: 0.25rem; 41 padding-right: 0.25rem; 42} 43 44.table-given-name { 45 overflow-x: hidden; 46} 47 48.container-fluid { 49 padding-left: 5px; 50 padding-right: 5px; 51} 52 53table { 54 border-collapse: separate; 55} 56 57/* 58 * Pages have the following high-level structure: 59 * 60 * wt-global wt-theme-<THEME> wt-route-<ROUTE> 61 * +---wt-header-wrapper 62 * | +---wt-header-container 63 * | +---wt-header-content 64 * | +---wt-accessibility-links 65 * | +---wt-site-logo 66 * | +---wt-site-title 67 * | +---wt-header-search 68 * | | +---wt-header-search-form 69 * | | +---wt-header-search-field 70 * | | +---wt-header-search-button 71 * | +---wt-secondary-navigation 72 * | | +---wt-user-menu 73 * | +---wt-primary-navigation 74 * | +---wt-genealogy-menu 75 * +---wt-main-wrapper 76 * | +---wt-main-container 77 * | +---wt-main-content 78 * | +---wt-messages 79 * | +---wt-page-title 80 * | +---wt-page-options wt-page-options-xxxxx 81 * | +---wt-page-content 82 * +---wt-footers 83 * +---wt-footer wt-footer-xxxxx 84 */ 85 86.wt-global { 87 color: #555; 88} 89 90.wt-header-wrapper { 91} 92 93.wt-header-container { 94 background-color: #eee; 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.5rem; 112 color: #888; 113} 114 115.wt-header-search { 116 order: 3; 117 flex: 0 0 15rem; 118} 119 120.wt-header-search-form { 121} 122 123.wt-header-search-field { 124} 125 126.wt-header-search-button { 127} 128 129.wt-secondary-navigation { 130 order: 2; 131 flex: 0 0 auto; 132 width: auto; 133 white-space: nowrap; 134} 135 136.wt-user-menu { 137 flex-wrap: nowrap; 138} 139 140.wt-user-menu .nav-link { 141 display: inline-block; 142 padding: 0.5rem; 143} 144 145.wt-user-menu .nav-item::after { 146 content: "|"; 147} 148 149.wt-user-menu .dropdown-toggle::after { 150 display: none; 151} 152 153.wt-primary-navigation { 154 order: 4; 155 flex: 0 0 100%; 156 background-color: #eee; 157} 158 159.wt-genealogy-menu { 160 justify-content: center; 161} 162 163.wt-genealogy-menu .dropdown-toggle::after { 164 display: none; 165} 166 167.wt-genealogy-menu .nav-link { 168 white-space: nowrap; 169 display: inline-block; 170 padding: 0.5rem; 171} 172 173.wt-genealogy-menu .nav-item + .nav-item::before { 174 content: "|"; 175} 176 177.wt-main-container { 178 /* Space between the header/footer and the main content. */ 179 padding-top: 1rem; 180 padding-bottom: 1rem; 181} 182 183.wt-main { 184} 185 186.wt-messages { 187} 188 189.wt-page-title { 190 text-align: center; 191} 192 193.wt-page-options .form-group { 194 margin-bottom: 0; 195} 196 197.wt-page-options-label { 198 background-color: #ccc; 199 border-left: 2px solid transparent; 200 border-right: 2px solid transparent; 201 Color: #555; 202 font-weight: bold; 203} 204 205.wt-page-options-value { 206 background-color: #ddd; 207 border: 1px solid #fff; 208 border-top: 1px solid #ddd; 209 210 padding: 0.25rem 0.75rem; 211} 212 213.wt-page-content { 214 margin-top: 1rem; 215} 216 217.wt-footers { 218} 219 220.wt-footer { 221} 222 223.wt-footer-contact { 224} 225 226.wt-footer-cookies { 227 background: #aaa; 228 color: #fff; 229 transition: height 0.5s; 230} 231 232.wt-footer-page-views { 233} 234 235.wt-footer-powered-by { 236} 237 238.wt-footer-powered-by-webtrees { 239 width: 100px; 240 height: 21px; 241 content: url(images/powered-by-webtrees.png); 242} 243 244/* 245 * The tree/user home pages 246 * 247 * wt-home-page / wt-user-page 248 * +---wt-main-blocks 249 * | +---wt-block, wt-block-AAA 250 * | +---wt-block, wt-block-BBB 251 * | +---wt-block, wt-block-CCC 252 * +---wt-side-blocks 253 * +---wt-block, wt-block-XXX 254 * +---wt-block, wt-block-YYY 255 * +---wt-block, wt-block-ZZZ 256 * 257 * Each block as the structure 258 * wt-block, wt-block-XXX 259 * +---wt-block-header, wt-block-header-XXX 260 * +---wt-block-content, wt-block-content-XXX 261 */ 262 263.wt-block { 264 background-color: #eee; 265 padding: 3px; 266 vertical-align: top; 267} 268 269.wt-block-header { 270 background-color: #eee; 271 border-bottom: 0; 272 font-weight: bold; 273} 274 275.wt-block-content { 276} 277 278.wt-block-content .list_table { 279 border-spacing: 1px; 280 border: solid #000 1px; 281 border-right: 0; 282} 283 284.wt-block-content .list_value, 285.wt-block-content .list_value_wrap { 286 border: 0; 287} 288 289/* 290 * The individual page. 291 * 292 * wt-route-individual 293 * +---wt-header-wrapper 294 */ 295.wt-individual-silhouette-f { 296 content: url(images/individual-silhouette-female.png); 297} 298 299.wt-individual-silhouette-m { 300 content: url(images/individual-silhouette-male.png); 301} 302 303.wt-individual-silhouette-u, 304.wt-individual-silhouette-x { 305 content: url(images/individual-silhouette-unknown.png); 306} 307 308/* 309 * Chart-boxes are used to build the various charts. 310 * Each type of chart will set its own size and hide/show content. 311 * 312 * wt-chart-box 313 * +--- wt-chart-box-thumbnail 314 * +--- wt-chart-box-extra 315 * +--- wt-chart-box-zoom 316 * +--- wt-chart-box-icon 317 * +--- wt-chart-box-dropdown wt-chart-box-zoom-dropdown 318 * +--- wt-chart-box-links 319 * +--- wt-chart-box-icon 320 * +--- wt-chart-box-dropdown wt-chart-box-links-dropdown 321 * +--- wt-chart-box-name 322 * +--- wt-chart-box-lifespan 323 * +--- wt-chart-box-facts 324 * +--- wt-chart-box-fact 325 */ 326 327.wt-chart-box { 328 height: 5rem; 329 padding: 2px; 330 line-height: 1.1; 331 border: none; 332 border-radius: 4px; 333} 334 335.wt-chart-box-f, 336.wt-chart-box-f .wt-chart-box-dropdown { 337 background: var(--sex-f-bg); 338 border: solid var(--sex-f-fg) thin; 339} 340 341.wt-chart-box-m, 342.wt-chart-box-m .wt-chart-box-dropdown { 343 background: var(--sex-m-bg); 344 border: solid var(--sex-m-fg) thin; 345} 346 347.wt-chart-box-u, 348.wt-chart-box-u .wt-chart-box-dropdown { 349 background: var(--sex-u-bg); 350 border: solid var(--sex-u-fg) thin; 351} 352 353.wt-chart-box-x, 354.wt-chart-box-x .wt-chart-box-dropdown { 355 background: var(--sex-x-bg); 356 border: solid var(--sex-x-fg) thin; 357} 358 359/* ====== Round Corners ======== */ 360.block, 361.descriptionbox, 362.list_label, 363.list_label_wrap, 364.list_value, 365.list_value_wrap, 366.messagebox, 367.optionbox, 368.person0, 369.person1, 370.person2, 371.person3, 372.person4, 373.person5, 374#tabs { 375 margin: 4px; 376 padding: 4px; 377 border-radius: 4px; 378} 379 380:focus { 381 outline-style: none; 382} 383 384.flash-messages { 385 clear: both; 386 text-align: center; 387} 388 389dl { 390 margin: 0; 391} 392 393dt { 394 float: left; 395 font-weight: bold; 396 margin-right: 10px; 397} 398 399.button { 400 width: 60px; 401} 402 403.alpha_index { 404 color: #999; 405} 406 407.news_box:target, 408#gedcom_stats:target { 409 background-color: #ffc; 410} 411 412/* families tab person box */ 413table.center { 414 margin-left: auto; 415 margin-right: auto; 416} 417 418.list_table { 419 margin: 0 auto; 420} 421 422.list_label, 423.list_label_wrap { 424 background-color: #ccc; 425 font-weight: bold; 426 text-align: center; 427} 428 429.list_value, 430.list_value_wrap { 431 background-color: #ddd; 432 vertical-align: top; 433} 434 435.list_label, 436.list_value { 437 white-space: nowrap; 438} 439 440.list_label_wrap, 441.list_value_wrap { 442 white-space: normal; 443} 444 445div.fact_SHARED_NOTE { 446 clear: both; 447} 448 449/* Table of genealogical facts */ 450.wt-facts-table caption { 451 caption-side: top; 452} 453 454.wt-facts-table th { 455 background-color: #ccc; 456 border-radius: 4px; 457 text-align: center; 458 font-weight: normal; 459 min-width: 20%; 460} 461 462.wt-facts-table td { 463 border-radius: 4px; 464 background-color: #ddd; 465} 466 467.wt-facts-table .wt-sex-m > td { 468 background-color: var(--sex-m-bg); 469} 470 471.wt-facts-table .wt-sex-f > td { 472 background-color: var(--sex-f-bg); 473} 474 475.wt-facts-table .wt-sex-u > td { 476 background-color: var(--sex-u-bg); 477} 478 479.wt-facts-table .wt-sex-x > td { 480 background-color: var(--sex-x-bg); 481} 482 483.details_label { 484 font-weight: bold; 485} 486 487.date { 488 color: #337; 489} 490 491.label { 492 font-weight: bold; 493} 494 495.error { 496 color: #f00; 497 font-weight: bold; 498} 499 500.indent { 501 padding-left: 7px; 502} 503 504.parentdeath { 505 padding: 1px; 506} 507 508.journal_box { 509 padding: 3pt; 510 border: thin solid #aaa; 511 overflow: visible; 512} 513 514.news_box { 515 background-color: #ccc; 516 border-top: none; 517 padding: 0.25rem; 518} 519 520.news_title { 521 font-weight: bold; 522 font-size: 14px; 523} 524 525.news_date { 526 margin-bottom: 12px; 527} 528 529.current_day { 530 font-weight: bold; 531 font-size: 16px; 532} 533 534.cal_day { 535 font-weight: bold; 536} 537 538.rtl_cal_day { 539 color: #00f; 540 font-weight: bold; 541} 542 543#user-page h1 { 544 margin: 0.25em auto 0.6em; 545} 546 547.tvertline { 548 vertical-align: bottom; 549} 550 551#childbox { 552 padding: 5px; 553 position: absolute; 554 display: none; 555 text-align: start; 556 white-space: nowrap; 557 top: 20px; 558 left: 0; 559} 560 561.layout3 #childbox { 562 top: auto; 563 bottom: 20px; 564} 565 566.person0 { 567 background-color: #aaf; 568 vertical-align: top; 569} 570 571.person1 { 572 background-color: #afa; 573 vertical-align: top; 574} 575 576.person2 { 577 background-color: #faa; 578 vertical-align: top; 579} 580 581.person3 { 582 background-color: #55f; 583 vertical-align: top; 584} 585 586.person4 { 587 background-color: #f55; 588 vertical-align: top; 589} 590 591.person5 { 592 background-color: #5f5; 593 vertical-align: top; 594} 595 596.starredname { 597 text-decoration: underline; 598} 599 600.search_hit { 601 background-color: #ff0; 602} 603 604.descriptionbox { 605 font-weight: bold; 606 background-color: #ccc; 607 vertical-align: top; 608} 609 610.descriptionbox { 611 font-size: 14px; 612 background-color: #ccc; 613 vertical-align: top; 614 padding: 3px; 615} 616 617.optionbox { 618 background-color: #ddd; 619 color: #000; 620 vertical-align: top; 621 white-space: nowrap; 622 padding: 3px; 623} 624 625.red { 626 color: #f00; 627} 628 629.wt-associate-fact, 630.wt-relation-fact, 631.wt-historic-fact { 632 opacity: 0.8; 633} 634 635.messagebox { 636 background-color: #bce; 637} 638 639/* ---Pending edits--- */ 640.wt-new { 641 outline: solid #00f 1px; 642} 643 644.wt-old { 645 outline: solid #f00 1px; 646} 647 648.nowrap { 649 white-space: nowrap; 650} 651 652.wrap { 653 white-space: normal; 654} 655 656.statistics-page { 657 text-align: center; 658} 659 660.gchart { 661 border: 0; 662} 663 664#facts_content dd { 665 float: left; 666 width: 70%; 667} 668 669.filtersH, 670.filtersF { 671 margin: 4px; 672} 673 674.filtersH img { 675 margin-bottom: 2px; 676} 677 678.list-charts { 679 text-align: center; 680} 681 682#place-hierarchy h2, 683#place-hierarchy h4 { 684 text-align: center; 685} 686 687.user_welcome_block table, 688.gedcom_block_block table { 689 margin: auto; 690} 691 692.user_welcome_block td, 693.gedcom_block_block td { 694 width: 33%; 695 text-align: center; 696 vertical-align: top; 697} 698 699/* ==== FAQ table styles ===== */ 700table.faq { 701 background-color: #ddd; 702 margin: 5px 0 50px 5px; 703 width: 98%; 704} 705 706table.faq tr:nth-child(odd) td { 707 background-color: #eee; 708} 709 710div.faq_title { 711 background-color: #ddd; 712 margin: 1em 0; 713 padding: .25em; 714 font-weight: bold; 715 width: 98%; 716} 717 718div.faq_body { 719 clear: both; 720 padding: 0 1em; 721} 722 723.faq_top { 724 float: right; 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.icon-silhouette-x { 1121 content: url(fab/images/silhouette_unknown_small.png); 1122} 1123 1124.menu-language li { 1125 text-align: left; /* The language menu is always LTR, even on RTL pages */ 1126} 1127 1128.menu-theme li { 1129 text-align: left; /* The theme menu is always LTR, even on RTL pages */ 1130} 1131 1132.icon-indis { 1133 content: url(fab/images/indis.png); 1134} 1135 1136.icon-patriarch { 1137 content: url(fab/images/patriarch.png); 1138} 1139 1140.icon-pedigree { 1141 content: url(fab/images/pedigree.png); 1142} 1143 1144.icon-sfamily { 1145 content: url(fab/images/sfamily.png); 1146} 1147 1148.icon-user_add { 1149 content: url(fab/images/user_add.png); 1150} 1151 1152/* Census assistant */ 1153.wt-census-assistant-form-control:focus { 1154 min-width: 12rem; 1155} 1156 1157/* Some blocks show a reduced version on the right-hand side. */ 1158.wt-side-blocks .wt-side-block-optional { 1159 display: none !important; 1160} 1161 1162/* my page chart enhancements */ 1163.wt-block-content-charts { 1164 overflow: auto; 1165} 1166 1167/* Some charts are wider than the page. */ 1168.wt-chart { 1169 overflow-x: auto; 1170 overflow-y: hidden; 1171} 1172 1173/* Some menus (e.g. languages) can be longer than a page */ 1174.dropdown-menu { 1175 max-height: 30rem; 1176 overflow-x: hidden; 1177} 1178 1179/* Forms */ 1180.col-form-label { 1181 font-weight: bold; 1182} 1183