.pt-05 {
  padding-top: 0.15rem;
}

/*** BANKS LIST START ***/
.bank-table {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 24px;

  thead {
    color: unset !important;
  }

  th {
    font-weight: 600;
  }
}

.bank-table > tbody.card-body {
  border-top: none !important;
}

.bank-table > tbody > tr > td {
  vertical-align: middle;
}

.bank-table th.sync {
  text-align: center;
}

/*** BANKS LIST END ***/

/*** CASH FLOW MONITOR MODAL START ***/

.cash-flow-monitor-modal-buttons {
  position: absolute;
  bottom: 20px;
  right: 40px;
}

.scrollable-container {
  max-height: 60vh;
  overflow-y: auto;
}

.rental-income-form input:disabled,
.loan-payment-form input:disabled {
  background-color: #fff;
  color: #bbb;
  position: static;
}

.cash-flow-monitor-summary .amount {
  text-align: right;
}

.bank-table-dropdown-menu {
  overflow: visible;
}

/*** CASH FLOW MONITOR MODAL END ***/

/*** LOGIN ***/
.unauthenticated {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.unauthenticated .card {
  background-color: #fff;
  border-radius: 8px;
  color: #212832;
}

.unauthenticated a {
  color: #0d6fb8;
}

.unauthenticated button {
  background-color: #0d6fb8;
  color: #fff;
}

.unauthenticated .card-header,
.unauthenticated .card-body,
.unauthenticated .card-footer {
  background-color: #fff;
}

.unauthenticated .card-header {
  padding: 30px;
}

.unauthenticated .card-header img {
  width: 300px;
}

.unauthenticated .card-header h1 {
  margin: 20px;
  margin-bottom: 0;
}

.unauthenticated .card-footer {
  font-size: 14px;
  padding: 30px;
  text-align: center;
}

.unauthenticated .card-body input {
  border-radius: 4px;
  border: #e0e0e0 1px solid;
}

.unauthenticated .login-card,
.unauthenticated .password-reset-card {
  width: 500px;
}

.unauthenticated .login-card .forgot-container {
  text-align: left;
}

.unauthenticated .login-card .submit-container {
  text-align: right;
}

.unauthenticated .login-card .submit-container button {
  width: 100px;
}

.unauthenticated .login-card.token-card {
  width: 500px;
}

.unauthenticated .login-card.token-card label {
  font-weight: 400;
  margin-right: 20px;
}

.unauthenticated .login-card.token-card table {
  margin-bottom: 40px !important;
}

.unauthenticated .login-card.token-card td,
.unauthenticated .login-card.token-card td input {
  width: 100%;
}

.unauthenticated .registration-card {
  width: 800px;
}

.unauthenticated .registration-card #agree-to-terms input {
  width: 10px;
  height: 10px;
  padding: 8px;
  margin: 0;
}

/*** LOGIN END ***/

/* Max Height 25% of Viewport */
.max-vh-25 {
  max-height: 25vh;
}

/* X-Large Checkbox */
.checkbox-xl {
  scale: 2;
}

/* Logo Image */
.navbar-logo-image {
  height: 2.2rem !important;
}

/* Search Results Popover */
.navbar-dropdown-menu-search-results {
  min-width: 15.5rem;
}

/* Google Maps Autocomplete above Modal */
.pac-container {
  z-index: 1056 !important;
}

/* hr stretch passed card padding */
.hr-card-margin-offset {
  margin-right: -1.35rem;
  margin-left: -1.35rem;
}

/* transform limits stretched-link to containing element */
.transform-0 {
  transform: rotate(0);
}

/* width 8 root em */
.w-8rem {
  width: 8rem;
}

/* width 16 root em */
.w-16rem {
  width: 16rem;
}

/*** TABLES START ***/

.table-container {
  overflow: visible;
  padding-bottom: 20px;
}

.table-container.single-row {
  padding-bottom: 50px;
}

/* pad the right of table header sort links to make way for indicator icons */
table.table thead th.orderable a {
  padding-right: 0.75rem;
}

/* display table sort indicator after  links */
table.table thead th.orderable::after {
  /* biome-ignore lint/a11y/useGenericFontNames: Icon font, no text fallback needed */
  font-family: FontAwesome;
  font-weight: 900;
  content: "\f0dc";
  position: absolute;
  right: 15px;
  color: #999;
  display: none;
}

/* display up icon for items sorted in ascending order */
table.table thead th.asc.orderable::after {
  content: "\f0d8";
}

/* display down icon for items sorted in descending order */
table.table thead th.desc.orderable::after {
  content: "\f0d7";
}

/* padding for additional elements near pagination */
nav .pagination-padding {
  padding: 0.375rem 0.75rem;
}

/* adjust select padding to match pagination */
.form-select-per-page {
  padding-top: 0.8rem;
  padding-bottom: 0.7rem;
}

/*** TABLES END ***/

/*** MODALS START ***/

.modal-header {
  background-color: rgb(34 41 46 / 3%);
  border-bottom: 1px solid rgb(34 41 46 / 12.5%);
}

.modal-footer {
  border: 0;
}

@media (width >= 992px) {
  .modal-content {
    max-height: 800px;
  }
}

.modal-body {
  height: 80vh;
  overflow-y: auto;
}

.modal-body.auto-height {
  height: auto;
  overflow-y: visible;
}

.rounded-start-secondary-block {
  border-top-right-radius: 0.35rem !important;
  border-bottom-right-radius: 0.35rem !important;
}

/*** PROPERTY/LEASE/LOAN MODAL ***/

/* .timeline .timeline-item .timeline-item-marker .timeline-item-marker-indicator */
.timeline.property-lease-loan-modal-timeline .timeline-item
  .timeline-item-marker
  .timeline-item-marker-indicator {
  border: white 2px solid;
  color: white;
  background-color: transparent;
}

.timeline.property-lease-loan-modal-timeline {
  position: relative;
  left: -20px;
  padding-bottom: 2.5rem;
  padding-top: 0.5rem !important;
}

.timeline.property-lease-loan-modal-timeline
  .timeline-item
  .timeline-item-content {
  padding-bottom: 2rem;
}

.faded {
  opacity: 0.4;
}

.timeline.property-lease-loan-modal-timeline
  .timeline-item
  .timeline-item-content:not(.last-item-content) {
  border-image: linear-gradient(to top, white 30%, transparent 30%) 1 100%;
  border-left: white 2px solid;
}

.timeline.property-lease-loan-modal-timeline
  .timeline-item
  .timeline-item-content:not(.last-item-content).border-left-faded {
  border-image: linear-gradient(
      to top,
      rgb(255 255 255 / 50%) 30%,
      transparent 30%
    )
    1 100%;
  border-left: rgb(255 255 255 / 50%) 2px solid !important;
}

.modal-dialog {
  overflow-y: initial !important;
}

.property-lease-loan-modal-buttons {
  position: absolute;
  bottom: 40px;
  right: 40px;
}

.modal-content.cfm .content-scrollable {
  padding: 0 0 35px !important;
}

.modal-content.cfm .modal-footer {
  position: sticky;
  bottom: 0;
  background-color: #fff;
  z-index: 10;
}

.toggle-container {
  font-size: 0.8rem;
  padding-top: 0.4rem;
}

.capital-label,
.equity-label {
  transition: opacity 0.3s ease-in-out;
}

/*** PROPERTY/LEASE/LOAN MODAL END ***/

/** WELCOME MODAL START **/

.trinety-logo-white {
  filter: brightness(0) invert(1);
}

.trinety-logo-welcome-screen {
  top: 250px;
}

.step .step-item .step-item-link.active::before {
  background-color: var(--bs-primary);
}

.guide-modal-header {
  min-height: 80px;
}

/** WELCOME MODAL END **/

/*** MODALS END ***/

/*** NAVIGATION TABS START ***/
.nav-tabs-only-bottom-border .nav-link {
  border: inherit;
  margin-bottom: inherit;
}

/*** NAVIGATION TABS END ***/

/*** DASHBOARD RECENT ACTIVITY TIMELINE START ***/
.timeline.timeline-xs.timeline-dashboard-recent-activity .timeline-item
  .timeline-item-marker
  .timeline-item-marker-text {
  /* chrome & safari is truncating the 09/05/23 date at the default 3rem */
  width: 3.25rem;
}

/*** DASHBOARD RECENT ACTIVITY TIMELINE END ***/

/*** DASHBOARD START ***/

.dashboard-property-address .d-block {
  max-width: 232px;
}

.dashboard-property-address .d-xl-block {
  max-width: 140px;
}

.dashboard-property-address .d-xxl-block {
  max-width: 232px;
}

/*** DASHBOARD END ***/

/*** HTMX START ***/

.htmx-request {
  opacity: 0.2;
}

/*** HTMX END ***/

/*** THEME START ***/

.dotted-border {
  border: 3px dashed rgb(0 0 0 / 7%);
  border-radius: 6px;
}

.text-xxs {
  font-size: 0.7rem;
}

/*** THEME END ***/

/*** UTILITY ***/
.cursor-pointer {
  cursor: pointer !important;
}

.cursor-default {
  cursor: default !important;
}

.size-34 {
  width: 34px;
  height: 34px;
}

.mt-12rem {
  margin-top: 12rem;
}

.h-98 {
  height: 98%;
}

.min-height-967px {
  min-height: 967px;
}

.min-height-904px {
  min-height: 904px;
}

.min-height-608px {
  min-height: 608px;
}

/*** UTILITY END ***/

/*** FORMS START ***/

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-calendar-picker-indicator {
  display: none;
  appearance: none;
}

input[type="date"] {
  max-height: 44px;
  border-top-right-radius: 5px !important;
  border-bottom-right-radius: 5px !important;
}

.form-switch .form-check-input:checked {
  /* svg fill is set to var(--bs-primary) = #0A6FB7 = %230A6FB7 */
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%230A6FB7'/%3e%3c/svg%3e");
  background-color: #fff;
  border-color: rgb(0 0 0 / 25%);
}

/* special colored dashboard switches */
.form-switch.switch-lightblue .form-check-input:checked {
  /* svg fill is set to var(--bs-lightblue) = #7ABBE7 = %237ABBE7 */
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%237ABBE7'/%3e%3c/svg%3e");
}

.form-switch.switch-green .form-check-input:checked {
  /* svg fill is set to var(--bs-green) = #00AC69 = %2300AC69 */
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2300AC69'/%3e%3c/svg%3e");
}

/* MONEY FIELD */
.money-input-container {
  position: relative;
  display: inline-block;
}

.money-input-container::before {
  content: "$";
  font-size: 0.9rem;
  position: absolute;
  left: 15px;
  top: 28%;
  pointer-events: none;
}

.money-input-container input[type="text"] {
  padding-left: 28px;
}

.money-input-container .form-control[disabled] {
  background-color: #fff;
}

select.form-control.form-control-background-light:disabled {
  background-color: #fff !important;
  color: #bbb;
}

/* END MONEY FIELD */

/*** FORMS END ***/

/*** ACTIONS START ***/

.actions-dropdown {
  height: 0;
}

/*** ACTIONS END ***/

/* AMORTIZATION TABLE START */
.sticky-header {
  position: sticky;
  top: 0;
  background-color: white;
  z-index: 1;
}

/* AMORTIZATION TABLE END */

/* CASH FLOW MONITOR NOTIFICATIONS START */
.cfm-notifications,
.cfm-settings {
  .nav-link.active {
    color: unset;
  }
}

/* CASH FLOW MONITOR NOTIFICATIONS END */

.cfm {
  .table-container {
    overflow-x: auto;
    font-size: 0.875rem;
    padding: 0;

    .table {
      th {
        font-weight: 600;
        font-size: 0.875rem;
      }

      > :not(:first-child) {
        border: none;
      }

      > thead {
        color: unset;
      }

      input[type="checkbox"] {
        appearance: none;
        width: 22px;
        height: 22px;
        border: 2px solid grey;
        border-radius: 4px;
        background-color: transparent;
        display: inline-block;
        position: relative;
      }

      input[type="checkbox"]:checked {
        background-color: #28a745;
        border-color: #28a745;
      }

      input[type="checkbox"]:checked::after {
        content: "";
        position: absolute;
        top: -1px;
        left: 5px;
        width: 8px;
        height: 16px;
        border: solid white;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
      }
    }
  }
}

.cfm .table-container nav {
  display: none;
}

.modal-height-fit {
  height: auto !important;
  min-height: fit-content;
}

.spinner-container {
  height: 100px;
}

[data-step="delete-account"] {
  position: relative;
}

.spinner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  background-color: rgb(255 255 255 / 85%);
  display: flex;
  justify-content: center;
  align-items: center;
}
