html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

@media print {
  @page {
    margin: 12mm;
  }

  body {
    font-size: 11pt;
  }

  header,
  footer,
  .no-print {
    display: none !important;
  }

  .container {
    max-width: none !important;
    width: 100% !important;
  }

  main {
    padding-bottom: 0 !important;
  }

  .table {
    font-size: 9.5pt;
  }

  .table-responsive {
    overflow: visible !important;
  }

  a {
    color: inherit !important;
    text-decoration: none !important;
  }

  section {
    break-inside: avoid;
  }

  tr {
    break-inside: avoid;
  }
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.account-form {
  max-width: 720px;
}

.journal-status-link {
  text-decoration: none;
  border: 1px solid transparent;
}

.journal-status-link:hover,
.journal-status-link:focus {
  background-color: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
  border-color: currentColor;
}

.subscription-steps .list-group-item {
  border-radius: 0;
  color: var(--bs-secondary-color);
}

.subscription-steps .list-group-item span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  margin-right: .35rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: .8rem;
}

.subscription-steps .step-complete {
  color: var(--bs-success-text-emphasis);
  background: var(--bs-success-bg-subtle);
}

.assessment-table .assessment-amount {
  min-width: 7rem;
  max-width: 9rem;
}

.assessment-table .assessment-reason {
  min-width: 13rem;
}

.member-allocation {
  min-width: 15rem;
}

.receipt-allocation-table select {
  min-width: 14rem;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.statement-sheet {
  max-width: 820px;
  margin: 0 auto;
  color: #111;
}

.statement-header h2 {
  margin: .25rem 0;
  font-size: 1.45rem;
  font-weight: 700;
}

.statement-entity {
  font-size: 1.15rem;
  font-weight: 700;
}

.statement-table {
  --bs-table-bg: transparent;
  border-color: #111;
}

.statement-table th,
.statement-table td {
  padding: .28rem .5rem;
  border-bottom: 0;
}

.statement-table thead th {
  border-bottom: 1px solid #111;
}

.statement-table .section-row th {
  padding-top: .85rem;
  font-weight: 700;
}

.statement-table .total-row th,
.statement-table .total-row td {
  border-top: 1px solid #111;
  font-weight: 700;
}

.statement-table .grand-total-row th,
.statement-table .grand-total-row td,
.statement-table .balance-check-row th,
.statement-table .balance-check-row td {
  border-top: 1px solid #111;
  border-bottom: 3px double #111;
  font-weight: 700;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 16mm;
  }

  html,
  body {
    font-size: 11pt;
    margin: 0;
  }

  body {
    color: #000;
  }

  body > header,
  body > footer,
  .print-hide {
    display: none !important;
  }

  .container {
    max-width: none;
    width: 100%;
    padding: 0;
    margin: 0;
  }

  main {
    padding: 0 !important;
  }

  .statement-sheet {
    max-width: none;
    margin: 0;
  }

  .statement-table {
    width: 100%;
    page-break-inside: auto;
  }

  .statement-table tr {
    page-break-inside: avoid;
    page-break-after: auto;
  }

  .statement-table a {
    color: inherit !important;
    text-decoration: none !important;
  }
}
