xref: /webtrees/resources/css/_chart-interactive.css (revision 4e54fb47ea2fc584c07c0c135853d49a85735c1a)
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 <http://www.gnu.org/licenses/>.
14 */
15
16/*
17 * Interactive tree
18 *
19 * wt-chart, wt-chart-interactive
20 */
21
22.tv_out {
23    position: relative;
24    overflow: hidden;
25    border: thin solid #CCCCCC; /* customizable */
26    /* The chart height can be adjusted to fill the pag */
27    height: 50vh;
28    resize: vertical;
29    min-height: 25vh;
30    max-height: 95vh;
31    background: #E6E6E6; /* customizable */
32    display: -webkit-box;
33    display: -moz-box;
34    display: flex;
35    align-items: center;
36    justify-content: center;
37}
38.tv_out img {
39    border: 0;
40}
41:fullscreen .tv_out {
42    height: 100% !important;
43}
44
45.tv_in {
46    clear: both;
47    cursor: move;
48    display: inline-block; /* prevent from blinking on IE */
49}
50
51.tv_in table.tv_tree,
52.tv_in table.tv_tree tbody,
53.tv_in table.tv_tree tr,
54.tv_in table.tv_tree td {
55    border: 0 none;
56    padding: 0;
57    margin: 0;
58    background: none;
59    font-size: 11px;
60}
61.tv_in table.tv_tree {
62    border-collapse: collapse;
63}
64
65#tvbCompact {
66    background-image: url(images/compact.png);
67}
68
69/* Border (also have class table.tv_tree) */
70table#tvTreeBorder td#tv_tree_topleft {
71    background: none;
72}
73table#tvTreeBorder td#tv_tree_top {
74    background: none;
75}
76table#tvTreeBorder td#tv_tree_top div{
77    font-family: Arial,Verdana,sans-serif;
78    font-size: 18px;
79}
80table#tvTreeBorder td#tv_tree_topright {
81    background: none;
82}
83table#tvTreeBorder td#tv_tree_left {
84    background: none;
85}
86table#tvTreeBorder td#tv_tree_right {
87    background: none;
88}
89table#tvTreeBorder td#tv_tree_bottomleft {
90    background: none;
91}
92table#tvTreeBorder td#tv_tree_bottom {
93    background: none;
94}
95table#tvTreeBorder td#tv_tree_bottomright {
96    background: none;
97}
98/* tree */
99table#tvTreeBorder td,
100#tv_tree {
101    background: none;
102}
103
104/* horizontal and vertical lines color */
105#tv_tree div.tv_vline,
106#tv_tree div.tv_hline {
107    background-color: #81A9CB; /* customizable :should be the same color than in background images of td.tv_vline_x */
108}
109
110/* TD container for a vertical line */
111#tv_tree table.tv_tree td.tv_vline {
112    width: 1px;
113    background: repeat-x 50% 50%;
114    height: 100%; /* required */
115}
116#tv_tree table.tv_tree td.tv_vline_h {
117    background-image: url(images/vline.gif); /* customizable: image color must be the same color than div.tv_vline and div.tv_hline */
118}
119#tv_tree table.tv_tree td.tv_vline_t {
120    vertical-align: bottom;
121    background-image: url(images/vline_t.gif); /* customizable: image color must be the same color than div.tv_vline and div.tv_hline */
122}
123#tv_tree table.tv_tree td.tv_vline_b {
124    vertical-align: top;
125    background-image: url(images/vline_b.gif); /* customizable: image color must be the same color than div.tv_vline and div.tv_hline */
126}
127#tv_tree table.tv_tree td.tv_vline_c,
128.tv_in table.tv_tree td.tv_vline_h {
129    vertical-align: middle;
130}
131#tv_tree table.tv_tree td.tv_vline_c {
132    height: 1px;
133}
134/* vertical line drawing */
135#tv_tree table.tv_tree div.tv_vline {
136    width: 1px;
137}
138#tv_tree table.tv_tree div.tv_vline_t,
139#tv_tree table.tv_tree div.tv_vline_b {
140    height: 50%;
141}
142#tv_tree table.tv_tree div.tv_vline_c {
143    height: 1px;
144    overflow: hidden; /* required for IE */
145}
146#tv_tree table.tv_tree div.tv_vline_h {
147    height: 100%;
148}
149
150/* horizontal line drawing */
151#tv_tree td.tv_hline,
152#tv_tree div.tv_hline {
153    overflow: hidden; /* required for IE */
154    width: 8px; /* customizable */
155}
156#tv_tree div.tv_hline {
157    height: 1px;
158}
159
160/* Person or couple(s) box style */
161#tv_tree div.tv_box {
162    border: thin outset #81A9CB; /* customizable */
163    background: #fffdfd; /* customizable */
164    margin-top: 2px;
165    margin-bottom: 2px;
166    padding: 0;
167    width: 180px; /* customizable:initial box width */
168    cursor: help; /* customizable */
169    border-collapse: collapse; /* required */
170    border-radius: 4px; /* customizable */
171    box-shadow: 1px 1px 2px #cfcfdf; /* customizable */
172}
173#tv_tree div.boxExpanded {
174    width: 250px; /* customizable:initial expanded box width */
175}
176#tv_tree div.tv_box div.tvM {
177    background: #f5fdff; /* customizable */
178    color: #220000; /* customizable */
179}
180#tv_tree div.tv_box div.tvF {
181    background: #fff8f5; /* customizable */
182    color: #000022; /* customizable */
183}
184#tv_tree div.tv_box span.tvSexSymbol {
185    font-weight: bold;
186    font-family: x-large, serif; /*Arial Unicode MS, monospace; /* customizable, BUT test required for ALL browsers */
187    vertical-align: top;
188    margin: 1px;
189}
190#tv_tree div.tv_box span.tvM {
191    color: #8f8fdf; /* customizable */
192}
193#tv_tree div.tv_box span.tvF {
194    color: #df8f8f; /* customizable */
195}
196
197#tv_tree div.tv_box div.tvM,
198#tv_tree .tv_box div.tvF {
199    clear: both;
200    border: 0;
201    margin: 0;
202    padding: 1px 4px;
203    border-radius: 4px; /* customizable */
204}
205#tv_tree div.tv_box i.dates {
206    float: right;
207    font-size: 75%;
208    margin-left: 4px;
209}
210#tv_tree div.tv_box img.tv_treelink {
211    height: 15px;
212    width: 15px;
213    float: right;
214}
215#tv_tree div.tv_box img.tv_box_loading {
216    height: 12px;
217    width: 12px;
218    margin: 2px;
219    float: right;
220}
221#tv_tree div.tv_box div.tv_person_expanded {
222    min-height: 55px;
223    padding: 2px;
224}
225#tv_tree div.tv_box img {
226    float: left;
227    margin: 2px;
228    max-height: 50px;
229    max-width: 80px;
230    width: auto;
231}
232#tv_tree div.tv_box .icon-silhouette {
233    float: left;
234}
235#tv_tree div.tv_box div.tv_person_expanded a {
236    font-weight: bold;
237}
238
239/* The toolbox style. Button's images come from the active theme */
240#tv_tools,
241#tvStylesSubmenu {
242    display: inline-block;
243    position: absolute;
244    left: 0;
245    top: 0;
246    padding: 0;
247    margin: 0; /* required */
248    z-index: 90; /* should be < 100 because 100 is the z-index of WT menus */
249    background-color: #efefef; /* customizable */
250    border: 1px outset #dfdfdf; /* customizable */
251    border-radius: 4px; /* customizable */
252    box-shadow: 1px 1px 2px #cfcfdf; /* customizable */
253}
254
255/* styles submenu */
256#tvStylesSubmenu {
257    display: none;
258    left: 0;
259    top: 0;
260    z-index: 91; /* just over tv_tools */
261}
262
263#tv_tools ul {
264    list-style: none;
265    margin: 0;
266    padding: 0; /* required */
267}
268#tv_tools li.tv_button {
269    float: left;
270    position: relative;
271    padding: 0; /* required */
272    margin: 0;
273    width: 24px;
274    height: 24px;
275    text-align: center;
276    vertical-align: middle;
277    border: thin solid #efefef; /* customizable */
278    background-color: #efefef; /* customizable */
279    border-radius: 4px;
280}
281#tvStylesSubmenu li.tv_button {
282    float : none;
283}
284#tv_tools li.tv_button a {
285    margin: 0;
286    display: block;
287}
288#tv_tools li.tv_button:hover {
289    border: thin outset #fdfffd; /* customizable */
290    cursor: pointer;
291}
292#tv_tools li.tvPressed {
293    border: thin inset #ffffff; /* customizable */
294}
295#tv_tools ul li img {
296    border: none;
297    margin: 0;
298    padding: 0;
299    width: 22px;
300    height: 22px;
301    cursor: pointer;
302    text-align: center;
303    vertical-align: middle;
304}
305#tv_tools ul li a.help img.icon {
306    margin: 3px 0 0;
307    padding: 0;
308    width: 15px;
309    height: 15px;
310}
311
312#tvToolsHandler {
313    float: left;
314    cursor: move;
315    height: 22px;
316    width: 2px;
317    border: thin inset #f6f6f6; /* customizable */
318    margin: 2px;
319    overflow: hidden; /* required for IE */
320}
321
322#tvToolsHandler:hover {
323    border: thin outset #f6f6f6; /* customizable */
324}
325
326
327#tv_tree div.tv_box div.tvM,
328#tv_tree div.tv_box div.tvF {
329    background: none;
330    color: #000;
331    border: 0;
332    margin: 0;
333    padding: 0 4px;
334}
335
336.tvM {background-color: #DDF !important;}
337.tvF {background-color: #FDD !important;}
338
339.dashed {border-top: thin dashed #81A9CB !important;}
340