.access-form {
	display: flex;
	justify-content: center;
}
.access-form-container {
	max-width: 400px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 10px;
	border: solid 1px #ccc;
	border-radius: 5px;
}
.access-form-container > div {
	width: 100%;
	text-align: center;
}
.access-form-container input {
	width: 100%;
	font-size: 18px;
	border: solid 1px #ccc;
	border-radius: 5px;
	padding: 5px;
}
.access-form-container button {
	color: #fff;
	background: #009f00;
	box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0.3);
	font-size: 18px;
	border-radius: 10px;
	padding: 5px 15px;
	border: none;
	cursor: pointer;
}
.family-member-search {
	padding-bottom: 20px;
	position: relative;
	font-size: 20px;
}
.family-member-search input {
	border-radius: 50px;
	border: solid 1px #ccc;
	padding: 5px 40px;
	font-size: 20px;
	width: 100%;
	color: #009f00;
}
.family-member-search .fa-magnifying-glass {
	position: absolute;
	top: 9px;
	left: 5px;
	color: #aaa;
}
.family-member-search .clear-search {
	position: absolute;
	top: 0px;
	right: 0px;
	cursor: pointer;
	padding: 7px;
}
.family-member-search .clear-search:hover {
	color: #f00;
}
.family-member-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px;
}
.family-member {
	padding: 10px;
	border-radius: 10px;
	box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0.3);
	position: relative;
	flex-basis: 280px;
	flex-grow: 2;
	height: 100%;
	background: white;
}
.family-member-name {
	font-size: 20px;
	font-weight: bold;
	padding-right: 35px
}
.family-member-thumb {
	position: absolute;
	width: 80px;
	height: 80px;
	right: -10px;
	border-radius: 5px;
	background-size: contain;
	box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0.3);
}
.family-member-ops {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 10px 60px 0 0;
}
.family-member-op {
	cursor: pointer;
	color: #146ebe;
	border-top: solid 1px #efefef;
	padding: 5px 0;
}
.family-member-op:hover {
	background-color: #efefef;
}
.family-member-icons {
	position: absolute;
	top: 100px;
	right: 20px;
	font-size: 20px;
	color: #999;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;
}
#family-tree-dialog {
	border: none;
	margin: 20px;
	border-radius: 10px;
	box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0.3);
	width: calc(100vw - 40px);
	height: calc(100vh - 40px);
	overflow: visible;
}
.tree-container {
	position: relative;
}
.close-tree {
	color: white;
	cursor: pointer;
	position: absolute;
	top: -26px;
	right: -26px;
	padding: 5px;
	font-size: 25px;
	background: red;
	border-radius: 50px;
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: solid 1px #ccc;
}
.node-button-div > div {
	margin: 5px !important;
	width: 100%;
	font-size: 14px !important;
	display: flex;
	justify-content: center;
	align-items: center;
}
.family-member-admin {
	font-size: 14px;
	margin-top: 10px;
	padding: 10px;
	border-radius: 5px;
	background: #efefef;
}
