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