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 padding: 0.25rem; 498} 499 500.news_title { 501 font-weight: bold; 502 font-size: 14px; 503} 504 505.news_date { 506 margin-bottom: 12px; 507} 508 509.current_day { 510 font-weight: bold; 511 font-size: 16px; 512} 513 514.cal_day { 515 font-weight: bold; 516} 517 518.rtl_cal_day { 519 color: #00f; 520 font-weight: bold; 521} 522 523#user-page h1 { 524 margin: 0.25em auto 0.6em; 525} 526 527.tvertline { 528 vertical-align: bottom; 529} 530 531#childbox { 532 padding: 5px; 533 position: absolute; 534 display: none; 535 text-align: start; 536 white-space: nowrap; 537 top: 20px; 538 left: 0; 539} 540 541.layout3 #childbox { 542 top: auto; 543 bottom: 20px; 544} 545 546.person0 { 547 background-color: #aaf; 548 vertical-align: top; 549} 550 551.person1 { 552 background-color: #afa; 553 vertical-align: top; 554} 555 556.person2 { 557 background-color: #faa; 558 vertical-align: top; 559} 560 561.person3 { 562 background-color: #55f; 563 vertical-align: top; 564} 565 566.person4 { 567 background-color: #f55; 568 vertical-align: top; 569} 570 571.person5 { 572 background-color: #5f5; 573 vertical-align: top; 574} 575 576.starredname { 577 text-decoration: underline; 578} 579 580.search_hit { 581 background-color: #ff0; 582} 583 584.descriptionbox { 585 font-weight: bold; 586 background-color: #ccc; 587 vertical-align: top; 588} 589 590.descriptionbox { 591 font-size: 14px; 592 background-color: #ccc; 593 vertical-align: top; 594 padding: 3px; 595} 596 597.optionbox { 598 background-color: #ddd; 599 color: #000; 600 vertical-align: top; 601 white-space: nowrap; 602 padding: 3px; 603} 604 605.red { 606 color: #f00; 607} 608 609.wt-associate-fact, 610.wt-relation-fact, 611.wt-historic-fact { 612 opacity: 0.8; 613} 614 615.messagebox { 616 background-color: #bce; 617} 618 619/* ---Pending edits--- */ 620.wt-new { 621 outline: solid #00f 1px; 622} 623 624.wt-old { 625 outline: solid #f00 1px; 626} 627 628.tag_cloud { 629 text-align: center; 630} 631 632.tag_cloud a { 633 white-space: nowrap; 634} 635 636.nowrap { 637 white-space: nowrap; 638} 639 640.wrap { 641 white-space: normal; 642} 643 644.statistics-page { 645 text-align: center; 646} 647 648.gchart { 649 border: 0; 650} 651 652#facts_content dd { 653 float: left; 654 width: 70%; 655} 656 657/* this keeps the tag color the same when it is a link as when not */ 658 659.place { 660 padding-top: 5px; 661} 662 663.filtersH, 664.filtersF { 665 margin: 4px; 666} 667 668.filtersH img { 669 margin-bottom: 2px; 670} 671 672.list-charts { 673 text-align: center; 674} 675 676#place-hierarchy h2, 677#place-hierarchy h4 { 678 text-align: center; 679} 680 681.user_welcome_block table, 682.gedcom_block_block table { 683 margin: auto; 684} 685 686.user_welcome_block td, 687.gedcom_block_block td { 688 width: 33%; 689 text-align: center; 690 vertical-align: top; 691} 692 693/* ==== FAQ table styles ===== */ 694table.faq { 695 background-color: #ddd; 696 margin: 5px 0 50px 5px; 697 width: 98%; 698} 699 700table.faq tr:nth-child(odd) td { 701 background-color: #eee; 702} 703 704div.faq_title { 705 background-color: #ddd; 706 margin: 1em 0; 707 padding: .25em; 708 font-weight: bold; 709 width: 98%; 710} 711 712div.faq_body { 713 clear: both; 714 padding: 0 1em; 715} 716 717.faq_top { 718 float: right; 719} 720 721/* === Positioning edit, copy, delete links === */ 722/* General use */ 723.editfacts { 724 clear: left; 725 padding-top: 15px; 726} 727 728#indi_note { 729 margin: 0 0 5px; 730} 731 732.indi_table { 733 clear: left; 734} 735 736#indi_note .fact_NOTE { 737 float: left; 738 margin: 0 5px 0 0; 739} 740 741#indi_note .fact_SOUR { 742 margin: 3px 0; 743} 744 745#indi_note .fact_SOUR a { 746 font-size: 100%; 747} 748 749#indi_note .fact_NOTE, 750#indi_note .fact_SOUR { 751 clear: both; 752} 753 754.odometer { 755 font-family: courier, monospace; 756 font-weight: bold; 757 background: #000; 758 color: #fff; 759} 760 761.upcoming_events_block button, 762.todays_events_block button { 763 margin: 0 20px; 764} 765 766/* Sidebar - Family navigator */ 767.wt-family-navigator-dropdown { 768 background: #eee; 769} 770 771.wt-family-navigator-dropdown-heading { 772 font-weight: bold; 773 font-size: inherit; 774 color: inherit; 775} 776 777/* Sidebar - Descendants */ 778#sb_content_descendancy { 779 margin-top: 5px; 780} 781 782#sb_desc_content { 783 margin-left: 3px; 784 font-size: 0.8em; 785} 786 787#sb_desc_content ul { 788 padding: 0; 789 margin: 0; 790} 791 792.sb_desc_indi_li { 793 list-style-type: none; 794} 795 796/* Individuals and Families */ 797#sidebar-content-individuals, 798#sidebar-content-families { 799 margin-top: 5px; 800} 801 802.sb_indi_surname_li, 803.sb_fam_surname_li { 804 list-style-image: url(icons/plus.png); 805} 806 807.name_tree_div ul { 808 padding: 0; 809 margin: 0; 810} 811 812.name_tree_div li { 813 list-style: none; 814 margin: 0; 815 padding: 0; 816} 817 818/* Clippings */ 819#sb_clippings_content ul { 820 padding: 0; 821 margin: 0; 822} 823 824#sb_clippings_content li { 825 list-style: none; 826 margin: 0; 827 padding: 0; 828 white-space: nowrap; 829} 830 831/* Stories module */ 832.story_title { 833 padding-top: 12px; 834 font-size: 13px; 835 height: 32px; 836 font-weight: bold; 837} 838 839.story_body { 840 padding: 20px; 841 white-space: normal; 842} 843 844.story_edit { 845 padding: 12px; 846} 847 848/*-- Fan chart ---- */ 849.fan_chart_menu { 850 background: #fff; 851 position: absolute; 852 display: none; 853 z-index: 100; 854} 855 856#fan_chart ul { 857 list-style-type: none; 858 margin: 0; 859} 860 861/* Lifespans chart */ 862.wt-lifespans-subtitle { 863 text-align: center; 864} 865 866.wt-lifespans-scale { 867 white-space: nowrap; 868} 869 870.wt-lifespans-decade { 871 width: 70px; 872 height: 60px; 873 display: inline-block; 874 background-image: url(images/lifespan-decade.png); 875 background-position-y: bottom; 876 background-repeat: no-repeat; 877 background-size: 70px 37px; 878} 879 880.wt-lifespans-individuals { 881 background: #fafafa; 882} 883 884.wt-lifespans-individual { 885 886} 887 888.wt-lifespans-summary { 889 background: #ffffff; 890 border: thin solid #000; 891 z-index: 1; 892} 893 894.wt-lifespans-summary-link { 895 font-weight: bold; 896} 897 898/*-- timeline --*/ 899#timeline_chart { 900 position: relative; 901 top: 0; 902 left: 0; 903} 904 905/*-- Relationship ---- */ 906.wt-relationship-chart .hline-text, 907.wt-relationship-chart .vline-text { 908 font-size: 12px; 909} 910 911/* 912 * Any element that is loaded dynamically has the class wt-ajax-load. 913 * We can provide a "loading" placeholder for empty elements with this class. 914 */ 915.wt-ajax-load:empty { 916 height: 32px; 917 background: url(images/loading-32x32.gif) no-repeat 50% 50%; 918} 919 920/* 921 * Default icons are provided by FontAwesome. 922 */ 923.wt-icon-anniversary { 924} 925 926.wt-icon-arrow-down { 927} 928 929a > .wt-icon-arrow-down:hover { 930} 931 932.wt-icon-arrow-left { 933} 934 935a > .wt-icon-arrow-left:hover { 936} 937 938.wt-icon-arrow-right { 939} 940 941a > .wt-icon-arrow-right:hover { 942} 943 944.wt-icon-arrow-up { 945} 946 947a > .wt-icon-arrow-up:hover { 948} 949 950.wt-icon-bing-maps { 951} 952 953.wt-icon-calendar { 954} 955 956.wt-icon-collapse { 957} 958 959.wt-icon-coordinates { 960} 961 962.wt-icon-copy { 963} 964 965.wt-icon-delete { 966} 967 968.wt-icon-edit { 969} 970 971.wt-icon-expand { 972} 973 974.wt-icon-family { 975} 976 977.wt-icon-google-maps { 978} 979 980.wt-icon-help { 981} 982 983.wt-icon-individual { 984} 985 986.wt-icon-keyboard { 987} 988 989.wt-icon-media { 990} 991 992.wt-icon-note { 993} 994 995.wt-icon-openstreetmap { 996} 997 998.wt-icon-preferences { 999} 1000 1001.wt-icon-reorder { 1002} 1003 1004.wt-icon-repository { 1005} 1006 1007.wt-icon-sex-f { 1008 color: var(--sex-f-fg); 1009} 1010 1011.wt-icon-sex-m { 1012 color: var(--sex-m-fg); 1013} 1014 1015.wt-icon-sex-u { 1016 color: var(--sex-u-fg); 1017} 1018 1019.wt-icon-sex-x { 1020 color: var(--sex-u-fg); 1021} 1022 1023.wt-icon-source { 1024} 1025 1026.wt-icon-submitter { 1027} 1028 1029.wt-icon-warning { 1030} 1031 1032.wt-icon-zoom-in { 1033} 1034 1035.wt-icon-zoom-out { 1036} 1037 1038/* Miscellaneous images */ 1039.icon-cfamily { 1040 content: url(fab/images/cfamily.png); 1041} 1042 1043.icon-childless { 1044 content: url(images/childless.png); 1045} 1046 1047.icon-children { 1048 content: url(images/children.png); 1049} 1050 1051.icon-edit_indi { 1052 content: url(fab/images/edit_indi.png); 1053} 1054 1055.icon-fam-list { 1056 content: url(fab/images/sfamily.png); 1057} 1058 1059.icon-indi-list { 1060 content: url(fab/images/indis.png); 1061} 1062 1063.icon-loading-small { 1064 content: url(images/indicator.gif); 1065} 1066 1067.icon-minus { 1068 content: url(icons/minus.png); 1069} 1070 1071.icon-mypage { 1072 content: url(fab/images/mypage.png); 1073} 1074 1075.icon-pin-in { 1076 content: url(fab/images/pin-in.png); 1077} 1078 1079.icon-pin-out { 1080 content: url(fab/images/pin-out.png); 1081} 1082 1083.icon-plus { 1084 content: url(icons/plus.png); 1085} 1086 1087.icon-resn-confidential { 1088 content: url(images/resn_confidential.png); 1089} 1090 1091.icon-resn-locked { 1092 content: url(images/resn_locked.png); 1093} 1094 1095.icon-resn-none { 1096 content: url(images/resn_none.png); 1097} 1098 1099.icon-resn-privacy { 1100 content: url(images/resn_privacy.png); 1101} 1102 1103.icon-rings { 1104 content: url(images/rings.png); 1105} 1106 1107.icon-selected { 1108 content: url(fab/images/selected.png); 1109} 1110 1111/* Silhouettes on charts */ 1112.icon-silhouette-F { 1113 content: url(fab/images/silhouette_female_small.png); 1114} 1115 1116.icon-silhouette-M { 1117 content: url(fab/images/silhouette_male_small.png); 1118} 1119 1120.icon-silhouette-U { 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/* Fit thumbnail into parent on charts */ 1174.select2-selection.select2-selection--single { 1175 min-height: 36px; 1176 height: auto; 1177 padding: 2px 0; 1178} 1179 1180.select2-container .select2-selection--single .select2-selection__rendered { 1181 padding-left: 2px; 1182} 1183 1184.select2-selection--single .NAME { 1185 padding-left: 4px; 1186} 1187 1188/* Some menus (e.g. languages) can be longer than a page */ 1189.dropdown-menu { 1190 max-height: 30rem; 1191 overflow-x: hidden; 1192} 1193 1194/* Forms */ 1195.col-form-label { 1196 font-weight: bold; 1197} 1198