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