/*-------------------- Input and other tweeks --------------------*/
input[type=number] {
  -moz-appearance: textfield;
}

input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.badge {
  line-height: 1;
}

/*-------------------- light/dark theme --------------------*/
[data-bs-theme=dark] {
  --bs-normal-text: #ffffff;
  --bs-border-color: #525559;
  --bs-primary: #FAA31B;
  --bs-primary-rgb: 250, 163, 27;
  --bs-bg-sidebar-highlight-rgba: rgba(255, 255, 255, 0.1);

  --bs-bg-header-tertiary: #272b30;
  --bs-bg-body-tertiary: #2b3035;
  --bs-bg-quaternary: #212529;
  --bs-border-quaternary: #495057;
  --bs-active-quaternary: #5676a5;

  --text-custom-warning-color: var(--bs-warning);
  --text-bg-section-label-bg-rgb: var(--bs-dark-rgb);

  --has-warning-border-color: var(--bs-warning-border-subtle);
  /*Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.*/
  --has-warning-background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23ffc107'%3e%3cpath d='M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3e%3c/svg%3e");
}

[data-bs-theme=light] {
  --bs-normal-text: #000000;
  --bs-border-color: #b3b2b2;
  --bs-primary: #d88b17;
  --bs-primary-rgb: 216, 139, 23;
  --bs-bg-sidebar-highlight-rgba: rgba(0, 0, 0, 0.1);

  --bs-bg-header-tertiary: #f8f8f8;
  --bs-bg-body-tertiary: #f8f9fa;
  --bs-bg-quaternary: #ffffff;
  --bs-border-quaternary: #aaaaaa;
  --bs-active-quaternary: #5676a5;

  --text-custom-warning-color: #FF5F1F;
  --text-bg-section-label-bg-rgb: var(--bs-light-rgb);

  --has-warning-border-color: #FF5F1F;
  /*Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.*/
  --has-warning-background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23FF5F1F'%3e%3cpath d='M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3e%3c/svg%3e");
}

.text-normal {
  color: var(--bs-normal-text);
}

.text-custom-warning {
  color: var(--text-custom-warning-color) !important;
}

.hide-without-warning {
  display: none;
}

.text-custom-warning .hide-without-warning {
  display: inline;
}

.form-control:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.form-select:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.form-check-input:focus {
  border-color: var(--bs-primary);
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.form-check.is-invalid {
  color: var(--bs-form-invalid-color);
}

.form-check.is-invalid .form-check-input {
  border-color: var(--bs-form-invalid-border-color);
}

.form-control.has-warning {
  border-color: var(--has-warning-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: var(--has-warning-background-image);
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.form-select.has-warning {
  --bs-form-select-bg-icon: var(--has-warning-background-image);
  padding-right: 4.125rem;
  border-color: var(--has-warning-border-color);
  background-position: right .75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(.75em + .375rem) calc(.75em + .375rem);
}

.form-check.has-warning {
  color: var(--text-custom-warning-color);
}

.form-check.has-warning .form-check-input {
  border-color: var(--has-warning-border-color);
}

.bg-tertiary {
  background-color: var(--bs-bg-body-tertiary);
}

.bg-section-label {
  background-color: RGBA(var(--text-bg-section-label-bg-rgb), 1) !important;
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-bg: var(--bs-bg-quaternary);
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-disabled-color: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-border-color);
}

.btn-pills {
  --bs-btn-bg: var(--bs-bg-quaternary);
  --bs-btn-border-color: var(--bs-border-quaternary);
  --bs-btn-hover-bg: var(--bs-border-quaternary);
  --bs-btn-hover-border-color: var(--bs-bg-quaternary);
  --bs-btn-active-bg: var(--bs-active-quaternary);
  --bs-btn-active-border-color: var(--bs-border-quaternary);
}

.active-success.active {
  background-color: #729172;
}

.active-warning.active {
  background-color: #a58556;
}

.active-danger.active {
  background-color: #a55656;
}

.active-info.active {
  background-color: #3a7c8e;
}

.active-primary.active {
  background-color: #5676a5;
}

/*-------------------- PHS card and list group --------------------*/
body {
  --isp-phs-element-list-group-max-height: 15rem;
}

.card-header-primary {
  background-color: var(--bs-bg-header-tertiary);
  color: var(--bs-primary);
  border-bottom-color: var(--bs-primary);
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

.card-body-primary {
  padding: .5rem;
}

.card-header-secondary {
  padding: .25rem .5rem;
}

.card-body-secondary {
  background-color: var(--bs-bg-body-tertiary);
  opacity: 1;
  padding: .5rem;
}

.card-header-tertiary {
  padding: .25rem .5rem;
}

.phs-list-group > .list-group-item {
  padding: 0;
  border: none;
}

.phs-list-group > .list-group-item:not(:first-child) {
  border-top: 1px solid var(--bs-primary);
}

.phs-list-group > .list-group-item > .card {
  border-width: 0;
}

.phs-element-list-group {
  --bs-list-group-bg: --bs-tertiary-bg;
  background-color: var(--bs-tertiary-bg);
  height: 100%;
  overflow-x: auto;
  max-height: var(--isp-phs-element-list-group-max-height);
}

.phs-element-list-group > .list-group-item {
  padding: .5rem;
  background-color: var(--bs-list-group-bg);
}

@media (min-width: 992px) {
  .card-header-primary {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .card-header-secondary {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .card-header-tertiary {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .card-body-secondary {
    padding: 1rem;
  }

  .phs-element-list-group > .list-group-item {
    padding: .5rem 1rem;
  }
}

/*-------------------- Overlay rules --------------------*/
.overlay {
  --bs-bg-opacity: .9;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: .5rem;
  padding: .5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity));
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  opacity: 0;
  transition: opacity .35s ease;
}

.overlay > .icon {
  display: flex;
  align-items: center;
  margin: 0 .5rem;
  font-size: 2rem;
}

.overlay > .icon > .fa-bounce {
  font-size: 1.5rem;
  margin-top: .25rem;
}

.overlay > .icon > .fa-beat, .overlay > .icon > .fa-beat-fade {
  font-size: 1.75rem;
}

.overlay > .message, .overlay > .progress {
  margin: 0 .5rem;
  flex: 1 1 auto;
}

/*-------------------- Multiselect Button rules --------------------*/
body {
  --select-menu-items-max-height: 15rem;
  --open-multi-select-max-height: 15rem;
}

[data-bs-theme=dark] .btn-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.multi-select {
  border-radius: var(--bs-border-radius);
  border: var(--bs-border-width) solid var(--bs-border-color);
  overflow: hidden;
  background-color: var(--bs-body-bg);
}

.dropdown-menu.multi-select {
  width: 100%;
  padding: 0;
}

.multi-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}

.multi-select-filter {
  padding: .5rem 1rem;
  border-bottom: var(--bs-border-width) solid var(--bs-border-color);
}

.multi-select-buttons {
  padding: .5rem 1rem;
  border-bottom: var(--bs-border-width) solid var(--bs-border-color);
}

.multi-select-options {
  display: flex;
  flex-direction: column;
  overflow-y: auto !important;
  max-height: var(--open-multi-select-max-height);
}

.multi-select-option {
  padding: .25rem 1rem;
  color: var(--bs-body-color);
  text-decoration: none;
  background-color: var(--bs-body-bg);
  min-height: calc(1.5rem + .25rem + .25rem);
  overflow-x: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.multi-select-option > .form-check-input {
  margin-right: .5rem;
}

.multi-select-option:hover {
  z-index: 1;
  color: var(--bs-emphasis-color);
  text-decoration: none;
  background-color: var(--bs-tertiary-bg);
}

.btn-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: var(--bs-body-bg);
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: var(--bs-body-color);
  --bs-btn-hover-bg: var(--bs-body-bg);
  --bs-btn-hover-border-color: var(--bs-border-color);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-color: var(--bs-body-color);
  --bs-btn-active-bg: var(--bs-body-bg);
  --bs-btn-active-border-color: var(--bs-border-color);
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: var(--bs-body-color);
  --bs-btn-disabled-bg: var(--bs-secondary-bg);
  --bs-btn-disabled-border-color: var(--bs-border-color);
  --bs-gradient: none;
  width: 100%;
  min-height: 2.375rem;
  text-align: left;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  overflow-x: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
}

.btn-select:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: var(--bs-primary);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), 0.25);
}

.btn-select:disabled {
  color: var(--bs-btn-disabled-color);
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: 1;
}

.dropdown.is-invalid > .btn-select {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  border-color: var(--bs-form-invalid-border-color);
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.dropdown.is-invalid > .btn-select:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.dropdown.is-invalid .multi-select-option, .multi-select.is-invalid .multi-select-option {
  color: var(--bs-form-invalid-color);
}

.dropdown.is-invalid .form-check-input, .multi-select.is-invalid .form-check-input {
  border-color: var(--bs-form-invalid-border-color);
}

.dropdown.is-invalid .form-check-input:checked, .multi-select.is-invalid .form-check-input:checked {
  background-color: var(--bs-form-invalid-color);
}

.dropdown.is-invalid .form-check-input:focus, .multi-select.is-invalid .form-check-input:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

/*-------------------- Other css rules --------------------*/
.logo {
  width: 75px;
  height: 95px;
}

.hand-writing {
  font-family: "Lucida Handwriting";
  border-bottom: 1px solid var(--bs-body-color);
  padding-left: .25em;
}

.sm-primary-link {
  font-size: .875rem;
  color: rgba(var(--bs-primary-rgb), 1);
  text-decoration: none;
}

.sm-primary-link:hover {
  color: rgba(var(--bs-primary-rgb), .75);
}

/* size lg and bigger */
@media (min-width: 992px) {
  [name="locationOfCrash"].h-lg-custom {
    height: 116px;
  }
}

@media print {
  .page, .page-break {
    break-after: page;
  }

  .no-print, .no-print * {
    display: none !important;
  }
}