@import url('https://fonts.googleapis.com/css?family=IBM+Plex+Sans');

:root {
	--bs-body-font-family: Arial, sans-serif;
	--bs-body-bg: #f9f9f9;
	--bs-body-bg-rgb: 249, 249, 249;
	--bs-box-shadow: 0 0 10px #bbb;
	--bs-focus-ring-color: rgba(98, 150, 119, 0.25);
	--bs-primary: #629677;
	--bs-primary-rgb: 98, 150, 119;
	--bs-secondary: #495D63;
	--bs-secondary-rgb: 73, 93, 99;
	--bs-link-color: #629677;
	--bs-link-color-rgb: 98, 150, 119;
	--bs-link-decoration: none;
	--bs-link-hover-color: #495D63;
	--bs-link-hover-color-rgb: 73, 93, 99;
	--bs-border-color: #e3e3e3;
}

.bg-outer {
	background: var(--bs-body-bg) url("/images/primary/dorchester.jpg") center / cover no-repeat;
}

.input-tree-shape {
	width: min(100%, 565px);
	height: 200px;
	margin-inline: auto;
}

.input-tree-shape #indi_fn {
	position: relative;
	top: 102px;
	left: -45px;
	width: 300px;
}

.input-tree-shape #dad_fn {
	position: relative;
	top: 6px;
	left: 272px;
	width: 320px;
}

.input-tree-shape #mum_fn {
	position: relative;
	top: 93px;
	left: 272px;
	width: 320px;
}

.ver-line-tree {
	position: relative;
	top: -27px;
	left: 460px;
	width: 2px;
	height: 83px;
}

.hor-line-tree {
	position: relative;
	top: -69px;
	left: 254px;
	width: 207px;
	height: 2px;
}

@media (max-width: 767px) {

	.input-tree-shape {
		height: auto;
	}

	.family-search .input-tree-shape #indi_fn,
	.family-search .input-tree-shape #mum_fn,
	.family-search .input-tree-shape #dad_fn {
		position: static;
		width: auto;
	}

	.family-search input {
		width: 75% !important;
		min-width: 100px;
		max-width: 450px;
	}

	.family-search label {
		width: 62px;
		margin-right: 10px;
		margin-bottom: 20px;
		text-align: right;
	}
}

:root {
	--site-nav-background: var(--bs-primary);
	--site-nav-hover-background: var(--bs-secondary);
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-title {
	font-family: 'IBM Plex Sans', Arial, sans-serif;
}

#site-navbar .nav-item {
	height: 50px;
	border-bottom: 3px solid var(--site-nav-background);
}

#site-navbar .nav-link:hover,
#site-navbar .nav-link:focus {
	background-color: var(--site-nav-hover-background) !important;
}

@media (max-width: 767.98px) {
	#site-navbar {
		position: relative;
	}

	#site-navbar .navbar-collapse {
		position: absolute;
		top: 100%;
		left: 0;
	}

	#site-navbar .navbar-nav {
		border-bottom: 2px solid var(--site-nav-hover-background);
	}

	#site-navbar .nav-item {
		height: 40px;
		border: 0;
	}

	#site-navbar .navbar-collapse.collapsing {
		border-bottom: 2px solid var(--site-nav-hover-background);
	}
}

@media (max-width: 450px) {
	.site-title {
		font-size: .8em;
		margin-left: 10px;
	}
}
