:root {
	--family-date-icon: url("/assets/images/family/calendar.svg");
}

.family_content {
font-family: 'Roboto Condensed', Arial, sans-serif !important
}

.family_tree_blog {
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
overflow: clip;
z-index: 4;
}

.family_tree_content {
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
z-index: 1;
cursor: grab;
background-color: #ffffff;
--grid-size: 24px; 
--grid-color: 0,0,0; 
--grid-alpha: 0.06;
background-image: 
linear-gradient(to right, rgba(var(--grid-color), var(--grid-alpha)) 1px, rgba(255,255,255,0) 1px),
linear-gradient(to bottom, rgba(var(--grid-color), var(--grid-alpha)) 1px, rgba(255,255,255,0) 1px);
background-size: var(--grid-size) var(--grid-size);
background-position: 0 0;
background-repeat: repeat;
 will-change: transform;
 transform: translateZ(0);
 backface-visibility: hidden;
}


.family_tree_content.static {
background-image: unset !important;
}

.family_tree {
pointer-events: none;
transform-origin: 0 0;
z-index: 2;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
will-change: transform;
 transform: translateZ(0);
 backface-visibility: hidden;
 transform-style: preserve-3d;
}

.family_header {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
}

.family_header.static .family_header_right{
position: absolute;
right: 0;
}

.family_header_center .code_title {
text-transform: uppercase;
color: rgba(46, 132, 194, 1);
font-size: 30px;
}

.family_header_center {
display: flex;
align-items: center;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
width: 100%;
}

.family_title {
margin-top: 40px;
text-align: center;
}

.family_settings{
cursor: pointer;
}

.family_page_settings {
	max-height: 0;
	opacity: 0;
	transform: translateY(-6px);
	transition: max-height .25s ease, opacity .25s ease, transform .25s ease;
	visibility: hidden;
	
}

.family_page_settings.is-open {
	max-height: 100%; 
	opacity: 1;
	transform: translateY(26px);
	visibility: visible;
}

.family_page_settings_flex{
display: flex;
gap: 20px;
padding-bottom: 15px;
padding-top: 15px;
justify-content: center;
} 

@media (min-width: 576px) {
.family_dialog {
max-width: 814px !important;
}
}

.family_form {
min-height: 600px;
}

.family_form {
display: flex;
flex-direction: column;
padding: 30px;
}

.family_form_img_text {
font-weight: 300;
font-size: 16px;
line-height: 100%;
color: #535353;
}

.family_form_img {
    background: rgba(255, 255, 255, 1);
    border: 1px solid rgba(210, 236, 255, 1);
border-radius: 35px;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
max-width: 257px;
width: 100%;
height: 257px;
margin: auto;
cursor: pointer;
}

.family_form_img_content {
display: flex;
flex-direction: column;
align-items: center;
gap: 30px;
}

.family_form {
display: flex;
flex-direction: column;
gap: 20px;
}

.family_form_flex {
display: flex;
align-items: center;
gap: 20px;
}

.family_form_flex > .family_form_item{
width: 49%;
justify-content: space-between;
}

.family_form_flex.center > .family_form_item{ 
width: auto;
}

.family_form_flex > .family_form_item .family_form_input {
max-width: 100%;
}

.family_form_input.is-readonly {
background: rgb(245, 245, 245);
}

.family_form_input.is-readonly .family_form_messenger_clear {
display: none;
}

.family_form_flex.center {
justify-content: center;
gap: 100px;
}

.family_form_name {
font-weight: 300;
font-size: 20px;
line-height: 24px;
text-transform: uppercase;
color: #535353;
position: relative;
}

.family_form_name span {
position: absolute;
top: -10px;
left: -14px;
color: #FF6D6D;
font-size: 12px;
}

.family_connection_blog {
width: 100%;
}

.family_form_drop {
max-width: 240px;
width: 100%;
}

.family_memorial_item_drop .dropdown_item_ul, .family_memorial_item_drop  .family_form_drop .dropdown_item.active > .dropdown_item_ul {
background: #FFFFFF !important;
}

.family_form_drop .dropdown_item {
height: 40px;
padding: 0px;
}

.family_form_drop .dropdown_item_name {
text-align: center;
font-weight: 400;
font-size: 14px;
line-height: 100%;
text-transform: uppercase;
}

.family_form_drop .dropdown_item_li {
padding: 12px 26px;
display: block;
color: rgba(83, 83, 83, 1);
}

.family_form_drop .dropdown_item.active > .dropdown_item_ul {
border-radius: 0px 0px 20px 20px;
}

.family_form_drop .dropdown_item.active {
border-radius: 20px 20px 0px 0px;
}

.family_form_drop .dropdown_item_option li {
padding: 12px 26px;
text-transform: uppercase;
}

.name_flex {
align-items: unset;
}

.family_form_input, .family_form_label {
background: #FFFFFF;
border: 1px solid #D2ECFF;
padding: 12px 20px;
border-radius: 20px;
height: 42px;
max-width: 180px;
width: 100%;
display: flex;
align-items: center;
}

.family_form_input, .add_messenger_btn {
height: 48px !important;
}

.family_form_input.w_100 {
max-width: 100%;
}

.family_form_input input[type="date"] {
	color: #535353BF;

}

.family_form_input input::placeholder {
color: rgba(83, 83, 83, 0.75);
}

.family_form_label {
max-width: 40px;
border-radius: 8px;
cursor: text;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
}

.family_form_label_ico {
font-size: 20px;
color: white;
display: none;
}

.family_form_label.active {
background: #2E84C2;
}

.family_form_label.active .family_form_label_ico {
display: block;
}

.family_form_label input { 
display: none;
}

.family_form_input input { 
border: none;
width: 100%;
height: 100%;
background: transparent;
}

.family_form_input input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 34px; 
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 20px 20px;
}

.family_form_input input[type="date"] {
	background-image: url("/assets/images/family/calendar.svg");
	background-repeat: no-repeat;
	background-position: right 8px center;
	background-size: 20px 20px;
	background-color: transparent; 
	padding-right: 36px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.family_form_input input[type="date"]::-webkit-calendar-picker-indicator {
	opacity: 0;
	display: block;
	width: 20px;
	height: 20px;
}

.family_date_wrap {
	position: relative;
	width: 100%;
}

.family_date_icon {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	pointer-events: auto;
	cursor: pointer;
	display: block;
}


.family_form_input input::placeholder {
color: rgba(83, 83, 83, 0.75);
}

.memorial_drop_id{

}

.family_connection_option {
padding: 12px 15px;
padding-top: 0;
}

.family_connection_option input{
background: #FFFFFF;
width: 100%;
height: 38px;
border-radius: 20px;
text-align: center;
padding: 12px 20px;
border: none;
margin-bottom: 12px;
margin-top: 16px;
}

.family_connection_option .btn_dark, .family_connection_option .btn_blue {
height: 38px;
width: 100%;
}

.family_form_img_preview {
	display: none;
	max-width: 100%;
	max-height: 100%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20px;
}


.family_tariffs {
background: #D2ECFF;
border-radius: 20px;
padding: 12px 20px;
font-weight: 500;
font-size: 16px;
line-height: 100%;
text-transform: uppercase;
color:  #2E84C2;
display: flex;
align-items: center;
}

.family_add {
height: 40px !important;
padding: 5px 20px !important;
}

.family_form_choice {
display: flex;
gap: 8px;
}

.family_form_choice_btn {
padding: 5px 35px 3px 35px;
border-radius: 20px;
color: var(--color_white);
background: var(--color_grey);
border: none;
font-size: 14px;
font-weight: 400;
text-transform: uppercase;
height: 5px;
display: flex;
align-items: center;
justify-content: center;
transition: 0.2s ease;
cursor: pointer;
height: 40px;
cursor: pointer;
gap: 5px;
}

.family_form_choice_btn.active {
background: var(--color_blue);
}

.family_form_messenger {
display: flex;
gap: 10px;
}

.family_form_messenger_item {
background: #535353;
width: 32px;
height: 32px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
padding: 5px;
cursor: pointer;
}

.family_form_messenger_item.active {
background: #2E84C2;
}

.family_form_messenger_item img {
width: revert-layer;
}

.family_form_messenger_clear {
	display: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin-left: 8px;
}

.family_page_settings_scale{
display: flex;
align-items: center;
justify-content: space-between;
position: absolute;
right: 0;
max-width: 203px;
width: 100%;
}

.family_page_settings_procent {
max-width: 120px;
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
border: 1px solid #535353;
border-radius: 20px;
color: #535353;
padding: 11px 20px;
}

.family_page_settings_defoult {
border: 1px solid #535353;
border-radius: 20px;
color: #535353;
padding: 7.5px 20px;
cursor: pointer;
max-width: 70px;
width: 100%;
}

.settings_procent_icon {
cursor: pointer;
}

.family_page_item {
position: relative;
max-width: 250px;
width: 100%;
background: #FFFFFF;
box-shadow: 0px 0px 150px 0px rgba(0, 0, 0, 0.06);
border-radius: 30px;
padding: 10px 15px;
display: flex;
flex-direction: column;
align-items: center;
height: 100%;
}

.broadcast_blog .promt_icon {
position: absolute;
left: 15px;
top: 15px;
}

.family_broadcast_status {
font-weight: 300;
font-size: 14px;
line-height: 100%;
letter-spacing: 0%;
text-align: center;
text-transform: lowercase;
color: rgba(255, 0, 0, 1);
margin-top: 15px;
}

.family_page_item_icon {
width: max-content;
margin: auto;
margin-top: 35px;
}



.family_page_item_title {
font-weight: 300;
font-size: 24px;
line-height: 100%;
text-align: center;
text-transform: uppercase;
color: #535353;
margin-top: 16px;
}

.family_page_button {
	display: flex;
	gap: 10px;
	margin-top: 20px;
	align-items: stretch;
}

.family_page_button a {
	width: 50%;
}

.family_page_item_subtitle{
font-weight: 300;
font-size: 14px;
line-height: 100%;
letter-spacing: 0%;
text-align: center;
text-transform: uppercase;
margin-top: 20px;
color: #535353;
}

.family_tariffs_blog {
	position: relative;
	padding: 10px 30px;
	border-radius: 20px;
	font-weight: 500;
	font-style: Medium;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0%;
	text-transform: uppercase;
	text-align: center;
}

.family_tariffs_promt {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	margin-top: 10px;
	z-index: 0;
	opacity: 0;
	visibility: hidden;
	font-weight: 300;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0%;
	color: rgba(83, 83, 83, 1);
	border: 1px solid #2E84C2;
	text-align: start;
	border-radius: 15px;
	padding: 8px;
	transition: 0.2s ease;
	width: 218px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(46, 132, 194, 0.08);
text-transform: none;
}

.family_tariffs_promt span {
font-weight: 400;
color: rgba(83, 83, 83, 1);
}

.family_tariffs_promt::before {
	content: "";
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid #2E84C2;
}

.family_tariffs_blog:hover .family_tariffs_promt {
	opacity: 1;
	visibility: visible;
	z-index: 10;
	transition: 0.2s ease;
}

.family_tariffs_text {
font-weight: 300;
font-size: 14px;
line-height: 130%;
letter-spacing: 0%;
text-align: center;
margin-top: 22px;
}

.family_tariffs_text span {
color: #2E83C1;
}

.family_tariffs_blog.demo {
border: 1px solid #2E83C1;
color: #2E83C1;
}

.family_tariffs_blog.basic {
background: #D2ECFF;
color: #2E83C1;
}

.family_tariffs_blog.pro {
background: #535353;
color: #FFFFFF;
}



.family_page_item .btn_code {
height: 43px;
}

.family_tariffs_status {
font-weight: 400;
font-size: 14px;
line-height: 100%;
letter-spacing: 0%;
text-align: center;
text-transform: uppercase;
color: #2E83C1;
margin-top: 11px;
}

.family_tariffs_progress {
width: 100%;
margin-top: 18px;
display: flex;
flex-direction: column;
gap: 10px;
}

.family_tariffs_progress_item {
width: 100%;
}

.family_tariffs_progress_head {
display: flex;
align-items: center;
justify-content: space-between;
}

.family_tariffs_progress_title {
font-weight: 300;
font-size: 14px;
line-height: 100%;
letter-spacing: 0%;
color: #535353;
}

.family_tariffs_progress_number {
font-weight: 300;
font-size: 14px;
line-height: 100%;
letter-spacing: 0%;
color: #2E83C1;
}

.family_tariffs_progress_line {
width: 100%;
background: #CFDBE8;
height: 10px;
border-radius: 8px;
display: flex;
align-items: center;
margin-top: 10px;
}

.family_tariffs_progress_bar {
height: 100%;
background: #2E83C1;
border-radius: 8px;
width: 8px;
}

.family_invite_icon {
margin: auto;
margin-top: 20px;
margin-bottom: 20px;
}

.family_invite_icon img{
width: 30px;
}

.family_invite_flex {
position: relative;
display: flex;
align-items: center;
gap: 20px;
max-width: 250px;
width: 100%;
margin: auto;
margin-top: 20px;
margin-bottom: 20px;
}

.family_invite_form .promt_icon {
    position: absolute;
    cursor: pointer;
    display: flex;
    right: -12%;
}

.promt_icon img {
position: relative;
z-index: 1000;
}

.promt_blog {
    position: absolute;
    top: 12px;
    padding: 13px;
    border: 1px solid rgba(183, 192, 199, 1);
    background: white;
    border-radius: 0 20px 20px 20px;
    width: max-content;
    max-width: 250px;
    display: none;
    z-index: 1;
}

.promt_blog.left {
    left: auto;
    right: 12px;
    border-radius: 20px 0 20px 20px;
}

.promt_blog.right {
    left: 12px;
    right: auto;
    border-radius: 0 20px 20px 20px;
}

.promt_blog.center {
    left: 50%;
    transform: translateX(-50%);
    right: auto;
    border-radius: 20px 20px 20px 20px;
}

.promt_icon {
	position: relative;
	cursor: pointer;
	display: flex;
}

.promt_icon img {
	width: 22px;
}

.promt_icon:hover .promt_blog {
    display: block;
    z-index: 100;
}

.family_invite_status {
font-weight: 300;
font-size: 16px;
line-height: 100%;
letter-spacing: 0%;
text-align: center;
text-transform: lowercase;
margin-top: 10px;
}

.family_invite_status.error {
color: #FF0000;
}

.family_invite_status.accepted {
color: #2E84C2;
}

.family_invite_info {
margin-top: 40px;
display: flex;
flex-direction: column;
}

.family_invite_link_blog {
margin-top: 15px;
display: flex;
flex-direction: column;
gap: 10px;
}

.family_links_flex {
display: flex;
align-items: center;
gap: 20px;
justify-content: flex-end;
}

.family_invite_link_blog .family_invite_list_item{
max-width: 600px;
width: 100%;
}

.family_invite_list {
display: flex;
flex-direction: column;
gap: 10px;
}

.family_invite_title {
font-weight: 300;
font-size: 18px;
line-height: 100%;
letter-spacing: 0%;
text-align: center;
text-transform: uppercase;
margin-bottom: 20px;
}

.family_invite_list_item {
border: 1px solid #D2ECFF;
padding: 10px 20px;
border-radius: 20px;
display: flex;
align-items: center;
justify-content: space-between;
max-width: 470px;
width: 100%;
margin: auto;
}

.family_page_item_name{
font-weight: 600;
font-size: 20px;
line-height: 100%;
text-align: center;
text-transform: uppercase;
margin-top: 20px;
color: #535353;
}

.family_invite_email {
font-weight: 400;
font-size: 20px;
line-height: 100%;
letter-spacing: 0%;
color: #535353BF;
}

.family_invite_remove {
font-weight: 300;
font-style: Light;
font-size: 20px;
line-height: 100%;
letter-spacing: 0%;
color: #2E84C2;
cursor: pointer;
}

.family_invite_line {
background: #2E83C1;
max-width: 800px;
width: 100%;
height: 1px;
margin-top: 30px;
margin-bottom: 10px;
}

.family_button .btn_code{
height: 40px;
}

.family_create_link_status {
font-weight: 300;
font-style: Light;
font-size: 16px;
line-height: 100%;
letter-spacing: 0%;
text-align: center;
text-transform: lowercase;
margin-top: 20px;
}

.family_create_link_status.error {
color: #FF0000;
}

.family_create_link_status.send {
color: #34A853;
}

.family_create_link_status.active {
color: #889CAA;
}

.family_page_list_blog {
display: flex;
gap: 5px;
}

.family_page_list {
max-width: 80%;
width: 100%;
margin-top: 20px;
}

.family_page_list_title, .family_page_list_value {
font-weight: 300;
font-size: 14px;
line-height: 30px;
color: #535353;
}

.family_page_list_value{
color: #2E84C2;
}

.family_page_tree_name {
width: 100%;
margin-top: 20px;
}

.tree_input {
width: 100%;
border: 1px solid #D2ECFF;
background: #F9FAFB;
border-radius: 20px;
padding: 8px 20px;
text-align: center;
height: 55px;
}

.tree_input::placeholder {
color: #535353BF;
}

.family_button {
display: flex;
gap: 15px;
justify-content: center;
flex-wrap: wrap;
justify-content: center;
}

.family_button .btn_border {
border: 1px solid #535353;
color: #535353;
}

.delete_family_card {
    padding: 5px 35px 3px 35px;
    color: #2E84C2;
    border: none;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    height: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: 0.2s ease;
    cursor: pointer;
    height: 55px;
}

.family_page_item .btn_dark, .family_page_item .btn_code{
height: 43px;
}

.family_requirements_text {
font-weight: 400;
font-size: 16px;
line-height: 100%;
letter-spacing: 0%;
color: #FF6D6D;
text-align: center;
width: 100%;
}

.family_card {
	position: absolute;
	width: 402px;
	background: #fff;
	border-radius: 30px;
	padding: 20px;
	box-shadow: 0px 0px 10px 0px #53535340;
	border: 2px solid transparent;
	will-change: transform;
	transform: translateZ(0);
	backface-visibility: hidden;
}

.family_card,
.merge_node {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.family_card input,
.family_card textarea,
.family_card select {
	-webkit-user-select: text;
	-moz-user-select: text;
	-ms-user-select: text;
	user-select: text;
}

.family_card { cursor: grab; }
.family_card.dragging { cursor: grabbing; }

.family_setting {
position: fixed;
top: 97px;
right: 0;
width: 100%;
z-index: 1000;
background: rgb(255, 255, 255);
padding: 15px;
}

.family_setting.static {
padding: 40px;
}

.family_tree_head {
width: 100%;
display: flex;
gap: 20px;
justify-content: center;
margin: auto;
background: #ffffff;
margin-top: 60px;
}

.family_tree_header {
z-index: 10;
background: rgb(255, 255, 255);
max-width: 560px;
width: 100%;
box-shadow: 0px 0px 100px 0px rgba(46, 131, 193, 0.06);
border-radius: 20px;
padding: 20px;
border: 1px solid rgba(46, 131, 193, 1)
}

.family_tree_header_title {
    font-weight: 300;
    font-size: 20px;
    line-height: 100%;
    text-align: center;
    text-transform: uppercase;
    color: rgba(83, 83, 83, 1);
    margin-bottom: 15px;
}

.family_tree_owner {
    font-weight: 500;
    font-size: 24px;
    text-align: center;
    text-transform: uppercase;
    color: rgba(83, 83, 83, 1);
}


.tree_title, .family_tree_qr_text {
font-weight: 700;
font-size: 40px;
line-height: 100%;
text-align: center;
text-transform: uppercase;
}

.family_tree_qr_text  {
font-size: 24px;
}

.tree_title span, .family_tree_qr_text span {
color: #2E84C2;
}

.family_tree_qr {
max-width: 340px;
width: 100%;
}

.family_tree_qrcode_img {
    max-width: 200px;
    width: 100%;
    margin: 0 auto;
    background: rgba(255, 255, 255, 1);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0px 0px 150px 0px rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
}

.family_card_header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}

.family_card_gender {
font-size: 18px;
}

.family_card.man .family_card_gender{
color: #2E84C2;
}

.family_card.woman .family_card_gender{
color: #FF6D6D;
}

.family_card.dead .family_card_gender{
color: #535353;
}

.family_role_badge {
padding: 8px 10px;
border-radius: 28px;
font-weight: 500;
font-size: 16px;
line-height: 22px;
letter-spacing: 0%;
text-align: center;
vertical-align: middle;
text-transform: uppercase;
width: 80%;
}

.family_card.man .family_role_badge{
background: #D2ECFF;
color: #535353;
}

.family_card.woman .family_role_badge{
background: #FF6D6D;
color: white;
}

.family_card.dead .family_role_badge{
background: #535353;
color: white;
}

.family_card_dots {
width: 14px;
height: 14px;
border-radius: 50%;
}


.family_card.man .family_card_dots{
background: #D2ECFF;
}

.family_card.woman .family_card_dots{
background: #FF6D6D;
}

.family_card.dead .family_card_dots{
background: #535353;
}

.family_avatar, .family_avatar_deff {
	max-width: 362px;
	width: 100%;
	height: 362px;
	margin: auto;
	margin-top: 0;
	margin-bottom: 0;
	border-radius: 20px;
	overflow: hidden;
transition: filter 0.2s ease;
}

.family_avatar img {
    object-fit: cover;
    height: 100%;
}

.family_avatar_deff {
transition: unset;
background: #5353530D;
display: flex;
align-items: center;
justify-content: center;
font-size: 113px;
color: #53535340;

}

.family_card.man:hover{
border: 2px solid #2E84C2;
box-shadow: 0px 0px 10px 0px #2E84C240;
}

.family_card.woman:hover{
border: 2px solid #FF6D6D;
box-shadow: 0px 0px 10px 0px #FF6D6D40;
}

.family_card.dead:hover .family_avatar{
filter: grayscale(100%);
transition: filter 0.2s ease;
}

.family_card.dead:hover {
box-shadow: 0px 0px 10px 0px #53535340;
border: 2px solid transparent;
}

.family_name {
font-weight: 300;
font-size: 24px;
line-height: 32px;
letter-spacing: 0%;
text-align: center;
vertical-align: middle;
text-transform: uppercase;
color: #535353;
margin-top: 20px;
margin-bottom: 16px;
}

.family_dead, .family_man {
    position: relative;
    max-width: 417px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 20px;
    margin: auto;
    background: var(--card);
    box-shadow: 0px 0px 50px 0px rgba(83, 83, 83, 0.15);
    margin-bottom: 20px;
    margin-top: 20px;
    height: 58px;
}

.family_live_date {
display: flex;
flex-direction: column;
width: 100%;
}

.family_dead_unknown_text {
width: 100%;
font-weight: 500;
font-size: 30px;
line-height: 100%;
letter-spacing: 0%;
text-align: center;
vertical-align: middle;
text-transform: uppercase;

}

.family_date_item.no_date {
	display: flex;
	align-items: center;
	justify-content: center;
}

.family_dead_no_text {
	font-weight: 600;
	font-size: 22px;
	line-height: 100%;
	text-transform: uppercase;
	color: #535353;
}


.family_date_item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: 140px;
    width: 100%;
}

.family_date_number {
    display: block;
    color: var(--color_grey2);
    font-size: 30px;
    font-weight: 800;
    line-height: 100%;
}

.family_date_text {
    display: block;
    color: var(--color_grey2);
    font-size: 14px;
    font-weight: 300;
    text-transform: uppercase;
}

.family_yearsOfLife {
     position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 160px;
    width: 100%;
    box-shadow: 0px 0px 50px 0px rgba(46, 131, 193, 0.15);
    border-radius: 20px;
    padding: 5px;
}

.family_yearsOfLife_dash {
font-weight: 800;
font-size: 30px;
line-height: 100%;
letter-spacing: 0%;
text-align: center;
vertical-align: middle;
color: #535353;
}

.family_yearsOfLife.line {
box-shadow: none;
width: max-content;
}

.family_yearsOfLife_number {
    color: var(--color_grey2);
      font-size: 30px;
    font-weight: 800;
    position: relative;
    line-height: 100%;
}

.family_yearsOfLife_text{
    display: block;
    color: var(--color_grey2);
    font-size: 14px;
    font-weight: 300;
    text-transform: uppercase;
}

.family_live_date_title{
font-weight: 300;
font-size: 16px;
line-height: 20px;
text-align: center;
vertical-align: middle;
text-transform: uppercase;
color: #2E84C2;
}

.family_card.man .family_live_date_title{
color: #2E84C2;
}

.family_card.woman .family_live_date_title{
color: #FF6D6D;
}

.family_live_date_val {
font-weight: 500;
font-size: 24px;
line-height: 30px;
vertical-align: middle;
text-transform: uppercase;
color: #2E84C2;
text-align: center;
}

.family_card.man .family_live_date_val{
color: #2E84C2;
}

.family_card.woman .family_live_date_val{
color: #FF6D6D;
}


.family_show_link {
max-width: 100%;
width: 100%;
height: 38px;
font-weight: 300;
font-size: 16px;
line-height: 22px;
text-align: center;
vertical-align: middle;
text-transform: uppercase;
padding: 5px 35px 3px 35px;
border-radius: 28px;
color: var(--color_white);
display: inline-flex;
align-items: center;
justify-content: center;
transition: 0.2s ease;
cursor: pointer;
background: #2e84c1;
}



.family_card.man .family_show_link{
background: #2E84C2;
}

.family_card.woman .family_show_link{
background: #FF6D6D;
}



.family_show_link:hover {
color: var(--color_white);
}

.family_item_button {
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
margin-top: 20px;
}


.family_btn {
font-weight: 300;
font-size: 16px;
line-height: 22px;
letter-spacing: 0%;
vertical-align: middle;
text-transform: uppercase;
cursor: pointer;
}

.family_card.man .family_btn{
color: #2E84C2;
}

.family_card.woman .family_btn{
color: #FF6D6D;
}


.family_year_selected_label {
font-size: 12px;
}

.family_view_name {
font-weight: 500;
font-style: Medium;
font-size: 24px;
line-height: 32px;
letter-spacing: 0%;
text-align: center;
vertical-align: middle;
text-transform: uppercase;
color: #535353;
}

.family_view_date_year { font-weight: 700; }
.family_view_date_text { font-size: 12px; }

.family_view_date_title {
font-weight: 500;
font-size: 24px;
line-height: 100%;
letter-spacing: 0%;
text-align: center;
vertical-align: middle;
text-transform: uppercase;
color: #535353;
}

.family_view_live_val {
	color: #E33636;
	font-weight: 700;
}

.family_view_years_center { text-align: center; }
.family_view_years_value { font-size: 18px; font-weight: 700; }
.family_view_years_label { font-size: 10px; text-transform: uppercase; }
.family_view_years_dash { font-weight: 800; font-size: 30px; color: #535353; }

.family_view_section_title {
margin-top: 35px;
font-weight: 300;
font-size: 20px;
line-height: 100%;
text-transform: uppercase;
color: #535353;
}

.family_view_desc { 
font-weight: 400;
font-size: 20px;
line-height: 100%;
letter-spacing: 0%;
margin-top: 12px;
color: rgba(83, 83, 83, 1);
overflow-wrap: break-word;
word-break: break-word;
}

.family_view_modal_body  {
padding: 40px;
}

.family_view_modal_body.woman .family_live_date_title, .family_view_modal_body.woman .family_live_date_val{
color: #FF6D6D;
}

.family_view_modal_body.man .family_live_date_title, .family_view_modal_body.man .family_live_date_val{
color: #2E84C2 ;
}

.family_view_modal_body .family_dead {
max-width: 362px;
}

.family_view_modal_body  .family_man {
box-shadow: none;
}

.family_view_socials {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 15px;
}

.family_tree_owner .family_view_socials.man .family_view_social_link{
    background: #2E84C2;
}

.family_tree_owner .family_view_socials.woman .family_view_social_link{
    background: #FF6D6D;
}

.family_view_social_link{
width: 32px;
 height: 32px; 
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius: 50%; 
}

.family_view_social_link img {
width: 15px;
height: 15px;
}


.family_view_modal_body.woman .family_view_social_link{
background: #FF6D6D;
}

.family_view_modal_body.man .family_view_social_link{
background: #2E84C2;
}

.family_show_link.noactive {
background: #535353 !important;
pointer-events: none !important;
}

.merge_node {
	position: absolute;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #5c5a5a;
	cursor: pointer;
	z-index: 5;
}

.merge_node .merge_node_grab {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 60px;  
	height: 60px;
	margin-left: -30px;
	margin-top: -30px;
	border-radius: 50%;
	border: 2px solid rgba(51, 51, 51, 0.35);
	background: rgba(51, 51, 51, 0.04);
	pointer-events: none; 
	transform: scale(0.4);
	opacity: 0;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.merge_node:hover .merge_node_grab {
	pointer-events: auto; 
	opacity: 1;
	transform: scale(1);
}

.jtk-connector, .jtk-endpoint, .jtk-overlay { z-index: 3; }
.family_card, .merge_node { z-index: 4; }

 .merge_node * { pointer-events: none; }
.family_card, .merge_node { pointer-events: auto; }

.family_connection_popup {
	pointer-events: auto;
	z-index: 3000;
}
.family_connection_popup * { pointer-events: auto; }

.family_connection_backdrop {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.35);
	z-index: 2990;
}

.family_connection_popup {
	box-shadow: 0 8px 40px rgba(0,0,0,0.2);
	border-radius: 12px;
	background: #ffffff;
	max-width: 280px;
	width: 100%;
}

.family_connection_popup .family_connection_popup_inner { padding: 12px; }
.family_connection_popup_header { display:flex; justify-content:flex-end; }
.conn_popup_close { background: transparent; border: none; font-size: 20px; line-height: 1; cursor: pointer; }

.family_connection_popup_body { margin-top: 8px; }

.family_connection_popup_body .family_form_drop {
max-width: 100%;
}

.family_connection_popup_footer { display:flex; gap:12px; justify-content:flex-end; margin-top: 12px; }
.conn_popup_cancel { padding: 8px 14px; border-radius: 10px; cursor: pointer; }
.conn_popup_save { padding: 8px 14px; border-radius: 10px; cursor: pointer; }

.family_card.drag-hover { box-shadow: 0 0 0 4px rgba(46,132,194,0.12), 0 8px 30px rgba(46,132,194,0.08); }

.family_card_header,
.family_card button,
.family_card a,
.family_card input,
.family_card textarea,
.family_card select,
.family_card .btn,
.family_card [data-clickable],
.family_card [data-no-drag] {
	pointer-events: auto;
}

.conn_popup_save {
width: 100%;
height: 40px !important;
}

.jtk-connector path {
	stroke-linecap: round;
}



.myfamily_list {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 74px;
justify-content: space-between;
}

.tree_tafiffs_blog {
margin-top: 75px;
margin-bottom: 30px;
display: none;
}

.tree_page_conetent {
padding-bottom: 60px;
}

.myfamily_list.no_tree {
grid-template-columns: unset;
justify-content: center;
}

.no_tree {
font-weight: 400;
font-size: 24px;
line-height: 100%;
letter-spacing: 0%;
text-transform: uppercase;
text-align: center;
color: rgba(83, 83, 83, 1);
}

.myfamily_item {
background: #FFFFFF;
    box-shadow: 0px 0px 70px 0px rgba(83, 83, 83, 0.1);
border-radius: 30px;
padding: 30px;
}

.myfamily_left {
max-width: 200px;
width: 100%;
}

.myfamily_right {
max-width: 100%;
width: 100%;
}
.myfamily_img {
	position: relative;
	max-width: 200px;
	width: 100%;
	height: 200px;
	border-radius: 30px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0px 0px 20px 4px rgba(83, 83, 83, 0.08);
	border: 5px solid #fff;
	background: transparent;
	filter: drop-shadow(0px 0px 20px rgba(83, 83, 83, 0.2));
}

.myfamily_body {
display: flex;
}

.myfamily_img img {
width: auto;
}

.myfamily_actions {
display: flex;
gap: 10px;
justify-content: flex-end;
width: 100%
}

.myfamily_actions .myfamily_btn {
max-width: 180px;
}

.myfamily_title {
font-size: 24px;
padding-left: 35px;
text-transform: uppercase;
color: #535353;
}

.myfamily_tariffs_flex {
display: flex;
align-items: center;
height: 30px;
gap: 15px;
margin-top: 18px;
padding-left: 35px;
box-shadow: 0px 0px 50px 0px rgba(46, 131, 193, 0.15);
background: rgba(255, 255, 255, 1);
border-radius: 0px 15px 15px 0px;
text-transform: uppercase;
}

.myfamily_tariffs_title {
color: rgba(46, 131, 193, 1);
font-size: 15px;
font-weight: 700;
width: 100%;
}

.myfamily_tariffs_name {
font-size: 15px;
font-weight: 400;
color: rgba(165, 183, 198, 1);
padding: 3px 10px;
border-radius: 15px;
box-shadow: none;
background: unset;
text-align: center;
max-width: 180px;
width: 100%;
text-transform: uppercase;
}

.myfamily_item[data-tariff-id="2"] .myfamily_tariffs_name {
	color: rgba(46, 132, 194, 1);
 }

 
.myfamily_item[data-tariff-id="3"] .myfamily_tariffs_name {
	color: rgba(83, 83, 83, 1);
 }

.myfamily_create_flex {
display: flex;
align-items: center;
justify-content: space-between;
}

.myfamily_create_date {
font-weight: 400;
font-size: 13px;
line-height: 100%;
text-transform: uppercase;
margin-top: 7px;
margin-bottom: 8px;
padding-left: 35px;
text-transform: uppercase;
text-align: center;
}

.myfamily_date_remainder {
    font-size: 13px;
    font-weight: 400;
    color: #2E84C2;
    box-shadow: none;
    background: unset;
    text-align: center;
	max-width: 180px;
    width: 100%;
	text-transform: uppercase;
}

.myfamily_info_flex {
display: flex;
align-items: center;
justify-content: space-between;
}

.myfamily_info_links {
display: flex;
flex-direction: column;
gap: 5px;
padding-left: 35px;
}

.myfamily_role {
font-weight: 300;
font-size: 15px;
line-height: 100%;
letter-spacing: 0%;
text-transform: uppercase;
color: rgba(165, 183, 198, 1);
margin-top: 8px;
}

.myfamily_role span {
font-weight: 500;
}

.family_blog {
display: none;
}

.family_blog_content {
display: flex;
flex-direction: column;
gap: 10px;
}

.family_form_item {
display: flex;
flex-direction: column;
gap: 10px;
}

.myfamily_links {
font-size: 15px;
font-weight: 400;
color: rgba(46, 131, 193, 1);
width: max-content;
cursor: pointer;
}

.myfamily_item_id {
border: 1px solid rgba(165, 183, 198, 1);
background: rgba(255, 255, 255, 1);
font-weight: 300;
font-size: 15px;
color: rgba(165, 183, 198, 1);
padding: 26px 18px;
border-radius: 15px;
min-width: 180px;
text-align: center;
}

.myfamily_footer{
display: flex;
justify-content: space-between;
gap: 14px;
margin-top: 17px;
}

.myfamily_btn {
padding: 5px 20px;
border-radius: 28px;
color: var(--color_white);
background: var(--color_blue);
border: none;
font-size: 15px;
font-weight: 400;
text-transform: uppercase;
height: 5px;
display: inline-flex;
align-items: center;
justify-content: center;
transition: 0.2s ease;
cursor: pointer;
max-width: 200px;
width: 100%;
height: 30px;
}


.myfamily_footer .myfamily_btn.size {
font-size: 13px;
cursor: default;
}

/* Модерация пройдена */
.myfamily_status_approved {
background: #535353;
}

/* Модерация не пройдена */
.myfamily_status_rejected {
background: #DC8F90;
}

/* На модерации */
.myfamily_status_pending {
background: #889CAA;
}

/* Требуется оплата */
.myfamily_status_payment {
background: #DC8F90;
}

/* Не опубликовано */
.myfamily_status_unpublished {
background: #889CAA;
}


/* Пролонгировать — стили не заданы */
/* Изменить тариф — стили не заданы */
/* Увеличить лимит — стили не заданы */
/* Продлить — стили не заданы */

.myfamily_moder_error {
background: #FFD7D7;
border-radius: 15px;
padding: 5px 15px;
text-align: center;
font-weight: 400;
font-size: 14px;
line-height: 100%;
color: #535353;
margin-top: 5px;
}

.myfamily_info_show {
padding-left: 35px;
}

.myfamily_info_show_title {
font-weight: 400;
font-size: 16px;
line-height: 100%;
color: #2E83C1;
margin-bottom: 5px;
}

.myfamily_info_show_text {
font-weight: 400;
font-size: 14px;
letter-spacing: 0%;
text-transform: uppercase;
color: #535353;
}

.show_modal_error{
display: flex;
flex-direction: column;
align-items: center;
padding-top: 70px;
}


.show_modal_error_icon {
padding-bottom: 33px;
font-size: 40px;
color: green;
margin-top: 20px;
text-align: center;
}

.show_modal_error_title {
font-weight: 400;
font-size: 24px;
line-height: 100%;
letter-spacing: 0%;
text-transform: uppercase;
color: #535353;
}

.show_modal_error_text, .show_modal_success_info{
font-weight: 400;
font-size: 20px;
line-height: 100%;
letter-spacing: 0%;
text-align: center;
text-transform: uppercase;
color: #535353;
padding-top: 20px;
padding-bottom: 45px;
}

.show_modal_success_info {
padding: 0px;
}

.show_modal_error_button {
display: flex;
align-items: center;
justify-content: center;
gap: 20px;
width: 100%;
}

.show_modal_error_button .btn_code {
max-width: max-content;
width: 100%;
height: 40px;
}

@media (min-width: 576px) {
.error_dialog {
max-width: 600px !important;
}

}

.kb-toast {
	position: fixed;
    right: 30px;
    top: 130px;
	min-width: 320px;
	max-width: calc(100% - 40px);
	z-index: 99999999999;
	display: flex;
	align-items: center;
	justify-content: flex-end; 
	pointer-events: auto;
	opacity: 0;
	transform: translateX(100%);
	transition: transform .28s cubic-bezier(.2,.9,.2,1), opacity .28s ease;
}

.kb-toast--visible { 
	transform: translateX(0);
	opacity: 1; 
}

.kb-toast__inner {
	background: white; 
	color: #2e84c2; 
	padding: 5px 10px;
	border-radius: 30px;
	display: flex;
	gap: 12px;
	align-items: center;
	width: 100%;
	justify-content: space-between;
	border: 2px solid #2e84c2; 
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.kb-toast--error .kb-toast__inner { 
	border-color: rgba(255, 0, 0, 1); 
	color: black; 
}

.kb-toast--success .kb-toast__inner { 
	border-color: rgba(52, 168, 83, 1); 
	color: black; 
}

.kb-toast__message { flex: 1; text-align: center; font-weight: 500; }
.kb-toast__close {
	background: transparent;
	border: none;
	color: rgba(0, 0, 0, 0.9);
	font-size: 25px;
	line-height: 1;
	cursor: pointer;
	padding: 5px;
}

.kb-toast__close:focus { 
	outline: none; 
}

.page_setting_mobile {
    font-size: 11px;
    max-width: 100%;
    width: 100%;
    text-align: center;
    padding: 10px 10px;
    border-radius: 20px;
    color: #2E84C2;
    background: #D2ECFF;
    margin-bottom: 10px;
    display: none;
    text-transform: uppercase;
}

@media (min-width: 320px) and (max-width: 767px) {
.family_header_right  {
position: absolute;
right: 0;
}

.family_header{
justify-content: center;
flex-direction: column;
}

.family_tree_head {
margin-top: 10px;
}

.family_tree_name {
width: 100%;
text-align: center;
}

.family_setting {
padding: 10px;
}

.family_header_center {
gap: 10px;
}

.family_page_settings_scale{
max-width: max-content;
gap: 10px;
}

.page_setting_mobile {
display: block;
}

.myfamily_item {
padding: 0px !important;
}

.myfamily_create_flex, .myfamily_info_flex {
padding-left: 20px;
padding-right: 20px;
}

.myfamily_tariffs_title {
padding-left: 20px;
}

.myfamily_item {
padding-bottom: 20px !important;
}

.myfamily_item  {
padding-top: 20px !important;
}

.myfamily_tariffs_flex {
border-radius: 0px;
}

.myfamily_tariffs_flex {
gap: 5px;
}

.myfamily_tariffs_name {
max-width: 180px;
margin-right: 20px;
}

.myfamily_info_flex {
display: flex;
gap: 20px;
align-items: unset;
flex-direction: column;
}

.myfamily_create_date {
text-align: start;
}

.myfamily_tariffs_flex {
justify-content: space-between;
}

.myfamily_tariffs_title {
width: max-content;
}

}

@media (min-width: 320px) and (max-width: 959px)  {
	.family_setting {
	top: 64px;
	}

}

.send_invite_btn {
font-weight: 400;
font-size: 14px;
line-height: 100%;
text-align: center;
text-transform: lowercase;
color: rgba(46, 132, 194, 1);
margin-top: 7px;
cursor: pointer;
}

.family_memorial_item_drop {
margin-top: 10px;
margin-bottom: 10px;
}

.family_memorial_item_drop .dropdown_item{
background: #ffffff;
}
.family_memorial_item_drop {
	margin-top: 10px;
	margin-bottom: 10px;
}

.memorial_label {
display: flex;
align-items: center;
gap: 3px;
}

.memorial_name {
	font-size: 14px;
	line-height: 1;
	color: #374151; 
	font-weight: 600;
	text-transform: uppercase;
}
.memorial_id {
	font-size: 14px;
	color: #6b7280; 
}

.register_or {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 45px;
}

.login_or{
    margin-bottom: 16px;
    margin-top: 16px;
}

.register_or_line {
max-width: 50px;
width: 100%;
height: 1px;
background:rgba(46, 131, 193, 1);
}

.register_or_text {
font-size: 14px;
font-weight: 300;
color: var(--color_grey2);
}

.dropdown_item_ul .btn_code {
padding: 5px 15px 3px 15px;
height: 38px;
width: 100%;
}

