/* Visual theme for the independently configured installation. */
:root {
  --bofa-navy: #012169;
  --bofa-blue: #0052c2;
  --bofa-red: #e31837;
  --bofa-ink: #23334d;
  --bofa-border: #dce3ef;
}
body {
  font-family: Arial, Helvetica, sans-serif;
  color: var(--bofa-ink);
  background: var(--bofa-navy);
}
body.gray-bg, #page-wrapper { background: #f3f5f9; }
a { color: var(--bofa-blue); }
a:hover, a:focus { color: var(--bofa-navy); }
:focus-visible { outline: 3px solid #009cde; outline-offset: 3px; }
.navbar-static-side, .navbar-default { background-color: var(--bofa-navy); }
.nav-header { background: #fff; padding: 26px 22px; }
.bofa-brand { display: block; margin: 0 0 25px; }
.bofa-brand img { display: block; width: 100%; max-width: 210px; height: auto; }
.nav-header .profile-element, .nav-header .profile-element .text-muted,
.nav-header .profile-element a { color: var(--bofa-navy); }
.navbar-default .nav > li > a { color: #e7edfa; }
.navbar-default .nav > li > a:hover,
.navbar-default .nav > li > a:focus { background: #123575; color: #fff; }
.nav > li.active { border-left-color: var(--bofa-red); background: #00194f; }
.nav > li.active > a { color: #fff; }
.nav > li > a { font-weight: 600; padding-top: 16px; padding-bottom: 16px; }
.nav-header .dropdown-menu a { color: var(--bofa-ink); }
.logo-element { padding: 18px 12px; background: #fff; }
.logo-element img { width: 44px; height: auto; margin: auto; }
.navbar-static-top { background: #fff; border-bottom: 1px solid var(--bofa-border); }
.welcome-message { color: var(--bofa-navy); font-weight: 600; }
.page-heading { background: #fff; border-bottom: 1px solid var(--bofa-border); }
.page-heading h2, .ibox-title h5 { color: var(--bofa-navy); }
.ibox-title { border-top: 3px solid var(--bofa-navy); background: #fff; }
.ibox-title, .ibox-content { border-color: var(--bofa-border); }
.ibox-content { border-radius: 0 0 5px 5px; }
.btn-primary, .btn-primary:focus, .btn-primary:active,
.btn-primary.active, .open .dropdown-toggle.btn-primary {
  background-color: var(--bofa-blue);
  border-color: var(--bofa-blue);
  color: #fff;
}
.btn-primary:hover { background-color: var(--bofa-navy); border-color: var(--bofa-navy); color: #fff; }
.btn-primary.btn-outline { background: #fff; color: var(--bofa-blue); }
.btn-primary.btn-outline:hover { background: var(--bofa-blue); color: #fff; }
.btn-white { border-color: #bcc8dc; color: var(--bofa-navy); }
.form-control { border-color: #bcc8dc; border-radius: 3px; color: var(--bofa-ink); }
.form-control:focus { border-color: var(--bofa-blue); box-shadow: 0 0 0 2px rgba(0,82,194,.12); }
.table > thead > tr > th { color: var(--bofa-navy); background: #f3f6fc; border-bottom-color: var(--bofa-border); }
.table-striped > tbody > tr:nth-of-type(odd) { background-color: #f7f9fc; }
.table > tbody > tr > td { vertical-align: middle; }
.pagination > .active > a, .pagination > .active > span,
.pagination > .active > a:hover { background: var(--bofa-blue); border-color: var(--bofa-blue); }
.text-navy { color: var(--bofa-blue); }
.nav-tabs > li.active { border-left: 0; background: #fff; }
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover { color: var(--bofa-navy); }
.footer { border-top-color: var(--bofa-border); color: #647187; }
.bofa-login { background: #f3f5f9; min-height: 100vh; border-top: 6px solid var(--bofa-red); }
.bofa-login .loginColumns, .bofa-login .middle-box { padding-top: 56px; }
.bofa-login-logo { width: 280px; max-width: 100%; height: auto; display: block; margin: 0 auto 30px; }
.bofa-login .ibox-content { border: 1px solid var(--bofa-border); border-top: 4px solid var(--bofa-navy); border-radius: 5px; }
.bofa-login .logo-name { display: none; }
@media (max-width: 767px) {
  .bofa-login .loginColumns, .bofa-login .middle-box { padding-top: 28px; }
  .welcome-message { display: none; }
}
@media print {
  .navbar-static-side, .navbar-static-top, .footer { display: none !important; }
  #page-wrapper { margin: 0; background: #fff; }
}

/* Keep long account identifiers and wide tables accessible. */
.nav-header .profile-element .text-muted { white-space:normal; overflow-wrap:anywhere; }
.table-responsive { overflow-x:auto; }
[hidden] { display:none !important; }
body[data-bofa-readonly="1"] form[method="post"] button[type="submit"] { display:none; }
