:root {
  --savrpass-blue: #0017eb;
  --savrpass-red: #d10000;
  --savrpass-blue-soft: rgba(0, 23, 235, .08);
  --savrpass-red-soft: rgba(209, 0, 0, .08);
}

a, .text-primary, .text-info { color: var(--savrpass-blue); }
a:hover, a:focus { color: var(--savrpass-red); }

#header, #header nav, .navbar.navbar-default:not(.ds-portal-nav) {
  background: var(--savrpass-blue) !important;
}

.btn-primary, .primary-bg, .info-bg,
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.pagination > .active > a,
.pagination > .active > span,
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #fff !important;
  border-color: var(--savrpass-blue) !important;
  background: var(--savrpass-blue) !important;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.btn-primary.active, .open > .dropdown-toggle.btn-primary {
  color: #fff !important;
  border-color: var(--savrpass-blue) !important;
  background: var(--savrpass-blue) !important;
  filter: brightness(.86);
}

.btn-danger, .danger-bg,
.label-danger, .badge-danger,
.alert-danger .alert-link {
  color: #fff !important;
  border-color: var(--savrpass-red) !important;
  background: var(--savrpass-red) !important;
}

.btn-danger:hover, .btn-danger:focus, .btn-danger:active {
  border-color: var(--savrpass-red) !important;
  background: var(--savrpass-red) !important;
  filter: brightness(.82);
}

.text-danger, .has-error .help-block, .has-error .control-label { color: var(--savrpass-red) !important; }
.alert-danger { color: var(--savrpass-red); border-color: rgba(209,0,0,.24); background: var(--savrpass-red-soft); }
.alert-info { color: var(--savrpass-blue); border-color: rgba(0,23,235,.22); background: var(--savrpass-blue-soft); }

.sidebar ul.nav > li > a:hover,
.sidebar ul.nav > li.active > a,
.sidebar ul.nav > li > a:focus,
.sidebar ul.nav li ul.nav-second-level li.active a,
.sidebar ul.nav li ul.nav-second-level li a:hover {
  color: var(--savrpass-blue) !important;
  background: var(--savrpass-blue-soft) !important;
}

.sidebar ul.nav > li.active > a i,
.sidebar ul.nav > li > a:hover i { color: var(--savrpass-blue) !important; }

.form-control:focus, input:focus, select:focus, textarea:focus {
  border-color: var(--savrpass-blue) !important;
  box-shadow: 0 0 0 3px rgba(0, 23, 235, .12) !important;
}

/* bootstrap-select supplies its own bordered button; its wrapper stays unframed. */
.bootstrap-select.form-control {
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

input[type="checkbox"], input[type="radio"] { accent-color: var(--savrpass-blue); }
.checkbox-primary input[type="checkbox"]:checked + label::before,
.radio-primary input[type="radio"]:checked + label::before { border-color: var(--savrpass-blue); background: var(--savrpass-blue); }

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus { color: var(--savrpass-blue) !important; border-bottom-color: var(--savrpass-blue) !important; }

.progress-bar, .fc-button-primary, .fc-event { border-color: var(--savrpass-blue) !important; background-color: var(--savrpass-blue) !important; }
.label-primary, .badge-primary { color: #fff !important; background: var(--savrpass-blue) !important; }
.label-warning, .badge-warning { color: #fff !important; background: #f59e0b !important; }

.ds-portal-nav.navbar {
  border-color: var(--savrpass-blue) !important;
  background: var(--savrpass-blue) !important;
}
.ds-portal-brand img {
  width: auto;
  max-width: 190px;
  max-height: 48px;
  object-fit: contain;
}
.ds-portal-nav .navbar-nav > li > a,
.ds-portal-nav .navbar-nav > li > a i,
.ds-portal-nav .ds-profile-copy strong,
.ds-portal-nav .ds-profile-copy small,
.ds-portal-nav .ds-profile-trigger > i {
  color: #fff !important;
}
.ds-portal-nav .navbar-nav > li > a:hover,
.ds-portal-nav .navbar-nav > li.active > a {
  color: #fff !important;
  background: rgba(255,255,255,.12) !important;
}
.ds-portal-nav .navbar-nav > li.active > a::after { background: var(--savrpass-red) !important; }
.ds-portal-nav .navbar-toggle .icon-bar { background: #fff !important; }

.ds-client-auth .ds-auth-logo {
  margin-bottom: 18px;
  text-align: center;
}
.ds-client-auth .ds-auth-logo img {
  width: auto;
  max-width: 220px;
  max-height: 58px;
  object-fit: contain;
}
.ds-client-auth .ds-eyebrow {
  display: block;
  text-align: center;
}
.ds-client-auth .ds-auth-card h2,
.ds-client-auth .ds-auth-intro { text-align: center; }
