@charset "UTF-8";

html
{
	--treeBackColor: #FFF8DC;
	--treeWidth: 6000px;
	
	--llineLineWidth: 4px;
	--llineLineColor: #372815;
	--boxBorderWidth: 3px;
	--boxBorderColor: #372815;

	--llineLineWidthEmpty: 1px;
	--llineLineColorEmpty: rgba(125,125,125,0.25);
	--boxBorderWidthEmpty: 1px;
	--boxBorderColorEmpty: rgba(125,125,125,0.25);

	--boxBorderColorExistinglink: #005200;
	--boxBorderColorMissinglink: #c80000;
	
	--lbox1Height: 60px;
	--lbox2Height: 70px;
	--mconnHeight: 90px;
}

html.displayonly
{
	--xtreeFormatFactor: 2.6;
	--treeMarginX: 100px;
	--treeMarginY: 100px;
	--treeMarginExtraX: 0px;
	--treeMarginExtraY: 0px;
}
html.displayonly.includebabe
{
	--xtreeFormatFactor: 1.7;
}

html.printonly
{
	--treeFormatFactor: 1.5;
	--treeMarginX: 150px;
	--treeMarginY: 0;
	--treeMarginExtraX: 0px;
	--treeMarginExtraY: 0px;

	--lbox1Height: 70px;
	--lbox2Height: 60px;
}

html.printlightonly
{
	--treeBackColor: inital;
	--xtreeFormatFactor: 1.5;
	--treeMarginX: 20px;
	--treeMarginY: 0px;
	--treeMarginExtraX: 0px;
	--treeMarginExtraY: 140px;
}

* { box-sizing: border-box; margin: 0; padding: 0; position: relative; }

body { font-family: 'Quicksand', sans-serif; text-align: center; background-color: var(--treeBackColor); }
body { margin: var(--treeMarginExtraY) var(--treeMarginExtraX); }
.body_background::after
{
	content: "";
	background-image: url(imgs/20200618_170138__mod.jpg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	position: fixed;
	z-index: -1;   
	transition-delay: 0.5s; /* this needs to come before the transition property, otherwise Safari crashes */
	transition: opacity 3s;
	-webkit-transition: opacity 3s;
}
.body_background_transp::after
{
	opacity: 0.2;
}

table { border-collapse: collapse; }

.infocontainer { display: none; }
.js_container_hidden { display: none; }

a { text-decoration: none; color: inherit; }
a:focus { outline: none; }
textarea, select { font-family: inherit; }

#loading_button,
#zoom_minus_button,
#zoom_plus_button,
#menu_button { display: none; position: fixed; top: 0px; margin: 5px 5px 0 0; padding: 0 8px; height: 48px; width: 45px; cursor: pointer; font-size: 1.85em; line-height: 1.6em; background-color: rgba(0, 0, 0, 0.1); border-radius: 2px; }
#zoom_minus_button { right: 100px; }
#zoom_plus_button { right: 50px; }
#loading_button,
#menu_button { right: 0px; }
#loading_button { z-index: 100; }

#zoom_minus_button.page_button_visible,
#zoom_plus_button.page_button_visible,
#loading_button.page_button_visible,
#menu_button.page_button_visible { display: block; }

#zoom_minus_button:hover,
#zoom_plus_button:hover,
#menu_button:hover { background-color: rgba(0, 0, 0, 0.3); }

#menu_button.menu_visible { z-index: 100; background-color: rgba(255, 255, 255, 0.95); }
#menu_overlay { z-index: 100; display: block; position: fixed; top: 50px; left: 10000px; right: -10000px; margin: 0 5px 5px 5px; padding: 2px; min-width: 600px; background-color: rgba(255, 253, 244, 0.95); border-radius: 2px; }
#menu_overlay.menu_visible { left: initial; right: 0; }

#menu_overlay .menu_alllineswrapper { display: flex; flex-direction: column; height: calc(100vh - 220px); min-height: 350px; max-height: 600px; }
#menu_overlay .menu_button_linewrapper { display: flex; flex: 1; }
#xmenu_overlay .f_menu_button { display: inline-block; margin: 2px; padding: 7px 10px; line-height: 0.5em; }
#menu_overlay .f_menu_button { display: flex; flex-direction: column; justify-content: space-around; margin: 2px; }
#menu_overlay .f_menu_button_left { width: calc(100% - 54px - 4px); }
#menu_overlay .f_menu_button_right { width: 50px; }
#menu_overlay .f_menu_button_full { width: calc(100% - 4px); }

div.housechronics { margin-bottom: 10px; }
div.hanging { display: flex; padding: 0.5em 0; line-height: 1.4em; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
.housechronics_ownerrow > div.hanging:last-of-type { border-bottom: 0; } /* do it like this to clear border only for immediate child of ownerrow - otherwise it clears also last border within relevant content boxes */
div.hanging.open { border-bottom: 0; }
div.hanging .term { margin-right: 2em; font-family: 'B612 Mono'; font-size: 0.85em; padding-top: 0.2em; }
div.hanging .text br { display: block; /* makes it have a width */ content: ""; /* clears default height */ margin-top: 0.25em; }

button, input, textarea, select { border: 0px; font-family: inherit; font-size: inherit; -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-tap-highlight-color: transparent; outline: none; }

ul { text-align: left; }
ul li{ margin-left: 15px; padding: 1px 0; }

#menu_overlay .f_menu_button_left,
#menu_overlay .f_menu_button_right,
#menu_overlay .f_menu_button_full,
.f_but,
.f_link { background-color: #ffe476; border: 1px solid #ffd010; border-radius: 4px; text-align: center; }
#menu_overlay .f_menu_button_left:hover,
#menu_overlay .f_menu_button_right:hover,
#menu_overlay .f_menu_button_full:hover,
.f_but:hover,
.f_link:hover { background-color: #ffd010; }

.f_fie { border: 1px solid #ffeea9; border-radius: 4px; padding: 12px 5px; background-color: #fff; }
.f_fie_chk { border: 1px solid #ffeea9; border-radius: 4px; background-color: #fffefb; }
.f_fie_radio { border: 1px solid #ffeea9; background-color: #fffefb; }
.f_link { margin: 5px; padding: 5px 10px; display: inline-block; }

#select_quick_person_wrapper,
#customselect_quick_person_wrapper,
#select_quick_event_wrapper,
#customselect_quick_event_wrapper { margin: 5px 2px 8px 2px; }

/*
#select_quick_person option.filtered { color: rgba(125,125,125,0.5); }
#select_quick_person option.isselected { background-color: #ffcc66; }
#select_quick_person option.isselectedlinked { background-color: rgba(255, 204, 102, 0.4); }
*/

div.f_fie_customselect_wrapper { }
div.f_fie_customselect_trigger { display: block; text-align: left; }
div.f_fie_customselect_search_wrapper { }
input.f_fie_customselect_search { display: block; width: 100%; margin: 3px 0; background-image: url(imgs/searchicon.png); background-position: 14px 12px; background-repeat: no-repeat; padding-left: 45px; padding-right: 45px; }
span.f_fie_customselect_search_delete { position: absolute; right: 10px; top: 8px; padding: 5px; cursor: pointer; }
div.f_fie_customselect_box { display: block; right: -10000px; position: absolute; background-color: #fff; width: 100%; z-index: 1; text-align: left; border-radius: 4px; overflow: hidden; }
div.f_fie_customselect_box.show { right: 0; }
div.f_fie_customselect_options { display: block; max-height: calc(100vh - 180px); overflow-x: hidden; overflow-y: scroll; border-radius: 4px; border: 1px solid #ffeea9; font-size: 0.9em; }
div.f_fie_customselect_options:focus { outline: none; }
div.f_fie_customselect_options.ishidden { display: none; }
div.f_csol.ishidden { display: none; }
div.f_csol.isselected { background-color: #ffcc66; }
div.f_csol.isselectedlinked { background-color: rgba(255, 204, 102, 0.4); }
a.f_fie_customselect_defaultoption { width: 100%; }
a.f_fie_customselect_defaultoption,
a.f_cso { display: inline-block; padding: 10px 12px; text-decoration: none; white-space: nowrap; line-height: 1em; cursor: pointer; overflow: hidden; vertical-align: top; } /* vertical-align: top needed as overflow: hidden gives extra space below */
a.f_cso.full { width: 100%; }
a.f_cso.front { width: 76%; }
a.f_cso.back1 { width: 8%; text-align: center; }
a.f_cso.back2 { width: 8%; text-align: center; }
a.f_cso.back3 { width: 8%; text-align: center; }
a.f_cso .rot{ display: inline-block; transform: rotate(90deg); }
a.f_cso.filtered { color: rgba(125,125,125,0.5); }
a.f_cso.filtered img { opacity: 0.3; }
a.f_cso.focused,
a.f_fie_customselect_defaultoption:hover,
a.f_cso:hover { background-color: #ecdfc6; }
a.f_cso .ilby { font-size: 0.9em; opacity: 0.8; }

/*
Names have been minimized to reduce data amount in menu
former (full) names:
f_csol -> f_fie_customselect_optionline
f_cso -> f_fie_customselect_option
ilby -> inlinebirthyear
*/

.autocomplete_parent { overflow: hidden; }
.autocomplete_parent.show { overflow: visible; }
.autocomplete_parent      div.f_fie_autocomplete_box { display: block; right: -10000px; position: absolute; background-color: #fff; width: 100%; z-index: 1; text-align: left; border-radius: 4px; overflow: hidden; }
.autocomplete_parent.show div.f_fie_autocomplete_box { right: 0; }
.autocomplete_parent div.f_fie_autocomplete_options { display: block; max-height: 600px; overflow: hidden; border-radius: 4px; border: 1px solid #ffeea9; font-size: 0.9em; }
.autocomplete_parent div.f_fie_autocomplete_options:focus { outline: none; }
.autocomplete_parent div.f_fie_autocomplete_optionline.ishidden { display: none; }
.autocomplete_parent div.f_fie_autocomplete_optionline.isselected { background-color: #ffcc66; }
.autocomplete_parent div.f_fie_autocomplete_optionline.isselectedlinked { background-color: rgba(255, 204, 102, 0.4); }
.autocomplete_parent a.f_fie_autocomplete_option { display: inline-block; padding: 10px 12px; text-decoration: none; white-space: nowrap; line-height: 1em; cursor: pointer; overflow: hidden; vertical-align: top; } /* vertical-align: top needed as overflow: hidden gives extra space below */
.autocomplete_parent a.f_fie_autocomplete_option.full { width: 100%; }
.autocomplete_parent a.f_fie_autocomplete_option.focused,
.autocomplete_parent a.f_fie_autocomplete_option:hover { background-color: #ecdfc6; }

.countinfo_wrapper { margin: 8px 0; }
.countinfo { font-size: 0.8em; margin: 2px 0; font-weight: 500; }

.f_linewrapper { margin: 15px 0; }

.f_inlinewrapper { display: inline-block; vertical-align: top; position: relative; }

.f_inlinewrapper .smallplaceholder { position: absolute; top: 1px; right: 5px; font-size: 0.75em; opacity: 0.5; }
.f_inlinewrapper .smallplaceholder_hidden { display: none; }

.f_labelwrapper { display: inline-block; }
.f_label { display: block; margin-top: 0.6em; padding: 0 3px; text-align: left; font-weight: 600; }
.f_label_nospace { margin-top: 0; }

.f_radiowrapper { display: inline-block; text-align: left; }
.f_radioitemwrapper { display: block; margin: 1px 0; }
.f_radioitemwrapper label { margin-left: 0.5em; }

.f_radioitemwrapper_inline { display: inline-block; margin: 1px 5px; }
.f_radioitemwrapper_inline label { margin-left: 0.5em; }

.maincaption { margin: 0; padding: 14px 0; font-size: 2em; color: #a33; }
.maincaption_inline { margin: 0; padding: 0; font-size: 2em; color: #a33; display: inline-block; }
.pagecaption { margin: 0; padding: 14px 0; font-family: Merienda; font-size: 30px; xfont-weight: 600; color: #6f2121; fill: #6f2121; }
.errors { color: #d60000; }

.headline { width: calc(var(--treeWidth) + 2 * var(--treeMarginX)); display: inline-flex; text-align: left; padding: 0 10px; }
.linkline { width: calc(var(--treeWidth) + 2 * var(--treeMarginX)); display: inline-flex; text-align: left; font-size: 1.3em; padding: 10px 10px; }
.countline { width: calc(var(--treeWidth) + 2 * var(--treeMarginX)); display: inline-flex; text-align: left; font-size: 1.3em; padding: 0px 15px 10px 15px; }
.countline span { display: inline-block; }
.countline span.sep { margin: 0 10px; }

.clipboard_cpy_btn { cursor: copy; padding: 0 2px; border-radius: 2px; }
.clipboard_cpy_btn:active { background-color: rgba(0, 0, 0, 0.2); }

div.container { margin: 0px auto; }
div.container .remark { text-align: center; }
div.container .remarkinner { margin: 40px 5px 20px 5px; }
div.container .remarkinnersmall { display: inline-block; margin: 40px 5px 20px 5px; font-size: 0.8em; font-style: italic; }
div.container .remark img { max-width: 60%; opacity: 90%; margin: 10px 0 20px 0; }

div.container_login { text-align: center; padding: 20px; width: 300px; max-width: 100%; }
div.container_login p { margin: 1em 0px; }
div.container_login .f_fie,
div.container_login .f_but { padding: 10px 20px; width: 100%; }

div.container_text .caption { margin: 10px 0; padding: 4px 0; font-size: 24px; font-weight: 500; border-bottom: 2px solid #6f2121; }
div.container_text .inlinecaption { text-decoration: underline; }
div.container_text .text { margin: 10px 0; text-align: center; }
div.container_text .textinner { display: inline-block; text-align: left; }
div.container_text table { margin: 10px 0 20px 0; width: 100%; }
div.container_text table th { background-color: rgba(100, 100, 100, 0.1); font-weight: 600; }
div.container_text table th,
div.container_text table td { padding: 5px 10px; }
div.container_text table .key { text-align: left; white-space: nowrap; }
div.container_text table .val { text-align: center; }

div.container_list_block_wrapper { max-width: 900px; overflow: hidden; padding: 0 10px; }
div.container_list_block { margin: 10px auto 20px auto; overflow-x: auto; }
div.container_list_block_tablewrapper { display: inline-block; width: 100%; }
div.container_list_block_tablewrapper table { margin-bottom: 20px; }
div.container_list_block_tablewrapper table:last-of-type { margin-bottom: 0; }

div.container_list_inline_wrapper { }
div.container_list_inline { width: 45%; display: inline-block; vertical-align: top; margin: 10px auto 20px auto; padding: 0 10px; }

div.container_list { text-align: left; }
div.container_list_inner { padding: 0 10px; }
div.container_list p { margin: 0; }
div.container_list .list_caption_nme { font-size: 0.95em; font-weight: 500; }
div.container_list .list_caption_nbr { font-size: 0.8em; color: #a33; font-weight: 500; }
div.container_list .list_caption_prf { font-size: 0.85em; }
div.container_list .list_caption_prs { font-size: 0.75em; }
div.container_list .list_caption_dte { font-size: 0.8em; }
div.container_list .list_caption_gcd { font-size: 0.75em; }
div.container_list .list_caption_coordlat,
div.container_list .list_caption_coordlng { font-size: 0.8em; font-weight: 500; }
div.container_list th,
div.container_list td { padding: 2px 16px 2px 2px; }
div.container_list th:last-of-type,
div.container_list td:last-of-type { padding: 2px 2px 2px 2px; }
div.container_list tr td { border-top: 1px solid rgba(0, 0, 0, 0.1); }
div.container_list tr:first-of-type td { border-top: 0; }
div.container_list .caption { margin: 10px 0; padding: 4px 0; font-size: 24px; font-weight: 500; border-bottom: 2px solid #6f2121; }
div.container_list .subcaption { margin: 2px 0; padding: 10px; font-size: 19px; font-weight: 500; font-style: italic; }
div.container_list a.perslink,
div.container_list a.treelink { display: inline-block; padding: 2px 5px 2px 4px; vertical-align: middle; }
div.container_list a.treelink { opacity: 0.5; }
div.container_list a:hover { background-color: rgba(125,125,125,0.2); border-radius: 2px; opacity: 1; }
div.container_list .list_place .empty { background-color: rgba(200, 0, 0, 0.05); }

div.container_list table th { background-color: rgba(100, 100, 100, 0.1); }
div.container_list.container_ancloss th { font-weight: 600; }
div.container_list.container_ancloss .key { white-space: nowrap; }
div.container_list.container_ancloss .val { text-align: right; }
div.container_list.container_records th.key { padding: 0 8px; }
div.container_list.container_records td.key { padding: 0 8px; color: #6f2121; font-weight: 500; }
div.container_list.container_meanvalues th { font-weight: 600; }
div.container_list.container_meanvalues .key { white-space: nowrap; }
div.container_list.container_meanvalues .val { text-align: right; }
div.container_list.container_meanvalues th.key { text-align: center; }
div.container_list.container_meanvalues td.key { text-align: center; padding: 0 8px; color: #6f2121; font-weight: 500; }
div.container_list.container_birthdays { font-size: 15px; }
div.container_list.container_birthdays th { font-weight: 600; }
div.container_list.container_birthdays .key {  }
div.container_list.container_birthdays .val {  }
div.container_list.container_birthdays .valno { text-align: center; }
div.container_list.container_birthdays th.key {  }
div.container_list.container_birthdays td.key { padding: 0 8px; color: #6f2121; font-weight: 500; }

div.container_lastedit { margin: 0px 0 50px 0; }
div.container_lastedit table { margin: 0 auto; text-align: left; }
div.container_lastedit td { padding: 2px 8px 2px 0; }
div.container_lastedit td:last-of-type { padding: 2px 0 2px 0; }
div.container_lastedit tr td { border-top: 1px solid rgba(0, 0, 0, 0.1); }
div.container_lastedit tr:first-of-type td { border-top: 0; }
div.container_lastedit .hist_caption_nme {  }
div.container_lastedit .hist_caption_date { font-size: 0.7em; }
div.container_lastedit .hist_caption_gcd { font-size: 0.8em; font-weight: 600; }
div.container_lastedit .hist_caption_lnk { font-size: 0.8em; font-weight: 600; }
div.container_lastedit a.perslink,
div.container_lastedit a.treelink { display: inline-block; padding: 2px 5px 3px 4px; }
div.container_lastedit a:hover { background-color: rgba(125,125,125,0.2); }

/* remark: scroll container: OUTER: overflow: hidden; INNER: overflow-x: auto; display: inline-block; */

div.container_search_needle { margin: 16px 1px 10px 1px; padding: 0 0 2px 0; border-bottom: 2px solid #a33; color: #a33; font-size: 1.3em; font-weight: 500; }
div.container_search_noresult { margin: 0px 0px 30px 0px; }
span.container_search_opt_cap { font-weight: 500; }
div.container_search_opt { margin: 2px 0; text-align: left; }
div.container_search { width: 1200px; max-width: 100%; margin: 0 auto 20px auto; overflow: hidden; }
div.container_search table { width: 100%; overflow-x: auto; display: inline-block; }
div.container_search tr td { border-top: 0; }
div.container_search .personline { background-color: rgba(0, 0, 0, 0.15); }
div.container_search .personline td { padding: 7px 2px 8px 2px; }
div.container_search .personline .person_data_symbol { padding: 0 2px 0 0; }
div.container_search .personline span.text { display: inline-block; vertical-align: middle; }
div.container_search .fileline { background-color: rgba(0, 0, 0, 0.03); }
div.container_search .fileline td { padding: 6px 2px 8px 2px; }
xdiv.container_search .fileline td { border-top: 0; white-space: nowrap; }
div.container_search .fileline img,
div.container_search .fileline span.text { vertical-align: middle; display: inline-block; white-space: normal; line-height: 0.8; max-width: calc(100% - 60px); }
div.container_search .fileline .search_caption_nme { font-size: 0.85em; }
div.container_search .fileline .search_caption_src { font-size: 0.7em; }
div.container_search .fileline .search_caption_ctt { font-size: 0.7em; font-weight: 500; padding: 8px 0 0 0; display: inline-block; }
div.container_search .fileline .search_caption_tag { font-size: 0.6em; font-style: italic; }
div.container_search .infosline { background-color: rgba(0, 0, 0, 0.03); }
xdiv.container_search .infosline p { margin: 0.25em 0; }
div.container_search .infosline img,
div.container_search .infosline span.text { vertical-align: middle; display: inline-block; white-space: normal; line-height: 0.8; max-width: calc(100% - 60px); }
div.container_search .infosline .search_caption_ctt { font-size: 0.7em; padding: 4px 0; display: inline-block; }
div.container_search .searchhighlight { background-color: #ffcc66; }

div.container_links_wrapper { margin: 0 auto 20px auto; max-width: 800px; display: inline-block; text-align: left; }
div.container_links { margin: 10px auto 20px auto; padding: 0 10px; display: inline-block; }
div.container_links p { margin: 5px 0; padding: 0 3px; text-align: left; }
div.container_links a { border: 1px solid rgba(128, 0, 0, 0.1); border-radius: 2px; }
div.container_links.container_links_colored a { color: #800000; font-weight: 500; }
div.container_links a:hover { background-color: #ddd; }
div.container_links .link_caption_nme { font-weight: 600; }
div.container_links .link_caption_src {  }

div.container_edit { text-align: center; padding: 10px; width: 800px; max-width: 100%; }
div.container_edit p { margin: 1em 0px; }
div.container_edit .f_fie,
div.container_edit .f_but { padding: 10px 10px; width: 100%; }
div.container_edit .f_cap { font-weight: 600; }
div.container_edit .f_inlinewrapper { margin: 0 0.25%; }
div.container_edit .f_inlinewrapper_front,
div.container_edit .f_fie_front,
div.container_edit .f_cap_front { width: 59.5%; display: inline-block; }
div.container_edit .f_inlinewrapper_frontandmiddle,
div.container_edit .f_fie_frontandmiddle,
div.container_edit .f_cap_frontandmiddle { width: 79%; display: inline-block; }
div.container_edit .f_inlinewrapper_middle,
div.container_edit .f_fie_middle,
div.container_edit .f_cap_middle,
div.container_edit .f_inlinewrapper_back,
div.container_edit .f_fie_back,
div.container_edit .f_cap_back { width: 19.5%; display: inline-block; }
div.container_edit .f_fie_middle { vertical-align: top; }
div.container_edit .f_fie_back { vertical-align: -8px; }
div.container_edit .f_fie_center { width: auto; }
div.container_edit textarea.f_fie { min-width: 100%; width: 100%; min-height: 20em; }
div.container_edit option { font-size: 0.75em; }

div.container_edit_inline { text-align: center; padding: 4px; max-width: 100%; }
div.container_edit_inline .f_fie,
div.container_edit_inline .f_but { padding: 10px 10px; max-width: 100%; }
div.container_edit_inline .f_labelwrapper { margin: 0 2px; }
div.container_edit_inline .f_inlinewrapper { margin: 0 2px; }
div.container_edit_inline option { font-size: 0.75em; }

div.container_research_unclear .subcaption { background-color: rgba(200, 200, 200, 1); }
div.container_research_unclear .container_list_inner { background-color: rgba(200, 200, 200, 0.5); }
div.container_research_curriculums .subcaption { background-color: rgba(200, 200, 240, 1); }
div.container_research_curriculums .container_list_inner { background-color: rgba(200, 200, 240, 0.5); }
div.container_research_curriculums table { width: 100%; }
div.container_research_curriculums .already_found { background-color: rgba(200, 255, 200, 0.5); }

div.container_locations { margin: 0 auto 20px auto; max-width: 900px; }
div.container_locations .list_caption_nme { white-space: nowrap; }
div.container_locations a.persinlinelink {}
div.container_locations a.treeinlinelink { padding: 0 0 0 2px; }

div.container_debug { text-align: left; font-size: 14px; }

.displayonly .questionmark,
.printlightonly .questionmark { color: #c00; font-weight: 700; vertical-align: top !important; position: relative; top: -0.2em; padding: 0 2px; text-shadow: 1px 0 #c00; }
.printonly .questionmark { color: #666; font-weight: 700; vertical-align: top !important; position: relative; top: -0.2em; padding: 0 2px; }


.filemarker { position: absolute; }
.filemarker .lnkwrap { display: block; padding: 10px; }
.filemarker .lnkwrap a span { color: #401000; box-shadow: 0 0 5px #000000CC; min-width: 1.3em; text-align: center; overflow: visible; }
.filemarker .lnkwrap .suresrc,
.filemarker .lnkwrap .sureinfo,
.filemarker .lnkwrap .surephoto,
.filemarker .lnkwrap .surephoto:before { background-color: #cc3300; text-shadow: 0 0 5px #ffdfd5; }
.filemarker .lnkwrap .secondarysrc,
.filemarker .lnkwrap .secondaryinfo,
.filemarker .lnkwrap .secondaryphoto,
.filemarker .lnkwrap .secondaryphoto:after { background-color: #ff8000; text-shadow: 0 0 5px #ffe9d5; }
.filemarker .lnkwrap .unsuresrc,
.filemarker .lnkwrap .unsureinfo,
.filemarker .lnkwrap .unsurephoto,
.filemarker .lnkwrap .unsurephoto:before { background-color: #ffbf00; text-shadow: 0 0 5px #fffaea; }

.xhousefilemarker { position: absolute; top: 0; right: 0; }
.housefilemarker .lnkwrap { margin: 0 5px; }
.housefilemarker .lnkwrap span { color: #222222; box-shadow: 0 0 5px #000000CC; text-align: center; overflow: visible; display: inline-block; font-size: 0.8em; }
.housefilemarker .lnkwrap .info,
.housefilemarker .lnkwrap .info:before,
.housefilemarker .lnkwrap .photo,
.housefilemarker .lnkwrap .photo:before { background-color: #cccccc; text-shadow: 0 0 5px #ffdfd5; }

.filemarker .lnkwrap .emptymarker { background-color: transparent; box-shadow: none; border: 1px solid #999; border-radius: 4px; }

.filemarker .lnkwrap .suresrc,
.filemarker .lnkwrap .secondarysrc,
.filemarker .lnkwrap .unsuresrc { padding: 0px 3px 2px 3px; margin: 2px; line-height: 1.1; border-radius: 4px; }

.filemarker .lnkwrap .sureinfo,
.filemarker .lnkwrap .secondaryinfo,
.filemarker .lnkwrap .unsureinfo { padding: 0px 3px 2px 3px; margin: 2px; line-height: 1.2; border-radius: 12px; }

.filemarker .lnkwrap .surephoto,
.filemarker .lnkwrap .secondaryphoto,
.filemarker .lnkwrap .unsurephoto { padding: 0px 3px 4px 3px; margin: 6px 2px 2px 2px; line-height: 0.8; border-radius: 4px; }

.housefilemarker .lnkwrap .info { min-width: 1.2em; padding: 1px 0px 3px 0px; margin: 0px 2px 0px 2px; line-height: 0.8; border-radius: 4px; vertical-align: 1px; font-weight: 600; }
.housefilemarker .lnkwrap .photo { min-width: 1.3em; padding: 0px 4px 3px 4px; margin: 0px 2px 0px 2px; line-height: 0.8; border-radius: 4px; vertical-align: 1px; }

.housefilemarker .lnkwrap .photo:before,
.filemarker .lnkwrap .surephoto:before,
.filemarker .lnkwrap .secondaryphoto:after,
.filemarker .lnkwrap .unsurephoto:before { content: ''; position: absolute; height: 4px; left: 25%; top: -4px; width: 50%; border-radius: 2px 2px 0 0; }


.filemarker.ownfile { top: -24px; right: -24px; }
.filemarker.ownfile a span { display: block; }

.filemarker.commonfile.self { bottom: 38px; left: 50%; }
.filemarker.commonfile.partner { top: 38px; left: 50%; }
.filemarker.commonfile .lnkwrap { margin-left: -50%; margin-right: 50%; }
.filemarker.commonfile .lnkwrap a span { display: inline-block; }


/* DIN Format: 1 / 1.414 */

#treezoomwrapper { transform-origin: 0 0; }

#treezoomwrapper.scale10 { transform: scale(0.1); }
#treezoomwrapper.scale20 { transform: scale(0.2); }
#treezoomwrapper.scale30 { transform: scale(0.3); }
#treezoomwrapper.scale50 { transform: scale(0.5); }
#treezoomwrapper.scale75 { transform: scale(0.75); }
#treezoomwrapper.scale100 { transform: none; }

.treewrapper { font-family: 'Merienda'; }
.printonly .treewrapper { height: calc((var(--treeWidth) + 2 * var(--treeMarginX)) / var(--treeFormatFactor)); display: inline-flex; align-items: center; }
.xprintlightonly .treewrapper { height: calc((var(--treeWidth) + 2 * var(--treeMarginX)) / var(--treeFormatFactor)); display: inline-flex; align-items: center; }
.xdisplayonly .treewrapper { height: calc((var(--treeWidth) + 2 * var(--treeMarginX)) / var(--treeFormatFactor)); }

.tree { width: var(--treeWidth); margin: var(--treeMarginY) var(--treeMarginX); }
.tree.highgen { margin-bottom: 0; }
.tree.highgenabove { margin-top: 0; }

/*
.displayonly .treewrapper.zoom20 .tree {
	-ms-zoom: 0.2;
	-moz-transform: scale(0.2);
	-moz-transform-origin: 0 0;
	-o-transform: scale(0.2);
	-o-transform-origin: 0 0;
	-webkit-transform: scale(0.2);
	-webkit-transform-origin: 0 0;
}
.displayonly .treewrapper.zoom20 { height: calc(((var(--treeWidth) + 2 * var(--treeMarginX)) / var(--treeFormatFactor)) / 5); }

.displayonly .treewrapper.zoom50 .tree {
	-ms-zoom: 0.5;
	-moz-transform: scale(0.5);
	-moz-transform-origin: 0 0;
	-o-transform: scale(0.5);
	-o-transform-origin: 0 0;
	-webkit-transform: scale(0.5);
	-webkit-transform-origin: 0 0;
}
.displayonly .treewrapper.zoom50 { height: calc(((var(--treeWidth) + 2 * var(--treeMarginX)) / var(--treeFormatFactor)) / 2); }
*/

.aline,
.lline { width: 100%; }
.abox { display: inline-block; vertical-align: bottom; white-space: nowrap; xborder: 1px solid #f33; }

.aline.highgen { margin: 15px 0 30px 0; }
.aline.highgen .highgen_handle { cursor: pointer; }
.aline.highgen .highgen_handle.empty { color: rgba(125,125,125,0.25); }
.aline.highgen .highgen_handle .sym { display: block; font-size: 2.2em; font-weight: 700; }
.aline.highgen .highgen_handle .cnt { display: block; font-size: 1.0em; font-weight: 700; margin: -8px 0; }

.aline img.crest { position: absolute; top: -160px; left: calc(50% - 400px); width: 800px; }

.lbox1 { display: block; margin: 0 auto; height: var(--lbox1Height); }
.lbox1.fatherside { border-left: var(--llineLineWidth) solid var(--llineLineColor); }
.lbox1.fatherside.fatherside_empty { border-left: var(--llineLineWidthEmpty) solid var(--llineLineColorEmpty); }
.lbox1.motherside { border-right: var(--llineLineWidth) solid var(--llineLineColor); }
.lbox1.motherside.motherside_empty { border-right: var(--llineLineWidthEmpty) solid var(--llineLineColorEmpty); }
.lbox1.existinglink { border-color: var(--boxBorderColorExistinglink) !important; }
.lbox1.missinglink { border-color: var(--boxBorderColorMissinglink) !important; }

.nohighgen .gen1_conn .lbox1.self { border-bottom: var(--llineLineWidth) solid var(--llineLineColor); }
.nohighgen .gen1_conn .lbox1.partner { border-top: var(--llineLineWidth) solid var(--llineLineColor); }

.gen7_conn .lbox1 { width: 75%; }
.gen6_conn .lbox1 { width: 75%; }
.gen5_conn .lbox1 { width: 50%; }
.gen4_conn .lbox1 { width: 51.5%; }
.gen3_conn .lbox1 { width: 50.75%; }
.gen2_conn .lbox1 { width: 50.375%; }
.gen1_conn .lbox1 { width: 50.1875%; }

.lbox2 { display: block; margin: 0 auto; width: 100%; height: var(--lbox2Height); }
.lbox2 .lesub,
.lbox2 .risub { height: var(--lbox2Height); display: inline-block; }
.lbox2 .lesub { border-right: calc(var(--llineLineWidth) / 2) solid var(--llineLineColor); }
.lbox2 .risub { border-left:  calc(var(--llineLineWidth) / 2) solid var(--llineLineColor); }
.lbox2 .lesub.bothsides_empty { border-right: calc(var(--llineLineWidthEmpty) / 2) solid var(--llineLineColorEmpty); }
.lbox2 .risub.bothsides_empty { border-left:  calc(var(--llineLineWidthEmpty) / 2) solid var(--llineLineColorEmpty); }
.lbox2.self .lesub.fatherside,
.lbox2.self .risub.motherside { border-top: var(--llineLineWidth) solid var(--llineLineColor); }
.lbox2.self .lesub.fatherside.fatherside_empty,
.lbox2.self .risub.motherside.motherside_empty { border-top: var(--llineLineWidthEmpty) solid var(--llineLineColorEmpty); }
.lbox2.partner .lesub.fatherside,
.lbox2.partner .risub.motherside { border-bottom: var(--llineLineWidth) solid var(--llineLineColor); }
.lbox2.partner .lesub.fatherside.fatherside_empty,
.lbox2.partner .risub.motherside.motherside_empty { border-bottom: var(--llineLineWidthEmpty) solid var(--llineLineColorEmpty); }
.lbox2 .existinglink { border-color: var(--boxBorderColorExistinglink) !important; }
.lbox2 .missinglink { border-color: var(--boxBorderColorMissinglink) !important; }

.nohighgen .gen1_conn .lbox2 { display: none; }

.gen7_conn .lbox2 .lesub,
.gen7_conn .lbox2 .risub { width: calc(75% / 2); }
.gen6_conn .lbox2 .lesub,
.gen6_conn .lbox2 .risub { width: calc(75% / 2); }
.gen5_conn .lbox2 .lesub,
.gen5_conn .lbox2 .risub { width: calc(50% / 2); }
.gen4_conn .lbox2 .lesub,
.gen4_conn .lbox2 .risub { width: calc(51.5% / 2); }
.gen3_conn .lbox2 .lesub,
.gen3_conn .lbox2 .risub { width: calc(50.75% / 2); }
.gen2_conn .lbox2 .lesub,
.gen2_conn .lbox2 .risub { width: calc(50.375% / 2); }
.gen1_conn .lbox2 .lesub,
.gen1_conn .lbox2 .risub { width: calc(50.1875% / 2); }

.parent,
.child { display: inline-block; xoverflow: hidden; vertical-align: bottom; text-align: left; background-color: #D2B48C; box-shadow: 0px 0px 20px #372815; border: var(--boxBorderWidth) solid var(--boxBorderColor); xborder-radius: 8px; }
.parent.non_ev,
.child.non_ev { background-color: #c69f6c; }
.marriage { xdisplay: inline-block; overflow: hidden; }

.self .marriage {vertical-align: bottom; }
.partner .marriage {vertical-align: top; }

.parent.empty,
.child.empty { background-color: transparent; border: var(--boxBorderWidthEmpty) solid var(--boxBorderColorEmpty); padding: calc(var(--boxBorderWidth) - var(--boxBorderWidthEmpty)); box-shadow: none; }

.highlightedeventperson .parent,
.highlightedeventperson .child { border-color: #3e9801; box-shadow: 0px 0px 20px #3e9801; }

.highlightedperson .parent,
.highlightedperson .child,
.highlightedperson .jsmarriage { xborder-color: #ffff00; box-shadow: 0px 0px 20px #ffff00; }

.parent.existinglink { border-color: var(--boxBorderColorExistinglink); }
.parent.missinglink { border-color: var(--boxBorderColorMissinglink); }
.parent.linkproposal .name,
.parent.linkproposal .prof,
.parent.linkproposal .birth,
.parent.linkproposal .death,
.lbox1.linkproposal .marriage { opacity: 0.2; }

.parent.placeholder,
.child.placeholder { border: 0; }

.gennobackground { display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #815e32; opacity: 0.08; cursor: default; }
.idholder:hover > .gennobackground { display: block; }

.innerwrap { display: flex; align-items: flex-start; align-items: center; min-height: 140px; } /* justify-content: space-between; } */
.innertext,
.innerpic { display: inline-block; vertical-align: middle; padding: 10px 10px 10px 0px; }
.innerpic { position: absolute; right: 0px; }
.pic { max-height: 120px; vertical-align: bottom; }

.gen7 .gennobackground { font-size: 30px; }
.gen6 .gennobackground { font-size: 60px; }
.gen5 .gennobackground { font-size: 80px; }
.gen4 .gennobackground,
.gen3 .gennobackground,
.gen2 .gennobackground,
.gen1 .gennobackground,
.gen0 .gennobackground { font-size: 100px; }

.gen7 .innertext { padding: 2px 1px; }
.gen6 .innertext { padding: 2px 1px; }
.gen5 .innertext { padding: 5px; }
.gen4 .innertext { padding: 10px 5px 10px 10px; }
.gen3 .innertext,
.gen2 .innertext,
.gen1 .innertext,
.gen0 .innertext { padding: 15px 5px 15px 15px; }

.gen4 .pic { max-height: 116px; }
.gen5 .innerpic { position: absolute; right: 0; bottom: 0; padding: 5px; }
.gen5 .pic { max-height: 94px; }

.gen7 .parent,
.gen6 .parent,
.gen5 .parent { width: 95%; }
.gen4 .parent { width: 90%; max-width: 340px; }
.gen3 .parent,
.gen2 .parent,
.gen1 .parent { width: 400px; }
.child { width: 400px;  }

.gen7 .parent.f,
.gen6 .parent.f,
.gen5 .parent.f { margin-left: 2.5%; }
.gen7 .parent.m,
.gen6 .parent.m,
.gen5 .parent.m { margin-right: 2.5%; }

.self .innertextcommon { position: absolute; bottom: 0; left: 0; width: 100%; }
.partner .innertextcommon { position: absolute; top: 0; left: 0; width: 100%; }
.self .innertextcommon .marriage,
.partner .innertextcommon .marriage { width: 100%; }

.abox { margin: 0 0.125%; }	
.abox.gen5,
.abox.gen6_conn { margin: 0 0.07%; }	
.abox.gen6,
.abox.gen7_conn { margin: 0 0.03%; }	
.abox.gen7 { margin: 0 0.02%; }	

.abox.gen7 { width: 0.74125%; }  /* calc((100% / 128) - (2 * 0.02%)) - skip css calc here as it rounds wrong in Edge and results in a sum greater than 100% */
.abox.gen7_conn,
.abox.gen6 { width: 1.5025%; }  /* calc((100% / 64) - (2 * 0.03%)) */
.abox.gen6_conn,
.abox.gen5 { width: 2.985%; }  /* calc((100% / 32) - (2 * 0.07%)) */
.abox.gen5_conn,
.abox.gen4 { width: 6%; }
.abox.gen4_conn,
.abox.gen3 { width: 12.25%; }
.abox.gen3_conn,
.abox.gen2 { width: 24.75%; }
.abox.gen2_conn,
.abox.gen1 { width: 49.75%; }
.abox.gen1_conn { width: 99.75%; }
.abox.gen0 { padding: 0 0.5%; }

.highgenbox { display: none; }
.highgenbox_visible { display: block; }
.highgenbox_conn_1 { height: 100px; width: 50%; display: inline-block; vertical-align: bottom; }
.highgenbox_conn_1.left { border-right: calc(var(--llineLineWidth) / 2) solid var(--llineLineColor); }
.highgenbox_conn_1.right { border-left: calc(var(--llineLineWidth) / 2) solid var(--llineLineColor); }
.highgenbox_conn_1.left.empty { border-right: calc(var(--llineLineWidthEmpty) / 2) solid var(--llineLineColorEmpty); }
.highgenbox_conn_1.right.empty { border-left: calc(var(--llineLineWidthEmpty) / 2) solid var(--llineLineColorEmpty); }
.highgenbox_conn_2 { height: 100px; border-top: var(--llineLineWidth) solid var(--llineLineColor); }
.highgenbox_conn_2.empty { height: 100px; border-top: var(--llineLineWidthEmpty) solid var(--llineLineColorEmpty); }
.highgenbox_conn_2.fatherside { border-left: var(--llineLineWidth) solid var(--llineLineColor); }
.highgenbox_conn_2.motherside { border-right: var(--llineLineWidth) solid var(--llineLineColor); }
.highgenbox_conn_2.fatherside.empty { border-left: var(--llineLineWidthEmpty) solid var(--llineLineColorEmpty); }
.highgenbox_conn_2.motherside.empty { border-right: var(--llineLineWidthEmpty) solid var(--llineLineColorEmpty); }

.xcwrap { display: inline-block; margin: 0 0.5%; }
.xccon { position: absolute; top: 50%; left: 100%; width: 50%; height: 1px; border-top: var(--llineLineWidth) solid var(--llineLineColor); }
.childcon { width: 50%; height: var(--lbox2Height); border-right: var(--llineLineWidth) solid var(--llineLineColor); }

.marriagecon { width: 50%; height: var(--mconnHeight); border-right: var(--llineLineWidth) solid var(--llineLineColor); }
.marriagebox { padding: 5px 10px; border: var(--boxBorderWidth) solid var(--llineLineColor); overflow: visible; }

.gencode { font-size: 13px; margin-bottom: 6px; font-style: italic; color: rgba(0,0,0,0.5); }
.name { font-size: 18px; font-weight: 700; }
.prof { font-size: 16px; margin-top: 6px; }
.birth { font-size: 12px; margin-top: 8px; }
.death { font-size: 12px; margin-top: 0px; }
.marriage { font-size: 14px; }

.gen5 .name { font-size: 14px; }
.gen5 .prof { font-size: 14px; margin-top: 6px; }
.gen5 .birth { font-size: 11px; margin-top: 8px; }
.gen5 .death { font-size: 11px; margin-top: 4px; }
.gen5_conn .marriage { font-size: 11px; }

.gen6 .name { font-size: 10px; }
.gen6 .prof { font-size: 9px; margin-top: 6px; }
.gen6 .birth { font-size: 8px; margin-top: 8px; }
.gen6 .death { font-size: 8px; margin-top: 4px; }
.gen6_conn .marriage { font-size: 9px; }

.gen7 .name { font-size: 6px; }
.gen7 .prof { font-size: 5px; margin-top: 6px; }
.gen7 .birth { font-size: 4px; margin-top: 8px; }
.gen7 .death { font-size: 4px; margin-top: 4px; }
.gen7_conn .marriage { font-size: 6px; }

.gen5 .name .fname,
.gen5 .name .lname,
.gen6 .name .fname,
.gen6 .name .lname,
.gen7 .name .fname,
.gen7 .name .lname,
.gen5 .birth .bdate,
.gen5 .birth .bplace,
.gen6 .birth .ancsymbol,
.gen6 .birth .anctext,
.gen6 .birth .bdate,
.gen6 .birth .bplace,
.gen7 .birth .ancsymbol,
.gen7 .birth .anctext,
.gen7 .birth .bdate,
.gen7 .birth .bplace { display: table; }
.gen5 .death .ddate,
.gen5 .death .dplace,
.gen6 .death .ancsymbol,
.gen6 .death .anctext,
.gen6 .death .ddate,
.gen6 .death .dplace,
.gen7 .death .ancsymbol,
.gen7 .death .anctext,
.gen7 .death .ddate,
.gen7 .death .dplace { display: table; }

.gen5 .emptycell:before,
.gen6 .emptycell:before,
.gen7 .emptycell:before { content: "\00a0"; }

.abox .smaller { font-size: 0.9em; }
.abox .smallersmaller { font-size: 0.85em; }
.abox .smallersmallersmaller { font-size: 0.8em; }

.abox .inlinecmt { background-color: rgba(255, 255, 198, 0.5); margin: 0 0 0 0.5em; padding: 0 2px; border-radius: 2px; }
.printonly .inlinecmt { display: none; }
.abox .mandmissmarker { color: rgba(0, 0, 0, 0.75); }

.ancsymbol { font-size: 18px; }
.ancsymbol,
.anctext { display: inline-block; vertical-align: middle; }

.gen7 .ancsymbol { font-size: 10px; }
.gen6 .ancsymbol { font-size: 14px; }

.marriage .ancsymbol { font-size: 20px; vertical-align: -0.12em; xfont-family: 'Vollkorn'; }
.marriage .anctext { vertical-align: middle; text-align: left; }

.gen7_conn .marriage .ancsymbol { font-size: 15px; }
.gen6_conn .marriage .ancsymbol { font-size: 15px; }

.birth .ancsymbol { margin-right: 5px; }
.death .ancsymbol { margin-right: 6px; }

.gen7 .birth .ancsymbol { margin-bottom: -7px; }
.gen6 .birth .ancsymbol { margin-bottom: -8px; }

.gen7 .birth .ancsymbol,
.gen6 .birth .ancsymbol { vertical-align: inital; }
.gen5 .birth .ancsymbol,
.gen4 .birth .ancsymbol,
.gen3 .birth .ancsymbol,
.gen2 .birth .ancsymbol,
.gen1 .birth .ancsymbol,
.gen0 .birth .ancsymbol { vertical-align: -0.5em; }

.fileviewwrapper { padding: 0 0 20px 0; }
.fileviewwrapper .fvw_maincaption,
.fileviewwrapper .fvw_subcaption { margin: 0; font-size: 20px; font-weight: 600; }
.fileviewwrapper .fvw_maincaption { background-color: rgba(125, 125, 125, 0.5); padding: 14px 35px 14px 5px; }
.fileviewwrapper .fvw_subcaption { background-color: rgba(115, 13, 13, 0.45); padding: 14px 0; }
.fileviewwrapper .genlinks { display: inline-block; text-align: left; margin: 0; margin: 5px 0 0 0; font-size: 12px; font-style: italic; }
.fileviewwrapper .genlinks tr.genlinkline {  }
.fileviewwrapper .genlinks td { padding: 2px 2px 1px 2px; }
.fileviewwrapper .genlinks td.genlinkletter {  }
.fileviewwrapper .genlinks td.genlinkgencode {  }
.fileviewwrapper .genlinks td.genlinktree {  }
.fileviewwrapper .genlinks a { border-radius: 2px; display: inline-block; margin: 0 0 1px 0; }
.fileviewwrapper .genlinks .existingown td { background-color: rgba(102, 51, 0, 0.1); }
.fileviewwrapper .genlinks .existingown td:first-child { border-top-left-radius: 3px; border-bottom-left-radius: 3px; }
.fileviewwrapper .genlinks .existingown td:last-child { border-top-right-radius: 3px; border-bottom-right-radius: 3px; }
.fileviewwrapper .genlinks .existingown a { padding: 1px 4px 2px 3px; }
.fileviewwrapper .genlinks .existingother a { padding: 1px 4px 2px 3px; }
.fileviewwrapper .genlinks .missingown a { color: rgba(200, 200, 200, 1); }
.fileviewwrapper .genlinks .missingother a { color: rgba(200, 0, 0, 1); }
.fileviewwrapper .genlinks a.treelink { display: inline-block; padding: 2px 5px 2px 4px; font-weight: 700; font-size: 0.9em; }
.fileviewwrapper .genlinks a:hover { background-color: rgba(125,125,125,0.3); }

.linkextdownload { display: inline-block; text-align: center; font-weight: normal; border-radius: 8px; }
.fileview_download input,
.linkextdownload { min-width: 2em; margin-left: 0.25em; background-color: transparent; cursor: pointer; }
.fileview_download input:hover,
.linkextdownload:hover { background-color: rgba(0,0,0,0.1); }

.file_caption_nme { font-size: 16px; font-weight: 700; margin: 5px 0; padding: 0 35px 0 5px; background-color: rgba(255, 240, 179, 0.75); }
.file_caption_nme img,
.file_caption_nme span { vertical-align: middle; display: inline-block; }
.file_caption_nme span { max-width: calc(100% - 60px); padding: 5px 0; }
.file_caption_nme span.infotag { padding: 1px 3px; border-radius: 2px; }
.file_caption_typ { font-size: 10px; padding: 1px 0 1px 0; }
.file_caption_gen { font-size: 11px; padding: 0 0 5px 0; font-style: italic; }
.file_caption_gen:empty { padding: 0; }
.file_caption_src { font-size: 14px; padding: 0 0 2px 0; font-weight: 500; }
.file_caption_src span.addinfo { font-weight: 600; }
.file_caption_subsrc { font-size: 13px; padding: 0 0 5px 0; font-weight: 500; }
.file_caption_subsrc:empty { padding: 0; }
.file_info { margin: 5px 0; }

.file_section_wrapper { margin-bottom: 40px; }

.file_content_thumb { margin: 10px 5px; }
.file_content_thumb.photo { display: inline-block; }
.file_content_thumb.docu.sameheight { display: inline-block; }
.file_content_thumb img { cursor: pointer; vertical-align: bottom; max-width: 100%; }
.file_content_thumb img.inithighlightstart { box-shadow: 0px 0px 10px 10px #FFD700; transform: scale(1.3); transition: box-shadow 0.2s linear, transform 0.2s linear; z-index: 1; }
.file_content_thumb img.inithighlightend { transition: box-shadow 10s linear, transform 2s linear; z-index: 1; }

.file_content { max-width: 100%; margin: 5px 0; }
.file_content.file_content_matchscreen img { max-width: 100%; max-height: 85vh; cursor: zoom-in; }
.file_content.file_content_halfzoomed img { max-width: 3000px; max-height: 3000px; cursor: zoom-in; }
.file_content.file_content_fullzoomed img { cursor: zoom-out; }

.start_line_wrapper { margin: 0 0 30px 0; }
.start_line_container { display: flex; justify-content: space-evenly; flex-wrap: wrap; margin: 0 0.5%; }
.start_line_element { margin: 5px 0.25%; padding: 5px; text-align: left; border: 1px solid #00000066; border-radius: 10px; flex: 49%; overflow: hidden; }
.start_line_element .startline_subcaption { padding: 6px 2px; font-size: 14px; font-weight: 600; }

.start_tree_container,
.start_bday_container { display: flex; justify-content: space-evenly; align-items: center; min-height: 200px; }
.start_tree_container img { max-width: 100%; }

.randomview_pic_container { display: flex; height: 200px; }
.randomview_pic_container_inner { display: flex; justify-content: space-evenly; align-items: center; flex: 1; flex-wrap: wrap; }
.randomview_pic_container_inner .rnd_file_content_link { xflex: 1; }
.randomview_pic_container_inner .rnd_file_content_wrapper { border: 1px solid #000; margin: 2px 2px 20px 2px; }
.randomview_pic_container_inner .rnd_file_content_wrapper_inner { display: inline-block; overflow: hidden; vertical-align: bottom; }
.randomview_pic_container_inner .rnd_file_content_thumb { z-index: 10; }
.randomview_pic_container_inner .rnd_file_content_thumb img { max-width: 100%; max-height: 180px; vertical-align: bottom; }
.randomview_pic_container_inner .rnd_file_caption_nme { display: none; position: absolute; left: 0; right: 0; bottom: 0; z-index: 20; text-align: center; font-size: 11px; background-color: rgba(255, 240, 179, 0.75); }
.randomview_pic_container_inner .rnd_file_content_wrapper:hover .rnd_file_caption_nme { display: block; }
.randomview_pic_container_inner .rnd_file_caption_nme img,
.randomview_pic_container_inner .rnd_file_caption_nme span { vertical-align: middle; display: inline-block; }
.randomview_pic_container_inner .rnd_file_caption_nme span { max-width: calc(100% - 60px); padding: 5px 0; }

.person_data_line {  }
.person_data_wrapper { display: inline-block; margin: 0 auto; padding: 0 10px; text-align: left; font-size: 16px; margin-top: 10px; }
.person_data_wrapper .person_data_symbol,
.person_data_wrapper .person_data_text { vertical-align: middle; }
.person_data_wrapper .inlinecmt { background-color: rgba(255, 255, 198, 0.5); padding: 0 2px; border-radius: 2px; }
.person_data_wrapper .hiddencmt { background-color: rgba(185,185,200,0.5); padding: 0 2px; border-radius: 2px; }
.person_data_wrapper a.extlink { font-size: 0.85em; vertical-align: 1px; font-weight: 700px; border: 1px solid rgba(0, 0, 0, 0.15); padding: 0px 2px 2px 2px; }
.person_data_wrapper a.extlink:hover { background-color: rgba(0, 0, 0, 0.2); }
.person_data_name { font-size: 1em; margin-top: 0.8em; font-weight: 600; }
.person_data_prof { font-size: 0.95em; margin-top: 0.5em; }
.person_data_birth { font-size: 0.9em; margin-top: 0.7em; }
.person_data_birth_link { font-size: 0.8em; margin-top: 0; color: rgba(0, 0, 0, 0.7); }
.person_data_death { font-size: 0.9em; margin-top: 0; }
.person_data_death_link { font-size: 0.8em; margin-top: 0; color: rgba(0, 0, 0, 0.7); }
.person_data_birth .person_data_symbol,
.person_data_birth_link .person_data_symbol,
.person_data_death .person_data_symbol,
.person_data_death_link .person_data_symbol { font-size: 20px; display: inline-block; min-width: 1em; }
.person_data_birth .person_data_symbol { vertical-align: -0.3em; }
.person_data_marriage { font-size: 1em; margin-top: 0.8em; }
.person_data_marriage_link { font-size: 0.9em; margin-top: 0em; color: rgba(0, 0, 0, 0.7); }
.person_data_marriage .person_data_symbol,
.person_data_marriage_link .person_data_symbol { font-size: 20px; display: inline-block; min-width: 1em; vertical-align: baseline; }
.person_data_confession { margin-top: 0.5em; margin-bottom: 0.2em; font-size: 0.7em; text-align: center; }
.person_data_wrapper_related { font-size: 13px; color: rgba(0, 0, 0, 0.7); margin-top: 0; }
.person_data_wrapper_related a:hover { background-color: rgba(0, 0, 0, 0.2); }
.person_data_wrapper_related .person_data_caption { text-decoration: underline; font-size: 1em; margin-top: 0.2em; }
.person_data_wrapper_related .person_data_name { margin-top: 1.0em; }
.person_data_wrapper_related .person_data_prof { margin-top: 0.3em; }
.person_data_wrapper_related .person_data_birth { margin-top: 0.1em; }
.person_data_wrapper_related .person_data_death { margin-top: -0.5em; }
.person_data_wrapper_related .person_data_marriage { margin-top: 0.6em; }

.person_infos { display: inline-block; max-width: 100%; }
.person_infos .f_linewrapper { margin: 10px 0 0 0; }
.person_infos a.perslink,
.person_infos a.treelink { display: inline-block; padding: 2px 5px 2px 4px; vertical-align: middle; }
.person_infos a.treelink { opacity: 0.5; }
.person_infos a.perslink:hover,
.person_infos a.treelink:hover { background-color: rgba(125,125,125,0.2); border-radius: 2px; opacity: 1; }
.person_info { margin: 10px 3px; padding: 0 0 5px 0; border-radius: 2px; }
.person_info_cap { display: inline-block; width: 100%; padding: 1px 6px; border-radius: 2px; font-weight: 500; }
.person_info_cap .fullname { font-weight: 700; }
.person_info_subcap { display: inline-block; width: 100%; padding: 1px 6px; border-radius: 2px; font-size: 0.8em; }
.person_info_text { padding: 5px; font-size: 16px; font-weight: 500; color: #003366; white-space: pre-wrap; }
.person_info_text_inner { display: inline-block; text-align: left; max-width: 1000px; xwhite-space: pre-line; }
.person_info_text_orig { display: none; }
.person_info_text a.persinlinelink,
.person_info_text a.treeinlinelink { vertical-align: 1px; padding: 0px 2px 2px 2px; font-size: 0.85em; font-weight: 700px; border: 1px solid rgba(0, 0, 0, 0.15); }
.person_info_text a.persinlinelink:hover,
.person_info_text a.treeinlinelink:hover { background-color: rgba(0, 0, 0, 0.2); }
.person_info_text a.extlink { font-size: 0.85em; vertical-align: 1px; font-weight: 700px; border: 1px solid rgba(0, 0, 0, 0.15); padding: 0px 2px 2px 2px; }
.person_info_text a.extlink:hover { background-color: rgba(0, 0, 0, 0.2); }
.person_info_history { margin: 20px 3px; }
.person_data_marker { font-size: 12px; margin-top: 0.8em; margin-bottom: 0.5em; }
.person_data_marker span { padding: 1px 2px; }
.person_data_events { margin: 1em 0; padding: 3px 4px; color: #232; }
.person_data_events_age_cap { min-width: 50px; font-size: 13px; font-weight: 600; padding: 0 1em 0 0; text-align: center; }
.person_data_events_event_cap { font-size: 13px; font-weight: 600; }
.person_data_events_age { font-size: 13px; padding: 1px 1em 0 0; text-align: center; }
.person_data_events_event { font-size: 13px; padding: 1px 0 0 0; }
.person_data_events_date { font-size: 12px; display: inline-block; margin-left: 0.5em; font-weight: 600; }
.person_data_relations { margin: 1em 0; padding: 3px 4px; color: #232; }
.person_data_relations .rel_block { margin: 0.5em 0 0.3em 0; }
.person_data_relations .rel_line { padding: 0 2px 0 2px; font-size: 13px; border-radius: 2px; }
.person_data_relations .rel_line_own { padding: 1px 2px 3px 2px; background-color: rgba(102, 51, 0, 0.2); }
.person_data_relations .rel_line_other { padding: 1px 2px 3px 2px; background-color: rgba(125, 125, 125, 0.2); }
.person_data_relations .rel_key { display: inline-block; vertical-align: middle; margin-right: 5px; }
.person_data_relations .rel_val { vertical-align: middle; font-weight: 600; }
.person_data_relations .rel_val2 { vertical-align: middle; font-weight: 600; font-size: 14px; }
.person_data_relations .rel_link:hover { background-color: rgba(125, 125, 125, 0.3); }

a.fulllink { display: block; text-align: right; text-decoration: underline; color: #2b333c; margin: 1em 2em 0 0; font-size: 0.9em; }

.textfile { display: inline-block; text-align: left; color: #003366; }
.textfile.info { margin: 5px 10px; font-size: 16px; font-weight: 500; max-width: 1000px; }
.textfile.info a.persinlinelink { font-size: 0.85em; vertical-align: 1px; font-weight: 700px; border: 1px solid rgba(0, 0, 0, 0.15); padding: 0px 2px 2px 2px; }
.textfile.info a.treeinlinelink { padding: 0 0 0 2px; }
.textfile.info a.persinlinelink:hover,
.textfile.info a.treeinlinelink:hover { background-color: rgba(0, 0, 0, 0.2); }
.textfile.info a.extlink { font-size: 0.85em; vertical-align: 1px; font-weight: 700px; border: 1px solid rgba(0, 0, 0, 0.15); padding: 0px 2px 2px 2px; }
.textfile.info a.extlink:hover { background-color: rgba(0, 0, 0, 0.2); }
.textfile.image { margin: 5px 10px 2px 10px; font-size: 14px; }

.textfile.info .housecap { font-size: 1.2em; font-weight: 700; }
.textfile.info .housesubcap { text-decoration: underline; font-weight: 600; }
.textfile.info .househighlight { font-weight: 700; }
.textfile.info .littleline { line-height: 0.5em; display: block; }
.textfile.info .pmark { font-weight: 700; }
.textfile.info .pspecial { font-weight: 700; color: #850000; }
.textfile.info .plink { font-style: italic; font-size: 0.7em; vertical-align: top; position: relative; top: -0.3em; padding: 0 3px; }
.textfile.info .plinkhidden { display: none; }


#file_content_overlay { position: fixed; top: 0; bottom: 0; left: 0; right: 0; overflow-x: scroll; overflow-y: scroll; background-color: #333; text-align: center; z-index: 10; }
#file_content_overlay #closer { position: absolute; top: 0px; left: 0px; padding: 9px 16px; cursor: pointer; }
#file_content_overlay #arrow_left { position: absolute; top: 50%; left: 0px; cursor: pointer; font-size: 4em; padding: 10px 25px; }
#file_content_overlay #arrow_right { position: absolute; top: 50%; right: 0px; cursor: pointer; font-size: 4em; padding: 10px 25px; }
#file_content_overlay .arrow_hidden { display: none; }

#file_content_overlay .file_caption_nme { margin: 0 0 5px 0; }
#file_content_overlay .file_caption_typ { color: #aaa; }
#file_content_overlay .file_caption_gen,
#file_content_overlay .file_caption_src,
#file_content_overlay .file_caption_subsrc { color: #ccc; }
#file_content_overlay .textfile { color: #ddd; }

#tree_person_overlay { position: fixed; top: 0; bottom: 0; left: 0; right: 0; overflow: hidden; text-align: center; font-family: 'Merienda'; background-color: rgba(51, 51, 51, 0.4); }
#tree_person_overlay #flexframe { position: absolute; top: 0; bottom: 0; left: 0; right: 0; display: flex; justify-content: center; align-items: center; }
#tree_person_overlay #flexframe #innerflexframe { padding: 60px; background-color: var(--treeBackColor); display: block; min-width: 1000px; }

#tree_3genperson_overlay { position: fixed; bottom: 5px; left: 5px; display: inline-block; border: 5px solid rgba(102, 51, 0, 0.25); opacity: 0.9; }

#tree_overview_overlay { position: fixed; width: 210px; height: 140px; padding: 5px; bottom: 0px; right: 0px; display: inline-block; transition: width 0.1s, height 0.1s; cursor: zoom-in; }
#tree_overview_overlay_inner { width: 100%; height: 100%; padding: 3px; border: 1px solid rgba(102, 51, 0, 0.25); background-color: #fffdf7; opacity: 0.95; }
#tree_overview_overlay_inner.partallowedonly { background-color: #f1ecda; }
#tree_overview_overlay.fullsize { width: 100%; height: 100%; z-index: 1; cursor: zoom-out; }
#tree_overview_overlay_cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
#tree_overview_overlay_cover.lifted { display: none; }

#file_download_overlay { position: fixed; top: 0; bottom: 0; left: 0; right: 0; overflow-x: scroll; overflow-y: scroll; background-color: rgba(255,255,255,0.5); text-align: center; z-index: 10; }
#file_download_overlay img { top: 50%; transform: translateY(-50%); xbackground-color: rgba(255,255,255,0.5); xbox-shadow: 0 0 100px 50px rgba(255,255,255,0.5); }

div.container_svgtree { display: flex; flex-direction: column; width: 90%; height: 100vh; }
div.container_svgtreethumb { width: 100%; height: 100%; }
div.container_svgtreethumb text,
div.container_svgtreethumb line,
div.container_svgtreethumb rect { position: relative }
div.container_svgtreethumb text.pagecaption { z-index: 4; }
div.container_svgtreethumb text.perscount { font-size: 9px; z-index: 4; }
div.container_svgtreethumb line { stroke-width: 0.5; stroke: rgb(128,128,128); z-index: 2; }
div.container_svgtreethumb rect.personbox { fill: #b28446; z-index: 3; }
div.container_svgtreethumb rect.personbox.highlightedrect { fill: #ffff00; }
div.container_svgtreethumb rect.personbox.highlightedeventrect { stroke-width: 2; stroke: #3e9801; }
div.container_svgtreethumb rect.curmarker { fill: #ffcc66; z-index: 1; }
div.container_svgtreethumb rect.allowedmarker { fill: #fffdf7; z-index: 1; }

#tree_context_menu,
#tree_context_submenu { position: absolute;  background-color: rgba(255, 255, 255, 0.95); border-radius: 2px; }
.tree_context_menu_item_wrapper { display: flex; border-top: 1px solid rgba(0, 0, 0, 0.25); }
.tree_context_menu_item_wrapper:first-of-type { border-top: 0; }
.tree_context_menu_item { display: flex; flex-direction: column; justify-content: center; }
.tree_context_menu_item:only-child { width: 100%; }
.tree_context_menu_item:not(:only-child):first-of-type { width: calc(100% - 50px); }
.tree_context_menu_item:not(:only-child):last-of-type { width: 50px; text-align: center; }
.tree_context_menu_item { text-align: left; padding: 10px; cursor: pointer; white-space: nowrap; }
.tree_context_menu_item:hover { background-color: #ffd010; }
.tree_context_menu_item_invisible { display: none; }
.tree_context_menu_item span { vertical-align: middle; }
.tree_context_menu_item img { vertical-align: middle; border-radius: 2px; margin: -5px 5px -5px 0; }

.noscroll { overflow: hidden; }
.nodisplay { display: none; }
.nocontent { opacity: 0.5; }

.grabscroll_active { cursor: move !important; }

#map { height: 800px; width: 100%; margin: 10px 0 20px 0; }
#map .gm-style-pbc { opacity: 0 !important; }



@media screen and (max-width: 1600px) {

	.randomview_pic_container { height: 160px; }
	.randomview_pic_container_inner .rnd_file_content_thumb img { max-height: 140px; }
}

@media screen and (max-width: 1000px) {

	div.container_list_inline { width: auto; }

	div.container_list th,
	div.container_list td { padding: 2px 10px 2px 2px; }
}

@media screen and (max-height: 760px) {

}

@media screen and (max-height: 680px) {

	#menu_overlay .menu_button_linewrapper { padding: 0 2px; }
	#menu_overlay .f_menu_button { margin: 1px; font-size: 13px; }
	#menu_overlay .f_menu_button_left { width: calc(100% - 52px - 2px); }
	#menu_overlay .f_menu_button_full { width: calc(100% - 2px); }
}

@media screen and (max-width: 800px) {

	.start_line_element { flex: 100%; }
	.start_line_element .hidableitem { display: none; }
	
	.start_tree_container,
	.start_bday_container { min-height: auto; }

	.randomview_pic_container { height: auto; }
	.randomview_pic_container_inner { flex-wrap: nowrap; }
	.randomview_pic_container_inner .rnd_file_content_wrapper { margin: 2px; }
	.randomview_pic_container_inner .rnd_file_caption_nme img { margin: 0 -5px; }
	.randomview_pic_container_inner .rnd_file_caption_nme span { max-width: calc(100% - 30px); }
}

@media screen and (max-width: 700px) {
	
	.body_lockscroll_media { overflow: hidden; }

	#zoom_minus_button,
	#zoom_plus_button,
	#loading_button,
	#menu_button { margin: 0; }
	#menu_overlay { margin: 0; min-width: auto; padding-top: 50px; }
	#menu_overlay.menu_visible { top: 0; left: 0; bottom: 0; }

	#tree_overview_overlay { width: 150px; height:100px; }

	.pagecaption { font-size: 20px; }

	div.container_list .list_nosmalldisplay { display : none; }

	div.container_list .list_caption_nme { font-size: 0.75em; font-weight: 600; }
	div.container_list .list_caption_nbr { font-size: 0.6em; }
	div.container_list .list_caption_prs { font-size: 0.6em; }
	div.container_list .list_caption_prf { font-size: 0.6em; }
	div.container_list .list_caption_dte { font-size: 0.6em; }
	div.container_list .list_caption_gcd { font-size: 0.5em; }
	div.container_list th,
	div.container_list td { padding: 2px 8px 2px 0; }

	div.container_list .key { font-size: 0.8em; }
	div.container_list .val { font-size: 0.8em; }
	div.container_list .valno { font-size: 0.8em; }

	div.container_lastedit .hist_caption_nme { font-size: 0.8em; }
	div.container_lastedit .hist_caption_gcd { font-size: 0.6em; }
	div.container_lastedit .hist_caption_lnk { font-size: 0.7em; }

	div.container_search .fileline .search_caption_nme { font-size: 0.75em; }
	div.container_search .fileline .search_caption_src { font-size: 0.6em; }
	div.container_search .fileline .search_caption_ctt { font-size: 0.6em; }
	div.container_search .fileline .search_caption_tag { font-size: 0.5em; }

	div.container_links { font-size: 0.8em; }
}

@media screen and (max-width: 400px) {

	#xmenu_button { margin: 0 2px; }
	#xmenu_overlay { margin: 0 2px; }
	
	div.container_list,
	div.container_list table { xwidth: 100%; }	

	div.container_list .list_caption_nme { font-size: 0.6em; font-weight: 700; }
	div.container_list .list_caption_nbr { font-size: 0.5em; }
	div.container_list .list_caption_prs { font-size: 0.5em; }
	div.container_list .list_caption_prf { font-size: 0.5em; }
	div.container_list .list_caption_dte { font-size: 0.5em; }
	div.container_list .list_caption_gcd { font-size: 0.4em; }
	div.container_list .list_caption_coordlat,
	div.container_list .list_caption_coordlng { font-size: 0.4em; }
	div.container_list th,
	div.container_list td { padding: 1px 3px 1px 0; }
	
	div.container_list .key { font-size: 0.7em; }
	div.container_list .val { font-size: 0.7em; }

	div.container_lastedit .hist_caption_nme { font-size: 0.7em; }
	div.container_lastedit .hist_caption_gcd { font-size: 0.6em; }
	div.container_lastedit .hist_caption_lnk { font-size: 0.6em; }
	div.container_lastedit td { padding: 1px 3px 1px 0; }

	div.container_search .fileline .search_caption_nme { font-size: 0.6em; }
	div.container_search .fileline .search_caption_src { font-size: 0.5em; }
	div.container_search .fileline .search_caption_ctt { font-size: 0.5em; }
	div.container_search .fileline .search_caption_tag { font-size: 0.4em; }

	.textfile.info { font-size: 14px; }
	.textfile.image { font-size: 13px; }

	.person_data_events_age_cap { padding: 0 0.5em 0 0; }
	.person_data_events_age { font-size: 12px; padding: 1px 0.5em 0 0; word-spacing: -0.2em; }
	.person_data_events_event { font-size: 12px; }
	.person_data_events_date { font-size: 11px; }

	.person_data_relations .rel_line { font-size: 12px; }
	
	.file_content_thumb img { max-width: 150px; max-height: 150px; }

	a.f_cso.front { width: 70%; }
	a.f_cso.back1,
	a.f_cso.back2,
	a.f_cso.back3 { width: 10%; }
}

