:root {
  --bs-primary: #18618c;
  --bs-primary-rgb: 24, 97, 140;
  --bs-primary-bg-subtle: #e6f0f5;
  --bs-primary-border-subtle: #99c2d6;
  --bs-primary-text-emphasis: #0a2637;
}

/* Override Bootstrap's primary color */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #144f70;
  --bs-btn-hover-border-color: #124a68;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #124a68;
  --bs-btn-active-border-color: #10455f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}

/* Override link colors */
a {
  color: var(--bs-primary);
}

a:hover {
  color: #144f70;
}

/* Override form controls focus */
.form-control:focus, .form-select:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem rgba(24, 97, 140, 0.25);
}

/* Override pagination active state */
.page-item.active .page-link {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

/* Override dropdown menu */
.dropdown-item.active, .dropdown-item:active {
  background-color: var(--bs-primary);
}

/* Override badges */
.bg-primary {
  background-color: var(--bs-primary) !important;
}

/* Override progress bars */
.progress-bar {
  background-color: var(--bs-primary);
}

/* Override alerts */
.alert-primary {
  --bs-alert-color: #0a2637;
  --bs-alert-bg: #e6f0f5;
  --bs-alert-border-color: #99c2d6;
}

/* Override list group */
.list-group-item.active {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

/* Override switches */
.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

/* Override tabs */
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  background-color: var(--bs-primary);
}

/* Override custom controls */
.form-check-input:checked[type=checkbox] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

/* Override custom range */
.form-range::-webkit-slider-thumb:active {
  background-color: #d6e9f5;
}

.form-range::-webkit-slider-thumb {
  background-color: var(--bs-primary);
}

.form-range::-moz-range-thumb {
  background-color: var(--bs-primary);
}

.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(24, 97, 140, 0.25);
}

.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(24, 97, 140, 0.25);
}

/* Override toast */
.toast {
  --bs-toast-header-color: #0a2637;
  --bs-toast-header-bg: #e6f0f5;
  --bs-toast-header-border-color: #99c2d6;
}

/* Override accordion */
.accordion-button:not(.collapsed) {
  color: #0a2637;
  background-color: #e6f0f5;
}

.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230a2637'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* Override form switches */
.form-switch .form-check-input:checked {
  background-position: right center;
  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='%23fff'/%3e%3c/svg%3e");
}
