@charset "UTF-8";
.ff-playfair {
  font-family: Playfair Display !important;
}

.ff-noto {
  font-family: Noto Sans !important;
}

.fs-12 {
  font-size: 12px !important;
}

.fs-14 {
  font-size: 14px !important;
}

.fs-16 {
  font-size: 16px !important;
}

.fs-18 {
  font-size: 18px !important;
}

.fs-20 {
  font-size: 20px !important;
}

.fs-24 {
  font-size: 24px !important;
}

.fs-32 {
  font-size: 32px !important;
}

.fw-300 {
  font-weight: 300 !important;
}

.fw-400 {
  font-weight: 400 !important;
}

.fw-500 {
  font-weight: 500 !important;
}

.fw-600 {
  font-weight: 600 !important;
}

.fw-700 {
  font-weight: 700 !important;
}

.lh-17 {
  line-height: 17px !important;
}

.lh-18 {
  line-height: 18px !important;
}

.lh-19 {
  line-height: 19px !important;
}

.lh-21 {
  line-height: 21px !important;
}

.lh-22 {
  line-height: 22px !important;
}

.lh-24 {
  line-height: 24px !important;
}

.lh-29 {
  line-height: 29px !important;
}

.lh-32 {
  line-height: 32px !important;
}

.lh-38 {
  line-height: 38px !important;
}

.c-slate-light {
  color: #D2E0E5 !important;
}

.c-slate-dark {
  color: #92B3C0 !important;
}

.c-gray-500 {
  color: #ADB5BD !important;
}

.c-dove {
  color: #00222F !important;
}

.c-grey-white {
  color: #FFFFFF !important;
}

.bg-dove {
  background-color: #00222F !important;
}

.build-text {
  color: white;
  margin-left: 32px !important;
}

.login-user-select {
  position: absolute !important;
  left: 16px !important;
  top: 14px !important;
}
.login-user-select .dropdown-toggle {
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.login-user-select .dropdown-toggle :hover {
  background-color: transparent !important;
  border: none !important;
}

html, body {
  background-color: #00222F !important;
  -ms-overflow-style: none !important; /* IE and Edge */
  scrollbar-width: none !important; /* Firefox */
  height: 100dvh;
  width: 100% !important;
  overflow: visible !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  background-color: #00222F !important;
  -ms-overflow-style: none !important; /* IE and Edge */
  scrollbar-width: none !important; /* Firefox */
}

.no-scrollbar {
  overflow: -moz-scrollbars-none; /* For older Firefox versions */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
  scrollbar-width: none; /* For Firefox */
}

.no-scrollbar::-webkit-scrollbar {
  display: none; /* For Webkit browsers */
}

.slides::-webkit-scrollbar,
.modal-create-memorial::-webkit-scrollbar,
.modal-success-div::-webkit-scrollbar,
.image-gallery::-webkit-scrollbar,
.home-memorials::-webkit-scrollbar,
.timeline-memories::-webkit-scrollbar,
.leaf-pills::-webkit-scrollbar,
.card-messages::-webkit-scrollbar {
  display: none !important;
  -ms-overflow-style: none !important; /* IE and Edge */
}

p {
  margin: 0 !important;
  padding: 0 !important;
}

.login-top {
  padding: 1.2rem;
  background: linear-gradient(180deg, #309580 -233.19%, #00222F 100%);
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2509803922);
}
.login-top .login-title {
  font-family: Playfair Display;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  text-align: center;
  color: #FFFFFF;
}

.login-heading p:nth-child(2) {
  font-family: Playfair Display;
  font-size: 32px;
  font-weight: 500;
  line-height: 38px;
  letter-spacing: 0em;
  text-align: center;
  color: #FFFFFF;
}
.login-heading p:last-child {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: center;
  color: #92B3C0;
}

.login-img-close {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.0509803922);
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 24px;
  right: 16px;
}

.login-form {
  height: 100%;
  text-align: left;
}
.login-form label {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 500;
  line-height: 21px;
  letter-spacing: 0em;
  text-align: left;
  color: #FFFFFF;
}
.login-form input {
  background-color: rgba(255, 255, 255, 0.0509803922) !important;
  color: #FFFFFF !important;
  height: 48px;
  font-weight: 400;
  border-color: #40626F;
  border-width: 2px;
  border-style: solid;
  border-radius: 8px;
}
.login-form input::-moz-placeholder {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  opacity: 1;
  color: #ADB5BD !important;
}
.login-form input::placeholder {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  opacity: 1;
  color: #ADB5BD !important;
}
.login-form input:focus {
  background-color: rgba(255, 255, 255, 0.0509803922) !important;
  font-weight: 400;
  border-width: 2px;
  border-color: #FFFFFF;
}
.login-form select {
  background-color: rgba(255, 255, 255, 0.0509803922) !important;
  color: #FFFFFF !important;
  height: 48px;
  font-weight: 400;
  border-color: #40626F;
  border-width: 2px;
  border-style: solid;
  border-radius: 8px;
  background: url("../images/fl-chevron-down.svg");
  background-repeat: no-repeat;
  background-position-x: 95%;
  background-position-y: 50%;
}
.login-form select:focus {
  background-color: rgba(255, 255, 255, 0.0509803922) !important;
  font-weight: 400;
  border-width: 2px;
  border-color: #FFFFFF;
}
.login-form .select-option {
  color: black !important;
}

.home-header {
  display: flex;
  justify-content: space-between;
  padding: 32px 16px 16px;
  margin-bottom: 16px;
  background: linear-gradient(180deg, #309580 -233.19%, #00222F 100%);
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2509803922);
}
.home-header p {
  color: #FFFFFF;
  text-align: center;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15);
  font-family: Outfit;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; /* 38.4px */
  letter-spacing: -2.24px;
}

.memory-message-input {
  border: 1px solid #314B55 !important;
  border-radius: 8px !important;
  background-color: rgba(255, 255, 255, 0.0509803922) !important;
  color: #FFFFFF !important;
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 300;
  line-height: 24px;
  resize: none;
  padding: 16px 16px 64px !important;
  box-shadow: none !important;
  min-height: 102px !important;
}
.memory-message-input :hover {
  box-shadow: none !important;
}

.gift-message-input {
  border: 1px solid #314B55 !important;
  border-radius: 8px !important;
  background-color: rgba(255, 255, 255, 0.0509803922) !important;
  color: #FFFFFF !important;
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 300;
  line-height: 24px;
  resize: none;
  padding: 16px 16px 64px !important;
  box-shadow: none !important;
  min-height: 102px !important;
}
.gift-message-input :hover {
  box-shadow: none !important;
}

.memory-message-limit {
  position: absolute;
  bottom: 16px;
  right: 16px;
  font-family: Noto Sans;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  color: #4F7889;
}

.form-control::-moz-placeholder { /* Mozilla Firefox 19+ */
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  opacity: 1;
  color: #ADB5BD !important;
}

.form-control::placeholder { /* Most modern browsers support this now. */
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  opacity: 1;
  color: #ADB5BD !important;
}

.community-pill {
  background-color: rgba(253, 253, 253, 0.0509803922);
  border-radius: 999px;
}

.page-wrapper.home {
  background-color: #001B26 !important;
}

.memorial-header {
  padding: 80px 16px 24px;
}

.menu-container {
  position: fixed;
  z-index: 10;
  width: 100vw;
  top: 0;
  left: 0;
  transition: background-color 200ms;
}

.header-scroll-bg {
  background-color: #00222F !important;
  border-bottom: 1px solid #314B55 !important;
}

.menu-data {
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 56px;
}

.menu-data-show {
  visibility: visible;
  animation: data-slide-in-anim 0.2s ease-in-out forwards;
  opacity: 0;
}

@keyframes data-slide-in-anim {
  20% {
    opacity: 0.2;
    transform: translateY(10%);
  }
  40% {
    opacity: 0.4;
    transform: translateY(20%);
  }
  60% {
    opacity: 0.6;
    transform: translateY(30%);
  }
  80% {
    opacity: 0.8;
    transform: translateY(40%);
  }
  100% {
    opacity: 1;
    transform: translateY(50%);
  }
}
.header-bg {
  background-size: cover;
  background-repeat: no-repeat;
  background-image: linear-gradient(180deg, rgba(0, 34, 47, 0.8) 0%, #00222F 100%), url("/images/covor_photo_default_Small.png");
}

.header-min-txt p:first-child {
  font-family: Playfair Display;
  font-size: 14px;
  font-weight: 700;
  line-height: 14px;
  letter-spacing: 0em;
  text-align: left;
  color: #FFFFFF;
  white-space: nowrap;
}
.header-min-txt p:last-child {
  font-family: Noto Sans;
  font-size: 10px;
  font-weight: 400;
  line-height: 15px;
  letter-spacing: 0em;
  text-align: left;
  color: #D2E0E5;
  white-space: nowrap;
}

.profile-container {
  z-index: 11;
  height: 140px;
  position: fixed;
}

.profile-image-container {
  position: relative;
}

.btn-profile-add {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  cursor: pointer;
}

.btn-tombstone-add {
  position: absolute;
  bottom: -32px;
  right: -21px;
  z-index: 2;
}

.card-container-top {
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  border: 1px solid #1A323C;
}

.card-container-bottom {
  width: 100%;
  height: 100%;
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 16px;
  padding-bottom: 16px;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  overflow: hidden;
  border-left: 1px #1A323C solid;
  border-right: 1px #1A323C solid;
  border-bottom: 1px #1A323C solid;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
  display: inline-flex;
}

.card-container-bottom-tree {
  width: 100%;
  height: 100%;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: inline-flex;
  overflow-x: hidden;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  border-left: 1px #1A323C solid;
  border-right: 1px #1A323C solid;
  border-bottom: 1px #1A323C solid;
  background-color: #00222F !important;
  position: relative;
}
.card-container-bottom-tree .leaf-pills {
  padding: 16px 12px 0;
  justify-content: flex-start;
  align-items: center;
  display: inline-flex;
  width: inherit;
  overflow-x: auto;
  -ms-overflow-style: none !important; /* IE and Edge */
  scrollbar-width: none !important; /* Firefox */
}
.card-container-bottom-tree .leaf-pills .leaf-pill {
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 8px;
  padding-bottom: 8px;
  border-radius: 999px;
  border: 2px #314B55 solid;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  display: inline-flex;
}
.card-container-bottom-tree .leaf-pills .leaf-pill .leaf-pill-text {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: inline-flex;
}
.card-container-bottom-tree .leaf-pills .leaf-pill .leaf-pill-text p:first-child {
  color: #92B3C0;
  font-size: 12px;
  font-family: Noto Sans;
  font-weight: 400;
  line-height: 18px;
  word-wrap: break-word;
}
.card-container-bottom-tree .leaf-pills .leaf-pill .leaf-pill-text p:last-child {
  color: white;
  font-size: 14px;
  font-family: Noto Sans;
  font-weight: 500;
  line-height: 21px;
  word-wrap: break-word;
}

.fade-container::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 100px; /* Adjust the width to your liking */
  pointer-events: none; /* Allows interaction with underlying content */
  background: linear-gradient(to left, #00222F, rgba(0, 34, 47, 0));
}

.card-container-bottom-tombstone {
  width: 100%;
  height: 100%;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: inline-flex;
  overflow-x: hidden;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  border: 1px #1A323C solid;
  background-color: #00222F !important;
}
.card-container-bottom-tombstone .leaf-pills {
  padding: 16px 12px 0;
  justify-content: flex-start;
  align-items: center;
  display: inline-flex;
  width: inherit;
  overflow-x: auto;
  -ms-overflow-style: none !important; /* IE and Edge */
  scrollbar-width: none !important; /* Firefox */
}
.card-container-bottom-tombstone .leaf-pills .leaf-pill {
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 8px;
  padding-bottom: 8px;
  border-radius: 999px;
  border: 2px #314B55 solid;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  display: inline-flex;
  background-color: rgba(255, 255, 255, 0.0509803922);
}
.card-container-bottom-tombstone .leaf-pills .leaf-pill .leaf-pill-text {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: inline-flex;
}
.card-container-bottom-tombstone .leaf-pills .leaf-pill .leaf-pill-text p:first-child {
  color: #92B3C0;
  font-size: 12px;
  font-family: Noto Sans;
  font-weight: 400;
  line-height: 18px;
  word-wrap: break-word;
}
.card-container-bottom-tombstone .leaf-pills .leaf-pill .leaf-pill-text p:last-child {
  color: white;
  font-size: 14px;
  font-family: Noto Sans;
  font-weight: 500;
  line-height: 21px;
  word-wrap: break-word;
}

.leaf-selected,
.pill-selected {
  border: 2px #FFFFFF solid !important;
}

.card-messages {
  height: 376px;
  overflow-y: auto;
  -ms-overflow-style: none !important; /* IE and Edge */
  scrollbar-width: none !important; /* Firefox */
}

.btn-dark {
  flex: 1 1 0;
  align-self: stretch;
  padding: 12px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px #314B55 solid;
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
  justify-content: center;
  align-items: center;
  gap: 6px;
  display: flex;
}

.btn-light {
  flex: 1 1 0;
  align-self: stretch;
  padding: 12px;
  background: #314B55;
  border-radius: 8px;
  overflow: hidden;
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
  justify-content: center;
  align-items: center;
  gap: 6px;
  display: flex;
}

.btn-light-txt {
  color: #001B26 !important;
  text-align: center !important;
  font-family: "Noto Sans" !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 120% !important; /* 16.8px */
}

.fl-days-btn-1 {
  flex: 1 1 0;
  align-self: stretch;
  padding: 12px;
  background: rgba(255, 255, 255, 0.0509803922);
  border: 2px solid #40626F;
  border-radius: 8px;
  overflow: hidden;
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
  justify-content: center;
  align-items: center;
  gap: 6px;
  display: flex;
}
.fl-days-btn-1 p {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 600;
  line-height: 16.8px;
  text-align: center;
  color: #FFFFFF;
}

.fl-days-btn-2 {
  flex: 1 1 0;
  align-self: stretch;
  padding: 12px;
  background: #FFFFFF;
  border-radius: 8px;
  overflow: hidden;
  -webkit-backdrop-filter: blur(32px);
          backdrop-filter: blur(32px);
  justify-content: center;
  align-items: center;
  gap: 6px;
  display: flex;
}
.fl-days-btn-2 p {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 600;
  line-height: 16.8px;
  text-align: center;
  color: #000000;
}

.fl-days-wrapper {
  display: flex;
  gap: 16px;
  width: 100vw;
  padding: 16px;
  overflow-x: auto;
  z-index: 9;
  -ms-overflow-style: none !important; /* IE and Edge */
  scrollbar-width: none !important; /* Firefox */
}
.fl-days-wrapper .fl-day {
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: start;
  min-width: 200px !important;
  padding: 16px;
  box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, 0.1490196078);
}
.fl-days-wrapper .fl-day img {
  border-radius: 8px;
}
.fl-days-wrapper .fl-day.fl-day-add {
  background-color: #052734;
}
.fl-days-wrapper .fl-day .fl-day-name {
  font-size: 14px;
  font-family: Noto Sans;
  font-weight: 700;
  line-height: 18.2px;
  color: #FFFFFF;
}
.fl-days-wrapper .fl-day .fl-day-relation {
  color: #B2C4CB !important;
  font-size: 14px;
  font-family: Noto Sans;
  font-weight: 400;
  line-height: 18.2px;
}
.fl-days-wrapper .fl-day .fl-day-date {
  font-family: Noto Sans;
  font-size: 12px;
  font-weight: 400;
  text-align: left;
  color: #D2E0E5;
}
.fl-days-wrapper .fl-day .fl-day-date span {
  font-weight: 600;
  color: #FFFFFF;
}
.fl-days-wrapper .fl-day .fl-day-type {
  padding: 8px 12px;
  display: flex;
  justify-content: space-between;
  border-radius: 8px;
  width: 100%;
  font-family: Noto Sans;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  color: #FFFFFF;
}
.fl-days-wrapper .fl-day .fl-day-connection {
  padding-top: 12px;
  display: flex;
  gap: 8px;
  width: 100%;
  font-family: Noto Sans;
  font-size: 12px;
  font-weight: 400;
  text-align: left;
  color: #B2C4CB;
}
.fl-days-wrapper .fl-day .fl-day-connection span {
  color: #FFFFFF;
  font-weight: 700;
}
.fl-days-wrapper .fl-day:first-child {
  padding-left: 16px;
}

.add-connections-txt {
  font-family: Noto Sans;
  font-size: 12px;
  font-weight: 400;
  line-height: 16.34px;
  text-align: center;
}

.yahrzeit-dropdown {
  background-color: #00729F !important;
  padding: 12px !important;
  border-radius: 8px !important;
  max-width: 306px !important;
  margin-top: 12px !important;
}
.yahrzeit-dropdown img {
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translate(-50%);
  border-radius: 0 !important;
}
.yahrzeit-dropdown p {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 500;
  line-height: 19.07px;
  text-align: left;
  color: #FFFFFF;
}

.btn-txt {
  text-align: center;
  color: white;
  font-size: 14px;
  font-family: Noto Sans;
  font-weight: 600;
  line-height: 16.8px;
  word-wrap: break-word;
}

#memorialHeaderImg {
  width: 144px;
}

.memorial-footer {
  background: linear-gradient(0deg, #00222F, #00222F), linear-gradient(0deg, #314B55, #314B55);
  border-bottom: 1px solid #314B55;
  padding: 9px 0;
  z-index: 10 !important;
  position: sticky !important;
  top: 72px !important;
  box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.2509803922) inset;
}
.memorial-footer .nav-item {
  border-radius: 8px;
}
.memorial-footer .nav-link {
  border-radius: 0;
  padding: 0;
}
.memorial-footer .nav-link.active {
  background-color: transparent !important;
}

.tab-icon-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  width: 80px;
  height: 60px;
}

.tab-bg {
  background-color: "";
  box-shadow: "";
}

.tab-bg-active {
  background-color: #1A323C;
  box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, 0.1490196078);
  transition: background-color 1000ms;
}

.fl-btn-dark {
  border-width: 0px, 1px, 1px, 1px !important;
  border-style: solid !important;
  border-color: #1A323C !important;
  background: linear-gradient(0deg, #1A323C, #1A323C), linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 100%) !important;
  color: #FFFFFF !important;
}

.fl-btn-dark-login {
  padding: 0px 24px 0px 24px !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: #FFFFFF !important;
}

.memorial-message {
  width: 100%;
  height: 100%;
  padding: 16px;
  background: #004A67;
  border-top-right-radius: 8px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
  display: inline-flex;
}
.memorial-message p:first-child {
  color: #ffffff;
  font-size: 16px;
  font-family: Noto Sans;
  font-style: italic;
  font-weight: 400;
  line-height: 24px;
  word-wrap: break-word;
}
.memorial-message p:last-child {
  width: 100%;
  text-align: right;
  color: #ffffff;
  font-size: 14px;
  font-family: Noto Sans;
  font-weight: 400;
  line-height: 21px;
  word-wrap: break-word;
}

.tombstone-top {
  width: 177.25px;
  height: 246.86px;
  position: relative;
}

.tombstone-top-bg {
  width: 177.25px;
  height: 246.86px;
  left: 0px;
  top: 0px;
  position: absolute;
  background: url("../images/fl-tombstone-top.svg");
  background-position: center;
  box-shadow: 0px 0px 36.6642150879px rgba(0, 0, 0, 0.5);
  border-top-left-radius: 18.33px;
  border-top-right-radius: 18.33px;
}

.tombstone-bottom {
  width: 194.78px;
  height: 54.03px;
  background: url("../images/fl-tombstone-bottom.svg");
  background-position: center;
  z-index: 0;
  box-shadow: 0px -9.166053772px 30.5535125732px rgba(0, 0, 0, 0.1);
  border-top-left-radius: 12.22px;
  border-top-right-radius: 12.22px;
  border-bottom-right-radius: 3.06px;
  border-bottom-left-radius: 3.06px;
}

.tombstone-txt-container {
  width: 177.25px;
  height: 63.11px;
  left: 0px;
  top: 77.11px;
  position: absolute;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6.11px;
  display: inline-flex;
}

.tombstone-txt-name {
  align-self: stretch;
  opacity: 0.95;
  justify-content: flex-start;
  align-items: center;
  gap: 6.11px;
  display: inline-flex;
}
.tombstone-txt-name p {
  flex: 1 1 0;
  mix-blend-mode: exclusion;
  text-align: center;
  color: #00222F;
  font-size: 21.39px;
  font-family: Playfair Display;
  font-weight: 600;
  line-height: 21.39px;
  word-wrap: break-word;
}

.tombstone-txt-date {
  color: #00222F;
  font-size: 15.28px;
  font-family: Playfair Display;
  font-weight: 600;
  line-height: 15.28px;
  word-wrap: break-word;
}

.timeline-btn {
  width: 100%;
  height: 100%;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 24px;
  padding-bottom: 24px;
  border-radius: 16px;
  overflow: hidden;
  border: 2px #314B55 dashed;
  justify-content: center;
  align-items: center;
  align-items: center;
  display: inline-flex;
  gap: 8px;
  background-color: #001B26;
}

.timeline-btn-title {
  color: #FFF;
  text-align: center;
  font-family: Noto Sans;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}

.timeline-btn-subtitle {
  color: #92B3C0;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
}

.fl-card {
  width: 100%;
  height: 100%;
  padding: 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 100%);
  border-radius: 16px;
  overflow: hidden;
  border: 1px #1A323C solid;
}

.timeline-obituary-title {
  color: #92B3C0;
  font-size: 18px;
  font-family: Playfair Display;
  font-weight: 500;
  line-height: 27px;
  word-wrap: break-word;
}

.timeline-obituary-subtitle {
  align-self: stretch;
  color: white;
  font-size: 14px;
  font-family: Noto Sans;
  font-weight: 500;
  line-height: 21px;
  word-wrap: break-word;
}

.timeline-year-badge {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin-top: auto;
  margin-bottom: auto;
  left: -22px;
  width: 44px;
  height: 44px;
  padding: 8px;
  background: linear-gradient(180deg, #0C2630 0%, #1A323C 100%);
  border-radius: 99px;
  border: 2px #1A323C solid;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2px;
  display: inline-flex;
}
.timeline-year-badge p:first-child {
  text-align: right;
  color: #92B3C0;
  font-size: 12px;
  font-family: Noto Sans;
  font-weight: 400;
  line-height: 11px;
  word-wrap: break-word;
}

.timeline-card {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 100%);
  border-radius: 16px;
  overflow: hidden;
  border: 2px #1A323C solid;
}

.timeline-image {
  width: 100%;
}

.memory-card-image {
  width: 100%;
  height: 120px;
  position: relative;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 0;
}

.memory-image {
  width: 100%;
  height: 120px;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

.memories-note {
  width: 100%;
}
.memories-note .memory-title {
  color: white;
  font-size: 14px;
  font-family: Noto Sans;
  font-weight: 700;
  word-wrap: break-word;
}
.memories-note .memory-name {
  color: white;
  font-size: 12px;
  font-family: Noto Sans;
  font-weight: 300;
  word-wrap: break-word;
}

.timeline-card-tombstone {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  overflow: hidden;
}

.fl-days-top {
  height: 343px;
  border: 2px solid #1A323C;
  border-bottom: 0 !important;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.fl-days-top {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 100%);
  border: 2px solid #1A323C;
  border-top: 1px solid #1A323C !important;
}

.timeline-tombstone-top {
  height: 343px;
  border: 2px solid #1A323C;
  border-bottom: 0 !important;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.timeline-tombstone-bottom {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 100%);
  border: 2px solid #1A323C;
  border-top: 1px solid #1A323C !important;
}

.tombstone-tombstone-bottom {
  background: #00222F;
  border: 2px solid #1A323C;
  border-top: 1px solid #1A323C !important;
}

.tombstone-gift-display {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  background-color: #00222F;
  background: linear-gradient(to bottom, rgba(0, 27, 38, 0.75), rgba(0, 27, 38, 0.75)), url("/images/bubbles-background.gif") !important; /* Bottom layer: image */
  background-repeat: no-repeat;
  background-size: cover;
}

.timeline-memories {
  overflow-x: auto;
  -ms-overflow-style: none !important; /* IE and Edge */
  scrollbar-width: none !important; /* Firefox */
}
.timeline-memories .memory-card:first-child {
  margin-left: 16px;
}
.timeline-memories .memory-card:last-child {
  margin-right: 16px;
}

.timeline-memories-wrapper .memories-heading {
  color: #FFFFFF;
  font-size: 18px;
  font-family: Playfair Display;
  font-weight: 500;
  line-height: 27px;
}

.memory-card {
  height: 236px !important;
  min-height: 236px !important;
  width: 156px !important;
  min-width: 156px !important;
  border-radius: 16px;
  border: 2px #1A323C solid;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.15);
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: cover !important;
}

.timeline-edit {
  position: absolute;
  top: 16px;
  right: 16px;
}

.timeline-note {
  width: 100%;
}
.timeline-note p:first-child {
  color: white;
  font-size: 18px;
  font-family: Playfair Display;
  font-weight: 500;
  line-height: 18px;
  word-wrap: break-word;
  margin-bottom: 8px !important;
  width: calc(100% - 42px);
  cursor: pointer;
}
.timeline-note .timeline-note-date {
  color: #D2E0E5;
  font-size: 12px;
  font-family: Noto Sans;
  font-weight: 400;
  line-height: 18px;
  word-wrap: break-word;
}
.timeline-note p:last-child {
  font-family: Noto Sans;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0em;
  text-align: left;
  color: #92B3C0;
}

.timeline-location-pill {
  background: #314B55;
  border-radius: 16px;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
}
.timeline-location-pill p {
  color: white;
  font-size: 10px;
  font-family: Noto Sans;
  font-weight: 600;
  line-height: 15px;
  word-wrap: break-word;
}

.life-event-location-pill {
  background: #314B55;
  border-radius: 16px;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 12px 8px 8px;
  white-space: nowrap;
  overflow: auto;
}
.life-event-location-pill p {
  color: white;
  font-size: 14px;
  font-family: Noto Sans;
  font-weight: 600;
  line-height: 17px;
}

.life-event-create-date {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
  color: #92B3C0;
}

.timeline-item {
  border-left: 2px solid #1A323C;
  position: relative;
}

.timeline-item-initial {
  position: relative;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-width: 2px;
  border-style: solid;
  -o-border-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), #1A323C) 1 100%;
     border-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), #1A323C) 1 100%;
}

.timeline-date-breaker {
  font-family: Montserrat;
  font-size: 100px;
  font-weight: 700;
  line-height: 122px;
  letter-spacing: 0em;
  text-align: center;
  color: #00222F;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.2));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-stroke: 4px transparent;
}

.btn-setup {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 41px;
  padding: 12px;
  border-radius: 8px;
  gap: 6px;
  background: #FFFFFF;
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 600;
  line-height: 17px;
  letter-spacing: 0em;
}

.memorial-setup-widget {
  background: #004A67 !important;
  position: relative;
  border-radius: 8px;
}

.memorial-setup-txt p:first-child {
  font-family: Playfair Display;
  font-size: 16px;
  font-weight: 700;
  line-height: 21px;
  letter-spacing: 0em;
  text-align: left;
  color: #FFFFFF;
}

.memorial-setup-txt p:last-child {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 500;
  line-height: 19px;
  letter-spacing: 0em;
  text-align: left;
  color: #FFFFFF;
}

.memorial-setup-txt span {
  width: 24px;
  height: 24px;
  border-radius: 99px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(255, 255, 255, 0.1);
  display: inline-flex;
  margin-right: 8px;
  color: #A6E9D5;
  font-size: 16px;
  font-family: Noto Sans;
  font-weight: 700;
  word-wrap: break-word;
}

.memorial-setup-progress-wrapper {
  width: 100%;
  height: 100%;
  opacity: 0.95;
  background: #00222F;
  border-radius: 32px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px;
  display: inline-flex;
}

.memorial-setup-progress {
  width: 57px;
  flex: 1 1 0;
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 4px;
  padding-bottom: 4px;
  background: #A6E9D5;
  border-radius: 32px;
}

.setup-close {
  width: 16px;
  height: 16px;
}

.leaf-animated-txt {
  display: none;
  color: #ffffff;
  position: absolute;
  bottom: -50px;
  left: 0;
  padding: 0 16px 24px;
}
.leaf-animated-txt p:first-child {
  margin-bottom: 8px;
  font-family: Playfair Display;
  font-size: 32px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0em;
  text-align: left;
}
.leaf-animated-txt p:last-child {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 300;
  line-height: 21px;
  letter-spacing: 0em;
  text-align: left;
}

.leaf-text-slide-in {
  animation: text-slide-in-anim 0.5s ease-in-out forwards;
  opacity: 0;
}

@keyframes text-slide-in-anim {
  10% {
    opacity: 0.1;
    transform: translateY(-5%);
  }
  20% {
    opacity: 0.2;
    transform: translateY(-10%);
  }
  30% {
    opacity: 0.3;
    transform: translateY(-15%);
  }
  40% {
    opacity: 0.4;
    transform: translateY(-20%);
  }
  50% {
    opacity: 0.5;
    transform: translateY(-25%);
  }
  60% {
    opacity: 0.6;
    transform: translateY(-30%);
  }
  70% {
    opacity: 0.7;
    transform: translateY(-35%);
  }
  80% {
    opacity: 0.8;
    transform: translateY(-40%);
  }
  90% {
    opacity: 0.9;
    transform: translateY(-45%);
  }
  100% {
    opacity: 1;
    transform: translateY(-50%);
  }
}
.leaf-btn-slide-in {
  animation: btn-slide-in-anim 0.5s ease-in-out forwards;
  opacity: 0;
}

@keyframes btn-slide-in-anim {
  10% {
    opacity: 0.1;
    transform: translate(-1px, 1px);
  }
  20% {
    opacity: 0.2;
    transform: translate(-2px, 2px);
  }
  30% {
    opacity: 0.3;
    transform: translate(-3px, 3px);
  }
  40% {
    opacity: 0.4;
    transform: translate(-4px, 4px);
  }
  50% {
    opacity: 0.5;
    transform: translate(-6px, 6px);
  }
  60% {
    opacity: 0.6;
    transform: translate(-8px, 8px);
  }
  70% {
    opacity: 0.7;
    transform: translate(-10px, 10px);
  }
  80% {
    opacity: 0.8;
    transform: translate(-12px, 12px);
  }
  90% {
    opacity: 0.9;
    transform: translate(-14px, 14px);
  }
  100% {
    opacity: 1;
    transform: translate(-16px, 16px);
  }
}
.leaf-btn-slide-out {
  animation: btn-slide-out-anim 0.5s ease-in-out forwards;
  opacity: 1;
  transform: translate(-16px, 16px);
}

@keyframes btn-slide-out-anim {
  10% {
    opacity: 0.9;
    transform: translate(-14px, 14px);
  }
  20% {
    opacity: 0.8;
    transform: translate(-12px, 12px);
  }
  30% {
    opacity: 0.7;
    transform: translate(-10px, 10px);
  }
  40% {
    opacity: 0.6;
    transform: translate(-8px, 8px);
  }
  50% {
    opacity: 0.5;
    transform: translate(-6px, 6px);
  }
  60% {
    opacity: 0.4;
    transform: translate(-4px, 4px);
  }
  70% {
    opacity: 0.3;
    transform: translate(-3px, 3px);
  }
  80% {
    opacity: 0.2;
    transform: translate(-2px, 2px);
  }
  90% {
    opacity: 0.1;
    transform: translate(-1px, 1px);
  }
  100% {
    opacity: 0;
    transform: translate(0, 0);
  }
}
.leaf-zoom-reset {
  display: none;
  position: absolute;
  top: 0px;
  right: 0px;
  cursor: pointer;
}

#treeWrapper {
  position: relative;
  overflow: hidden;
}

.fl-btn-share {
  width: 100%;
  height: 40px;
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 10px;
  padding-bottom: 10px;
  background: rgba(0, 34, 47, 0.6);
  border-radius: 999px;
  overflow: hidden;
  border: 2px rgba(241, 251, 255, 0.3) solid;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  justify-content: center;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}
.fl-btn-share p {
  color: white;
  font-size: 14px;
  font-family: Noto Sans;
  font-weight: 500;
  line-height: 14px;
  word-wrap: break-word;
}

.widget-expand {
  overflow: hidden;
  transition: height 0.5s;
}

.react-multi-carousel-dot {
  width: 6px !important;
  height: 6px !important;
  border: none !important;
  border-radius: 12px !important;
  opacity: 1 !important;
  background-color: #B2C4CB !important;
  transition: width 500ms linear, background-color 500ms linear;
  margin: 4px 4px 8px;
}
.react-multi-carousel-dot.react-multi-carousel-dot--active {
  width: 31px !important;
  background-color: #FFFFFF !important;
}
.react-multi-carousel-dot button {
  display: none !important;
}

.life-event-detailed-image {
  border: 10px solid #FFFFFF !important;
  width: calc(100vw - 32px) !important;
  height: calc(100vw - 32px) !important;
}

.life-event-detailed-image-wrapper :nth-child(2n+1) {
  transform: rotate(-1deg);
}
.life-event-detailed-image-wrapper :nth-child(2n) {
  transform: rotate(1deg);
}

.home-memorial-tile {
  border-radius: 16px;
  overflow: clip;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  background-color: #00222F !important;
  position: relative;
  flex-shrink: 0;
  box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, 0.1490196078);
}
.home-memorial-tile .home-memorial-tile-body {
  width: 100%;
  height: 100%;
  justify-content: center;
  padding: 32px 0 !important;
}
.home-memorial-tile .home-memorial-tile-body p:nth-child(2) {
  font-family: Playfair Display;
  font-size: 24px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: center;
  color: #FFFFFF;
  margin-bottom: 8px !important;
}
.home-memorial-tile .home-memorial-tile-body p:last-child {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: 0em;
  text-align: center;
  color: #92B3C0;
}
.home-memorial-tile .home-memorial-tile-footer {
  background: rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  width: 100%;
}
.home-memorial-tile .home-memorial-tile-footer p:last-child {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 500;
  line-height: 17px;
  letter-spacing: 0em;
  text-align: center;
  color: #FFFFFF;
}

.home-community-tile {
  width: 100%;
  height: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px #314B55 solid;
  display: inline-flex;
  justify-content: space-between;
  flex-direction: row;
  background-color: #00222F !important;
  position: relative;
}
.home-community-tile .home-community-tile-body p:first-child {
  font-family: Playfair Display;
  font-size: 18px;
  font-weight: 700;
  line-height: 18px;
  text-align: left;
  color: #FFFFFF;
  margin-bottom: 8px !important;
}
.home-community-tile .home-community-tile-body p:last-child {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 400;
  line-height: 14px;
  text-align: left;
  color: #92B3C0;
}
.home-community-tile .home-community-tile-footer {
  background: rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  justify-content: center;
}
.home-community-tile .home-community-tile-footer p:last-child {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 500;
  line-height: 17px;
  letter-spacing: 0em;
  text-align: center;
  color: #FFFFFF;
}

.home-tile-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  background-color: rgba(255, 255, 255, 0.1294117647);
  padding: 8px 12px 8px 12px;
  border-radius: 999px;
}
.home-tile-badge p {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 600;
  line-height: 14px;
  text-align: center;
  color: #B9EBFF;
}

.communities-tile-large .carousel-item p:first-child {
  font-family: Playfair Display;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
  color: #FFFFFF;
}
.communities-tile-large .carousel-item p:nth-child(2) {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
  letter-spacing: 0em;
  text-align: left;
  color: rgba(255, 255, 255, 0.8);
  min-height: 84px;
  max-height: 84px;
}

.fl-btn-white {
  background-color: #FFFFFF !important;
}

.fl-btn-white-large {
  width: 100% !important;
  font-family: Noto Sans !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 19px !important;
  text-align: center !important;
  color: #00222F !important;
  background-color: #FFFFFF !important;
  padding: 12px 10px !important;
  border: none;
  border-radius: 8px;
}

.fl-btn-login {
  font-family: Noto Sans !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 19px !important;
  text-align: center !important;
  color: #00222F !important;
  background-color: #FFFFFF !important;
  padding: 12px 10px !important;
}

.fl-btn-picture-crop {
  width: -moz-fit-content !important;
  width: fit-content !important;
  font-family: Noto Sans !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 19px !important;
  text-align: center !important;
  color: #00222F !important;
  background-color: #FFFFFF !important;
  padding: 12px 10px !important;
}

.fl-btn-large {
  width: 100% !important;
  font-family: Noto Sans !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 19px !important;
  text-align: center !important;
  color: #00222F !important;
  background-color: #FFFFFF !important;
  padding: 12px 10px !important;
}

.page-login {
  background-color: #001B26;
  height: 100dvh;
  display: flex;
  flex-direction: column;
}

.login-footer p,
.login-footer a {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 500;
  line-height: 17px;
  letter-spacing: 0em;
  text-align: center;
  color: #ADB5BD;
}

.reoccuring-donation-switch {
  width: 100%;
  padding: 16px !important;
  border-radius: 8px;
  border: 1px solid #314B55;
  display: flex !important;
  gap: 16px;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.0509803922);
}
.reoccuring-donation-switch .form-check-input:checked {
  background-color: #20C997 !important;
  border-color: #20C997 !important;
}
.reoccuring-donation-switch label {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 500;
  line-height: 17px;
  letter-spacing: 0em;
  text-align: left;
  color: #FFFFFF;
}
.reoccuring-donation-switch.temp {
  padding: 16px !important;
}

.failed-login-block {
  background-color: #B02A37;
  padding: 12px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.failed-login-block p {
  font-family: Noto Sans;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  color: #FFFFFF;
}

.memorial-img-crop-wrapper {
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  background-color: #00222F;
}

.image-canvas-grid {
  position: absolute;
  width: 100vw;
  height: 100vw;
  pointer-events: none;
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.1019607843) 2px, transparent 1px), linear-gradient(180deg, rgba(255, 255, 255, 0.1019607843) 2px, transparent 1px);
  background-size: 50px 50px;
  background-position: center;
}

.image-canvas-loading {
  position: absolute;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1rem;
  width: 100vw;
  height: 100vw;
  pointer-events: none;
  background-color: #00222F;
}
.image-canvas-loading p {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 700;
  line-height: 19.2px;
  text-align: left;
  color: #FFFFFF;
  width: 160px;
}

.loading-ellipsis:after {
  overflow: hidden;
  display: inline-block;
  vertical-align: bottom;
  animation: ellipsis steps(4, end) 2000ms infinite;
  content: "…"; /* ascii code for the ellipsis character */
  width: 0px;
}

@keyframes ellipsis {
  to {
    width: 1.25em;
  }
}
.memorial-img-crop-preview {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.image-upload-wrapper {
  background-color: #00222F;
}

.gallery-video-wrapper {
  position: relative;
  min-width: 124px !important;
  min-height: 124px !important;
  max-width: 124px !important;
  max-height: 124px !important;
  border-radius: 8px;
  overflow: visible; /* Ensures that any excess video is hidden */
  display: flex;
  justify-content: center;
  align-items: center;
}
.gallery-video-wrapper .event-image-remove {
  position: absolute;
  top: -12px;
  right: -12px;
}
.gallery-video-wrapper video {
  -o-object-fit: cover;
     object-fit: cover; /* Ensures the video fills the wrapper without stretching */
  width: 100%; /* Scale video to fill width */
  height: 100%; /* Scale video to fill height */
  border-radius: 8px;
}

.gallery-image-wrapper {
  position: relative;
  box-sizing: content-box !important;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 8px;
  min-width: calc(50vw - 36px);
  min-height: calc(50vw - 36px);
  background-size: cover;
  background-position: center;
}
.gallery-image-wrapper .gallery-image-buttons {
  display: flex;
  justify-content: space-between;
  position: absolute;
  bottom: -50px;
  width: 100%;
}
.gallery-image-wrapper .image-icon-left {
  background-color: rgba(255, 255, 255, 0.0509803922);
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
}
.gallery-image-wrapper .image-icon-right {
  background-color: rgba(255, 255, 255, 0.0509803922);
  border-radius: 999px;
  display: flex;
  align-items: center;
  padding: 4px 8px;
}
.gallery-image-wrapper .event-image-remove {
  position: absolute;
  top: -12px;
  right: -12px;
}
.gallery-image-wrapper.final-screen {
  min-width: 124px !important;
  min-height: 124px !important;
  max-width: 124px !important;
  max-height: 124px !important;
}

.image-gallery {
  padding: 24px 24px 100px;
  -ms-overflow-style: none !important; /* IE and Edge */
  scrollbar-width: none !important; /* Firefox */
  overflow: auto;
  max-height: calc(100dvh - 120px);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 80px;
}

.image-gallery-image {
  border-radius: 8px;
  width: 124px !important;
  min-width: 124px !important;
  height: 124px !important;
  min-height: 124px !important;
}

.btn-image-sort {
  height: 32px;
  padding: 5px 8px 5px 10px !important;
  border-radius: 8px !important;
  background-color: #1A323C !important;
  font-family: Noto Sans !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #FFFFFF !important;
}

.btn-image-upload {
  height: 32px;
  padding: 5px 10px 5px 10px !important;
  border-radius: 24px !important;
  background-color: #1A323C !important;
  font-family: Noto Sans !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #FFFFFF !important;
}
.btn-image-upload input[type=file] {
  display: none;
}

.image-gallery-loading {
  position: absolute;
  background-color: #00222F !important;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: calc(100% - 64px);
  padding: 1rem;
}
.image-gallery-loading img {
  pointer-events: none;
}

.image-gallery-fade {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 85px;
  background: linear-gradient(180deg, rgba(0, 34, 47, 0) 0%, rgb(0, 34, 47) 75%);
  pointer-events: none;
}

.splash-loading img {
  width: -moz-max-content;
  width: max-content;
  margin-bottom: 12px;
}
.splash-loading p:nth-child(2) {
  font-family: Playfair Display;
  font-size: 32px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0em;
  text-align: center;
  color: #FFFFFF;
}
.splash-loading p:last-child {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 400;
  line-height: 14px;
  letter-spacing: 0em;
  text-align: center;
  color: #92B3C0;
}

.splash-error p:first-child {
  font-family: Noto Sans;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 0em;
  text-align: center;
  color: #FFFFFF;
  filter: opacity(1);
}
.splash-error p:last-child {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: center;
  color: #92B3C0;
  filter: opacity(1);
}

.splash-error-img {
  position: absolute;
  filter: contrast(0) brightness(0);
}

.logged-out-wrapper {
  height: 100dvh !important;
  background: url(/images/login-background.png) no-repeat !important;
  background-size: cover !important;
}

.logged-out-bottom p:first-child {
  font-family: Playfair Display;
  font-size: 32px;
  font-weight: 700;
  line-height: 38.4px;
  text-align: left;
  color: #FFFFFF;
}
.logged-out-bottom p:nth-child(2) {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
  color: #B2C4CB;
}

.home-icon-top {
  background-color: rgba(255, 255, 255, 0.0509803922);
  border-radius: 50%;
  padding: 8px;
}

.homepage-empty-wrapper {
  height: calc(100dvh - 80px);
  position: relative;
}

.homepage-empty-images img {
  position: absolute;
  transition: opacity 1s ease-in-out;
  max-width: 435px;
  width: 100%;
}

.homepage-empty-bottom p:first-child {
  font-family: Playfair Display;
  font-size: 32px;
  font-weight: 700;
  line-height: 38.4px;
  text-align: left;
  color: #FFFFFF;
}
.homepage-empty-bottom p:nth-child(2) {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
  color: #B2C4CB;
}

.memorial-members {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 100%);
  border: 1px solid #1A323C;
  border-radius: 16px;
  cursor: pointer;
  box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, 0.1490196078);
}
.memorial-members .member {
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid #314B55;
  border-radius: 8px;
  width: 91px;
}
.memorial-members .member p:first-child {
  font-family: Playfair Display;
  font-size: 14px;
  font-weight: 500;
  line-height: 16.8px;
  text-align: center;
  color: #FFFFFF;
  padding: 12px 0 !important;
}
.memorial-members .member p:last-child {
  font-family: Noto Sans;
  font-size: 12px;
  font-weight: 400;
  line-height: 14.4px;
  text-align: center;
  color: #D2E0E5;
  width: 100%;
  background-color: #314B55;
  padding: 8px 0 !important;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}
.memorial-members .member-add {
  border: 2px solid #314B55;
  border-radius: 8px;
  width: 91px;
  filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.15));
}
.memorial-members .member-add p:last-child {
  font-family: Noto Sans;
  font-size: 12px;
  font-weight: 400;
  line-height: 14.4px;
  text-align: center;
  color: #FFFFFF;
}

#createMemorial input[type=number]::-webkit-inner-spin-button {
  display: none;
}
#createMemorial input[type=number] {
  appearance: textfield;
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
}

.form-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: transform 0.5s ease;
  overflow: hidden;
}

.form-screen {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-content-current {
  transform: translateX(0%);
}

.form-content-prev {
  transform: translateX(125%);
}

.form-content-next {
  transform: translateX(-125%);
}

.invalid-form-entry {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1rem !important;
  padding: 0.5rem !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 100%);
  border: 1px solid #1A323C;
  border-radius: 16px;
  box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, 0.1490196078);
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 400;
  color: #DC3545;
}

.memorial-tile-profile-picture {
  border: none;
  border-radius: 50%;
}

.memorial-tile-profile-picture-wrapper {
  background: linear-gradient(135deg, rgba(241, 251, 255, 0.5) 50%, rgba(241, 251, 255, 0) 100%);
  border-radius: 50%;
  height: 148px;
  width: 148px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.memorial-profile-picture {
  border: none;
  border-radius: 50%;
}

.memorial-profile-picture-wrapper {
  background: linear-gradient(135deg, rgba(241, 251, 255, 0.5) 50%, rgba(241, 251, 255, 0) 100%);
  border-radius: 50%;
  height: 146px;
  width: 146px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.memorial-tile-profile-cover {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.map-styles {
  width: 100vw;
  height: 100dvh;
  margin-left: -16px;
  margin-top: -72px;
}

.full-screen-div {
  position: absolute;
  width: 100%;
  height: 100%;
}

.map-search {
  position: absolute;
  width: 100%;
  height: 300px;
  bottom: 0;
  left: 0;
  z-index: 999;
  background-color: #314B55;
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
  padding: 16px;
  overflow: auto !important;
  transition: height 1s ease;
}
.map-search.active {
  height: calc(100dvh - 32px) !important;
}

.location-search-input {
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid #314B55 !important;
  border-radius: 24px !important;
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
  color: #FFFFFF;
  padding: 12px 16px;
  width: 100%;
  margin-bottom: 16px;
}

.autocomplete-dropdown-container {
  background-color: #314B55 !important;
}

.autocomplete-results {
  font-family: Noto Sans !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  color: #FFFFFF !important;
}

.autocomplete-hr {
  margin: 6px 0;
  border: none;
  border-top: 2px solid white;
}

.memorial-images-txt p:first-child {
  font-family: Playfair Display;
  font-size: 32px;
  font-weight: 500;
  line-height: 38.4px;
  text-align: center;
}
.memorial-images-txt p:last-child {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: center;
}

.add-image-txt {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  text-align: left;
  cursor: pointer;
}

.hr-modal-separator {
  border-top: 1px solid #FFFFFF !important;
  width: 100vw;
  margin-left: -16px;
}

.btn-location-skip {
  text-decoration: underline;
  cursor: pointer;
  border: none;
  background: transparent;
}

.image-upload-menu-item {
  width: calc(100% + 32px) !important;
  margin-left: -16px !important;
  border-bottom: 1px solid #314B55;
  display: flex;
  justify-content: space-between;
  padding: 1rem;
  pointer-events: all;
  cursor: pointer;
}

.event-additional-item {
  position: absolute;
  bottom: 80px;
  width: calc(100% + 32px) !important;
  margin-left: -16px !important;
  border-top: 1px solid #314B55;
  border-bottom: 1px solid #314B55;
  display: flex;
  justify-content: space-between;
  padding: 1rem;
  pointer-events: all;
  cursor: pointer;
}

.event-locations {
  position: absolute;
  bottom: 80px;
  width: calc(100% + 32px) !important;
  margin-left: -16px !important;
  border-top: 1px solid #314B55;
  border-bottom: 1px solid #314B55;
  display: flex;
  gap: 0.5rem;
  padding: 1rem;
}

.premium-badge {
  border-radius: 4px;
  background-color: #8540F5;
  font-family: Noto Sans;
  font-size: 10px;
  font-weight: 700;
  line-height: 13.62px;
  text-align: left;
  color: #FFFFFF;
  padding: 4px 8px;
}

.number-indicator {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background-color: #00729F;
  color: white;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.6980392157);
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 700;
  line-height: 16.8px;
  text-align: center;
}

.splash-loading-div {
  height: 100vh;
  width: 100vw;
  background-color: #00222F;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.splash-loading-div p:nth-child(2) {
  color: #FFFFFF;
  text-align: center;
  font-family: Outfit;
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -3.36px;
}
.splash-loading-div p:last-child {
  color: #D2E0E5;
  text-align: center;
  font-family: Outfit;
  font-size: 20px;
  font-style: normal;
  font-weight: 300;
}

.home-memorials-heading-line {
  height: 1px;
  width: 100%;
  border: 1px solid rgb(26, 50, 60);
  margin-top: 15px;
  margin-right: 16px;
}

.fl-bg-dark {
  background-color: #00222F !important;
}

.accordion {
  width: calc(100% - 32px);
  position: absolute;
  bottom: 0;
  left: 0;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.1019607843) !important;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.accordion-toggle {
  cursor: pointer;
  float: right;
}

.accordion-content {
  transition: max-height 0.5s ease-out, padding 0.5s ease-out;
  max-height: 64px;
  padding: 0 10px;
  box-sizing: border-box;
}

.accordion-content p {
  margin: 0;
  padding: 10px 0;
}

.rotate-image {
  transition: transform 0.5s ease;
}

.donate-leaf-tiles {
  -webkit-overflow-scrolling: touch !important; /* enables smooth scrolling on iOS */
  overflow: auto !important;
  -ms-overflow-style: none !important; /* IE and Edge */
  scrollbar-width: none !important; /* Firefox */
  width: 100vw;
  margin-left: -16px;
  display: flex;
  gap: 16px;
}

.donate-leaf-tiles::-webkit-scrollbar {
  display: none; /* hides scrollbar in WebKit browsers */
}

.donate-leaf-tile {
  position: relative;
  border-radius: 16px;
  border: 1px solid #314B55;
  background-size: 100% !important;
  background-repeat: no-repeat !important;
  transition: border 500ms ease-out, background-size 500ms ease-out, background-position 500ms ease-out;
  height: 250px;
  width: 147px !important;
  flex: 0 0 auto;
}
.donate-leaf-tile.leaf-active {
  background-size: 130% !important;
  border: 1px solid #FFFFFF;
}

.donate-gift-tile {
  position: relative;
  border-radius: 16px;
  border: 1px solid #314B55;
  background-size: 100% !important;
  background-repeat: no-repeat !important;
  height: 250px;
  width: 147px !important;
  flex: 0 0 auto;
}
.donate-gift-tile.gift-active {
  border: 1px solid #FFFFFF;
}

.leaf-tile-select {
  width: 16px;
  height: 16px;
  position: absolute;
  top: 16px;
  right: 16px;
  border: 1px solid #40626F;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.3019607843);
}
.leaf-tile-select img {
  vertical-align: top;
  opacity: 0;
  transition: opacity 500ms linear;
}
.leaf-tile-select.selected img {
  opacity: 1;
}

.leaf-tile-text {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
}
.leaf-tile-text .leaf-name {
  color: #FFFFFF;
  font-family: Noto Sans;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
  transition: font-size 300ms linear;
}
.leaf-tile-text .leaf-cost {
  color: #B2C4CB;
  text-align: center;
  font-family: Noto Sans;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  white-space: nowrap;
  transition: font-size 300ms linear;
}
.leaf-tile-text .leaf-cost-custom {
  color: #B2C4CB;
  text-align: center;
  font-family: Noto Sans;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 23px;
  white-space: nowrap;
  transition: font-size 300ms linear;
}
.leaf-tile-text.selected .leaf-name {
  font-size: 17px;
}
.leaf-tile-text.selected .leaf-cost {
  font-size: 20px;
}
.leaf-tile-text.selected .leaf-cost-custom {
  font-size: 16px;
}

.leaf-tip-wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  border: 1px solid #314B55;
  border-radius: 16px;
  background-color: rgba(255, 255, 255, 0.1019607843);
  padding: 24px 16px;
}
.leaf-tip-wrapper .leaf-tip-top {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.leaf-tip-wrapper .leaf-tip-top p:first-child {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 700;
  line-height: 19.2px;
  text-align: center;
  color: #FFFFFF;
}
.leaf-tip-wrapper .leaf-tip-top p:last-child {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 400;
  line-height: 16.8px;
  text-align: center;
  color: #B2C4CB;
}
.leaf-tip-wrapper hr {
  border: 1px solid #314B55;
  width: 75%;
  opacity: 1;
}
.leaf-tip-wrapper .leaf-tip-bottom {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  align-items: center;
}
.leaf-tip-wrapper .leaf-tip-bottom p:first-child {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 19.2px;
  text-align: left;
  color: #FFFFFF;
}

.leaf-tip-amount {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 85%;
}
.leaf-tip-amount p {
  font-family: Noto Sans;
  font-size: 40px;
  font-weight: 500;
  line-height: 48px;
  text-align: left;
  color: #FFFFFF;
}

.gift-tile-select {
  width: 16px;
  height: 16px;
  position: absolute;
  top: 16px;
  right: 16px;
  border: 1px solid #40626F;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.3019607843);
}
.gift-tile-select img {
  vertical-align: top;
  opacity: 0;
  transition: opacity 500ms linear;
}
.gift-tile-select.selected img {
  opacity: 1;
}

.gift-tile-text {
  position: absolute;
  bottom: 48px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
}
.gift-tile-text .gift-image {
  scale: 1;
  transition: scale 300ms linear;
}
.gift-tile-text .gift-name {
  color: #FFFFFF;
  font-family: Noto Sans;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
  transition: font-size 300ms linear;
}
.gift-tile-text .gift-cost {
  color: #B2C4CB;
  text-align: center;
  font-family: Noto Sans;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  white-space: nowrap;
  transition: font-size 300ms linear;
}
.gift-tile-text.selected .gift-image {
  scale: 1.2;
}
.gift-tile-text.selected .gift-name {
  font-size: 17px;
}
.gift-tile-text.selected .gift-cost {
  font-size: 20px;
}

.gift-summary {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
  background-color: rgba(255, 255, 255, 0.1019607843);
  border-radius: 16px;
  height: 100%;
}
.gift-summary .gift-image-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.0509803922);
  border-radius: 8px;
  padding: 16px 0;
  height: 100%;
}
.gift-summary .gift-image-wrapper img {
  scale: 1.2;
}
.gift-summary .gift-message {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 300;
  line-height: 21px;
  text-align: left;
  color: #FFFFFF;
}

.donate-total {
  font-family: Noto Sans;
  font-size: 40px;
  font-weight: 600;
  line-height: 48px;
  text-align: left;
  color: #FFFFFF;
}

.payment-gateway-btn {
  border: 1px solid #314B55;
  border-radius: 8px;
  background-color: rgba(255, 255, 255, 0.1019607843);
  padding: 18px 0;
  width: 100%;
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.2px;
  text-align: center;
  color: #FFFFFF;
}

.leaf-charities-wrapper {
  overflow: auto !important;
  -ms-overflow-style: none !important; /* IE and Edge */
  scrollbar-width: none !important; /* Firefox */
  width: 100vw;
  margin-left: -16px;
  display: flex;
  gap: 16px;
}

.leaf-charity-tile {
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: center;
  align-items: center;
  border: 1px solid #314B55;
  border-radius: 8px;
  background-color: rgba(255, 255, 255, 0.1019607843);
  padding: 24px;
  width: 200px;
  height: 200px;
  flex: 0 0 auto;
  font-family: Playfair Display;
  font-size: 18px;
  font-weight: 600;
  line-height: 18px;
  text-align: center;
  color: #FFFFFF;
}

.create-memorial-radio-wrapper {
  border-radius: 8px;
  background-color: rgba(255, 255, 255, 0.0509803922);
  padding: 12px 24px 12px 20px;
  width: -moz-fit-content;
  width: fit-content;
}

.create-memorial-radio {
  width: 16px;
  height: 16px;
  border: 1px solid #FFFFFF;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.create-memorial-radio .radio-selected {
  background-color: #FFFFFF;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  opacity: 0;
}
.create-memorial-radio.selected .radio-selected {
  opacity: 1;
}

.form-hr {
  border: 1px solid #1A323C !important;
  width: 75%;
  opacity: 1 !important;
}

.tombstone-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.tombstone-text.timeline {
  top: 40%;
}
.tombstone-text .tombstone-name {
  font-family: Caudex;
  font-size: 22.65px;
  font-weight: 700;
  line-height: 22.65px;
  text-align: center;
  color: #282828;
}
.tombstone-text .tombstone-date p {
  font-family: Caudex;
  font-size: 12.58px;
  font-weight: 700;
  line-height: 12px;
  text-align: center;
  color: #282828 !important;
}

.event-images-preview {
  display: flex;
  overflow: auto;
  width: 100vw;
  margin-left: -16px;
  padding: 24px 16px;
}

.event-image-wrapper {
  position: relative;
}

.gallery-image-remove {
  position: absolute;
  top: -16px;
  right: -16px;
  cursor: pointer;
}

.event-additional-images {
  width: calc(50vw - 36px);
  height: calc(50vw - 36px);
  padding: 60px;
  border-radius: 8px;
  border: 2px #314B55 dashed;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  gap: 8px;
  background-color: #00222F;
}
.event-additional-images.final-screen {
  width: 124px !important;
  height: 124px !important;
}

.add-photo-btn {
  width: 248px;
  height: 248px;
  border-radius: 16px;
  overflow: hidden;
  border: 3px #314B55 dashed;
  justify-content: center;
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.add-photo-btn p {
  font-family: Noto Sans;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: center;
  color: #B2C4CB;
}

.transform-component-module_wrapper__SPB86 {
  width: auto !important;
  height: auto !important;
}

.create-account-family-tree {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 300vw;
  height: 300vh;
}
.create-account-family-tree .tile {
  position: relative;
  width: 100px;
  height: 116px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 16px 16px 0px 0px;
  border: 2px solid #314B55;
  background-color: #00222F;
  z-index: 2;
}
.create-account-family-tree .tile p {
  font-family: Noto Sans;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  text-align: center;
  color: #F1FBFF;
}
.create-account-family-tree .tile.tile-parent {
  margin-bottom: 28px;
}
.create-account-family-tree .tile.tile-child {
  margin-top: 28px;
}
.create-account-family-tree .tile.tile-child.pet {
  width: 68px;
  height: 84px;
}
.create-account-family-tree .tile.tile-origin.user {
  border-radius: 16px;
  background-color: #00222F !important;
}
.create-account-family-tree .tile.tile-origin.partner {
  border-radius: 16px 0px 0px 16px;
  border-right: none;
}
.create-account-family-tree .tile.tile-extended {
  position: absolute;
}
.create-account-family-tree .tree-link {
  width: 44px;
  height: 83px;
  position: relative;
}
.create-account-family-tree .tree-link .link-down {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%);
  scale: 1.01;
  z-index: 0;
}
.create-account-family-tree .tree-link .link-across {
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  z-index: 0;
}
.create-account-family-tree .tree-link .link-across.parent {
  top: 0;
}
.create-account-family-tree .tree-link .link-across.child {
  bottom: 0;
}
.create-account-family-tree .tree-link .link-dot {
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  z-index: 1;
}
.create-account-family-tree .tree-link .link-dot.parent {
  top: -3px;
}
.create-account-family-tree .tree-link .link-dot.child {
  bottom: -3px;
}

.family-tree-ext {
  position: absolute;
  width: 101px;
  background-repeat: no-repeat;
  background-image: url("/images/family-tree-add.svg");
  height: 48px;
}
.family-tree-ext.top {
  left: 50%;
  transform: translate(-50%);
  top: -50px;
}
.family-tree-ext.top.t-2 {
  left: 0 !important;
  transform: rotate(0) !important;
}
.family-tree-ext.top.t-2 div {
  transform: rotate(0) !important;
}
.family-tree-ext.top.active {
  background-image: url("/images/family-tree-add-link.svg") !important;
  height: 136px !important;
  top: -138px !important;
  width: 100px !important;
}
.family-tree-ext.right {
  transform: translate(50%) rotate(90deg);
  right: -25px;
}
.family-tree-ext.right.active {
  background-image: url("/images/family-tree-add-link-h.svg") !important;
  height: 136px !important;
  right: -69px !important;
  width: 100px !important;
}
.family-tree-ext.right.active div {
  transform: rotate(-90deg);
}
.family-tree-ext.left {
  transform: translate(-50%) rotate(-90deg);
  left: -25px;
}
.family-tree-ext.left.active {
  background-image: url("/images/family-tree-add-link-h.svg") !important;
  height: 136px !important;
  left: -69px !important;
  width: 100px !important;
}
.family-tree-ext.left.active div {
  transform: rotate(90deg);
}

.existing-connections-label {
  background-color: rgba(255, 255, 255, 0.0509803922);
  border-radius: 16px;
  display: flex;
  gap: 16px;
  padding: 16px;
  margin-bottom: 40px;
}
.existing-connections-label .label-copy {
  display: flex;
  flex-direction: column;
}
.existing-connections-label .label-copy p:first-child {
  font-family: Playfair Display;
  font-size: 18px;
  font-weight: 500;
  line-height: 21.6px;
  text-align: left;
  color: #FFFFFF;
}
.existing-connections-label .label-copy p:last-child {
  font-family: Noto Sans;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  text-align: left;
  color: #92B3C0;
}

.existing-connections-heading {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 600;
  line-height: 21px;
  text-align: left;
  color: #FFFFFF;
}

.existing-connections-wrapper {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  width: calc(100vw + 16px);
  margin-left: -16px !important;
  padding: 16px;
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}
.existing-connections-wrapper .existing-connection-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-width: 155px;
  max-width: 155px;
  border: 2px solid #314B55;
  border-radius: 24px;
  padding: 16px;
  gap: 8px;
}
.existing-connections-wrapper .existing-connection-tile .connection-name {
  font-family: Playfair Display;
  font-size: 16px;
  font-weight: 500;
  line-height: 21.33px;
  text-align: center;
  color: #FFFFFF;
}
.existing-connections-wrapper .existing-connection-tile .connection-date {
  font-family: Noto Sans;
  font-size: 12px;
  font-style: italic;
  font-weight: 600;
  line-height: 12px;
  text-align: center;
  color: #D2E0E5;
}
.existing-connections-wrapper .existing-connection-tile .connection-link {
  font-family: Noto Sans;
  font-size: 12px;
  font-weight: 400;
  line-height: 16.34px;
  text-align: center;
  color: #D2E0E5;
  padding: 16px 8px 0 !important;
}
.existing-connections-wrapper .existing-connection-tile:last-child {
  margin-right: 16px;
}

.image-uploading-counter {
  z-index: 10;
  border-radius: 999px;
  padding: 16px 24px;
  position: fixed;
  bottom: 0;
  background-color: #00222F !important;
  border-radius: 999px;
  margin: 24px;
  width: calc(100% - 48px) !important;
  display: flex;
  justify-content: space-between;
}
.image-uploading-counter p {
  font-family: Noto Sans;
  font-size: 14px;
  font-weight: 700;
  line-height: 21px;
  text-align: left;
  color: #FFFFFF;
}

.memory-btn-wrapper {
  position: relative;
  background-color: rgba(255, 255, 255, 0.0509803922);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.family-tree-tip {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  padding: 12px 16px;
  background-color: #004A67;
  border-radius: 16px;
}
.family-tree-tip img {
  position: absolute;
  top: 12px;
  right: 16px;
}
.family-tree-tip p:first-child {
  font-size: 12px;
  font-family: Noto Sans;
  font-weight: 400;
  word-wrap: break-word;
  color: #D2E0E5;
}
.family-tree-tip p:last-child {
  font-size: 14px;
  font-family: Noto Sans;
  font-weight: 500;
  word-wrap: break-word;
  color: #FFFFFF;
}

.family-tree-card {
  display: flex;
  flex-direction: column;
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 100%);
}
.family-tree-card .family-tree-card-header {
  background-color: rgba(255, 255, 255, 0.0509803922) !important;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  padding: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.family-tree-card .family-tree-card-header .header-text p:first-child {
  color: white;
  font-size: 14px;
  font-family: Noto Sans;
  font-weight: 700;
}
.family-tree-card .family-tree-card-header .header-text p:last-child {
  color: #92B3C0;
  font-size: 12px;
  font-family: Noto Sans;
  font-weight: 500;
}
.family-tree-card .family-tree-card-body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  padding: 2rem;
  overflow: hidden;
}
.family-tree-card .family-tree-card-body .family-tree-card-line {
  position: absolute;
  top: 105px;
  z-index: 0;
  opacity: 1;
}
.family-tree-card .family-tree-card-body .family-tree-card-line.hz {
  width: 100%;
  border-top: 3px solid #314B55 !important;
}
.family-tree-card .family-tree-card-body .family-tree-card-line.vert {
  height: 100%;
  border-left: 3px solid #314B55 !important;
}
.family-tree-card .family-tree-card-body .family-tree-card-line.dot {
  top: 102px;
}
.family-tree-card .family-tree-tile {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 116px;
  height: 151px;
  border-radius: 1rem;
  z-index: 1;
  opacity: 1;
}
.family-tree-card .family-tree-tile .tile-name {
  color: #FFFFFF;
  font-size: 14px;
  font-family: Playfair Display;
  font-weight: 500;
  text-align: center;
}
.family-tree-card .family-tree-tile .tile-img {
  border-radius: 50%;
  width: 56px;
  height: 56px;
}
.family-tree-card .family-tree-tile .tile-img.tile-img-border {
  border: 2px solid rgba(255, 255, 255, 0.3);
}
.family-tree-card .family-tree-tile.tile-user {
  background-color: #001B26;
  border: 3px solid #314B55;
}
.family-tree-card .family-tree-tile.tile-memorial {
  background-color: #FFFFFF;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.family-tree-card .family-tree-tile.tile-memorial .tile-name {
  font-weight: 700;
  color: #000000;
}
.family-tree-card .family-tree-tile.tile-placeholder {
  background-color: #0d2e3a;
  border: 3px dashed #314B55;
}
.family-tree-card .family-tree-tile.tile-placeholder .tile-name {
  font-size: 12px;
  font-family: Noto Sans;
  font-weight: 700;
}

.card-no-memorials {
  border: none !important;
}
.card-no-memorials .card-body {
  background-color: #1A323C !important;
}
.card-no-memorials .card-body .card-text p:first-child {
  color: #FFF;
  font-family: "Noto Sans";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.card-no-memorials .card-body .card-text p:last-child {
  color: #B2C4CB;
  font-family: "Noto Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.stories-wrapper {
  display: flex;
  gap: 16px;
  width: 100vw;
  padding: 16px;
  overflow-x: auto;
  z-index: 9;
  -ms-overflow-style: none !important; /* IE and Edge */
  scrollbar-width: none !important; /* Firefox */
}
.stories-wrapper .story-tile-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.stories-wrapper .story-tile-wrapper .story-tile {
  position: relative;
  border-radius: 50%;
  padding: 2px;
}
.stories-wrapper .story-tile-wrapper .story-tile .story-image-wrapper {
  background-color: #001B26;
  border-radius: 50%;
}
.stories-wrapper .story-tile-wrapper .story-tile .story-image-wrapper img {
  border-radius: 50%;
}
.stories-wrapper .story-tile-wrapper .story-tile.add-memory {
  border: 2px dashed #314B55;
}
.stories-wrapper .story-tile-wrapper .story-tile.add-memory .btn-add-story {
  position: absolute;
  bottom: 0;
  right: 0;
}
.stories-wrapper .story-tile-wrapper .story-title {
  color: #FFF;
  text-align: center;
  font-family: "Noto Sans";
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%; /* 12px */
  display: flex;
  flex-direction: column;
}/*# sourceMappingURL=styles.css.map */