/*!
 * BootstrapVue Custom CSS (https://bootstrap-vue.js.org)
 */
.alert.fade-enter-active, .alert.alert.fade-leave-active {
  transition: opacity 0.15s linear;
}

.alert.fade-enter, .alert.fade-leave-to {
  opacity: 0;
}

.card-img-left {
  border-top-left-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.card-img-right {
  border-top-right-radius: calc(0.25rem - 1px);
  border-bottom-right-radius: calc(0.25rem - 1px);
}

.dropdown-toggle.dropdown-toggle-no-caret:after {
  display: none !important;
}

.b-dropdown-form {
  display: inline-block;
  padding: 0.25rem 1.5rem;
  width: 100%;
  clear: both;
  font-weight: 400;
}

.b-dropdown-form:first-child {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.b-dropdown-form:last-child {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.b-dropdown-text {
  display: inline-block;
  padding: 0.25rem 1.5rem;
  margin-bottom: 0;
  width: 100%;
  clear: both;
  font-weight: lighter;
}

.b-dropdown-text:first-child {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.b-dropdown-text:last-child {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

/* workaround for https://github.com/bootstrap-vue/bootstrap-vue/issues/1560 */
/* workaround for https://github.com/bootstrap-vue/bootstrap-vue/issues/2114 */
/* based on: bootstrap/scss/_input-group.scss */
.input-group > .input-group-prepend > .btn-group > .btn,
.input-group > .input-group-append:not(:last-child) > .btn-group > .btn,
.input-group > .input-group-append:last-child > .btn-group:not(:last-child):not(.dropdown-toggle) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .input-group-append > .btn-group > .btn,
.input-group > .input-group-prepend:not(:first-child) > .btn-group > .btn,
.input-group > .input-group-prepend:first-child > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

input[type="color"].form-control {
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.125rem 0.25rem;
}

input[type="color"].form-control.form-control-sm,
.input-group-sm input[type="color"].form-control {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.125rem 0.25rem;
}

input[type="color"].form-control.form-control-lg,
.input-group-lg input[type="color"].form-control {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.125rem 0.25rem;
}

input[type="color"].form-control:disabled {
  background-color: #adb5bd;
  opacity: 0.65;
}

/* Base .input-group > .custom-range styling (no PR yet on BS V4) */
.input-group > .custom-range {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  margin-bottom: 0;
}

.input-group > .custom-range + .form-control,
.input-group > .custom-range + .form-control-plaintext,
.input-group > .custom-range + .custom-select,
.input-group > .custom-range + .custom-range,
.input-group > .custom-range + .custom-file {
  margin-left: -1px;
}

.input-group > .form-control + .custom-range,
.input-group > .form-control-plaintext + .custom-range,
.input-group > .custom-select + .custom-range,
.input-group > .custom-range + .custom-range,
.input-group > .custom-file + .custom-range {
  margin-left: -1px;
}

.input-group > .custom-range:focus {
  z-index: 3;
}

.input-group > .custom-range:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > .custom-range:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group > .custom-range {
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0 0.75rem;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  height: calc(1.5em + 0.75rem + 2px);
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .input-group > .custom-range {
    transition: none;
  }
}

.input-group > .custom-range:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.input-group > .custom-range:disabled, .input-group > .custom-range[readonly] {
  background-color: #e9ecef;
}

.input-group-lg > .custom-range {
  height: calc(1.5em + 1rem + 2px);
  padding: 0 1rem;
  border-radius: 0.3rem;
}

.input-group-sm > .custom-range {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0 0.5rem;
  border-radius: 0.2rem;
}

/* b-form-input: custom-range validation styling - valid (no PR yet for BS V4.2) */
.was-validated .input-group .custom-range:valid, .input-group .custom-range.is-valid {
  border-color: #28a745;
}

.was-validated .input-group .custom-range:valid:focus, .input-group .custom-range.is-valid:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated .custom-range:valid:focus::-webkit-slider-thumb, .custom-range.is-valid:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #9be7ac;
}

.was-validated .custom-range:valid:focus::-moz-range-thumb, .custom-range.is-valid:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #9be7ac;
}

.was-validated .custom-range:valid:focus::-ms-thumb, .custom-range.is-valid:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #9be7ac;
}

.was-validated .custom-range:valid::-webkit-slider-thumb, .custom-range.is-valid::-webkit-slider-thumb {
  background-color: #28a745;
  background-image: none;
}

.was-validated .custom-range:valid::-webkit-slider-thumb:active, .custom-range.is-valid::-webkit-slider-thumb:active {
  background-color: #9be7ac;
  background-image: none;
}

.was-validated .custom-range:valid::-webkit-slider-runnable-track, .custom-range.is-valid::-webkit-slider-runnable-track {
  background-color: rgba(40, 167, 69, 0.35);
}

.was-validated .custom-range:valid::-moz-range-thumb, .custom-range.is-valid::-moz-range-thumb {
  background-color: #28a745;
  background-image: none;
}

.was-validated .custom-range:valid::-moz-range-thumb:active, .custom-range.is-valid::-moz-range-thumb:active {
  background-color: #9be7ac;
  background-image: none;
}

.was-validated .custom-range:valid::-moz-range-track, .custom-range.is-valid::-moz-range-track {
  background: rgba(40, 167, 69, 0.35);
}

.was-validated .custom-range:valid ~ .valid-feedback,
.was-validated .custom-range:valid ~ .valid-tooltip, .custom-range.is-valid ~ .valid-feedback,
.custom-range.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .custom-range:valid::-ms-thumb, .custom-range.is-valid::-ms-thumb {
  background-color: #28a745;
  background-image: none;
}

.was-validated .custom-range:valid::-ms-thumb:active, .custom-range.is-valid::-ms-thumb:active {
  background-color: #9be7ac;
  background-image: none;
}

.was-validated .custom-range:valid::-ms-track-lower, .custom-range.is-valid::-ms-track-lower {
  background: rgba(40, 167, 69, 0.35);
}

.was-validated .custom-range:valid::-ms-track-upper, .custom-range.is-valid::-ms-track-upper {
  background: rgba(40, 167, 69, 0.35);
}

.was-validated .input-group .custom-range:invalid, .input-group .custom-range.is-invalid {
  border-color: #dc3545;
}

.was-validated .input-group .custom-range:invalid:focus, .input-group .custom-range.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated .custom-range:invalid:focus::-webkit-slider-thumb, .custom-range.is-invalid:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #f6cdd1;
}

.was-validated .custom-range:invalid:focus::-moz-range-thumb, .custom-range.is-invalid:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #f6cdd1;
}

.was-validated .custom-range:invalid:focus::-ms-thumb, .custom-range.is-invalid:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem #f6cdd1;
}

.was-validated .custom-range:invalid::-webkit-slider-thumb, .custom-range.is-invalid::-webkit-slider-thumb {
  background-color: #dc3545;
  background-image: none;
}

.was-validated .custom-range:invalid::-webkit-slider-thumb:active, .custom-range.is-invalid::-webkit-slider-thumb:active {
  background-color: #f6cdd1;
  background-image: none;
}

.was-validated .custom-range:invalid::-webkit-slider-runnable-track, .custom-range.is-invalid::-webkit-slider-runnable-track {
  background-color: rgba(220, 53, 69, 0.35);
}

.was-validated .custom-range:invalid::-moz-range-thumb, .custom-range.is-invalid::-moz-range-thumb {
  background-color: #dc3545;
  background-image: none;
}

.was-validated .custom-range:invalid::-moz-range-thumb:active, .custom-range.is-invalid::-moz-range-thumb:active {
  background-color: #f6cdd1;
  background-image: none;
}

.was-validated .custom-range:invalid::-moz-range-track, .custom-range.is-invalid::-moz-range-track {
  background: rgba(220, 53, 69, 0.35);
}

.was-validated .custom-range:invalid ~ .invalid-feedback,
.was-validated .custom-range:invalid ~ .invalid-tooltip, .custom-range.is-invalid ~ .invalid-feedback,
.custom-range.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .custom-range:invalid::-ms-thumb, .custom-range.is-invalid::-ms-thumb {
  background-color: #dc3545;
  background-image: none;
}

.was-validated .custom-range:invalid::-ms-thumb:active, .custom-range.is-invalid::-ms-thumb:active {
  background-color: #f6cdd1;
  background-image: none;
}

.was-validated .custom-range:invalid::-ms-track-lower, .custom-range.is-invalid::-ms-track-lower {
  background: rgba(220, 53, 69, 0.35);
}

.was-validated .custom-range:invalid::-ms-track-upper, .custom-range.is-invalid::-ms-track-upper {
  background: rgba(220, 53, 69, 0.35);
}

/* b-table: general styling */
.b-table.table.table-fixed {
  /* fixed width columns */
  table-layout: fixed;
}

.b-table.table[aria-busy="true"] {
  opacity: 0.55;
}

.b-table.table > tbody > tr.b-table-details > td {
  border-top: none !important;
}

.b-table.table > caption {
  caption-side: bottom;
}

.b-table.table > caption.b-table-caption-top {
  caption-side: top !important;
}

.b-table.table > thead > tr > th,
.b-table.table > thead > tr > td,
.b-table.table > tfoot > tr > th,
.b-table.table > tfoot > tr > td {
  position: relative;
}

/* b-table: header sort styling */
.b-table.table > thead > tr > th[aria-sort],
.b-table.table > tfoot > tr > th[aria-sort] {
  position: relative;
  padding-right: 1.125em;
  cursor: pointer;
}

.b-table.table > thead > tr > th[aria-sort]::after,
.b-table.table > tfoot > tr > th[aria-sort]::after {
  position: absolute;
  display: block;
  bottom: 0;
  right: 0.35em;
  padding-bottom: inherit;
  font-size: inherit;
  line-height: inherit;
  opacity: 0.4;
  content: "\2195";
  speak: none;
}

.b-table.table > thead > tr > th[aria-sort][aria-sort="ascending"]::after,
.b-table.table > tfoot > tr > th[aria-sort][aria-sort="ascending"]::after {
  opacity: 1;
  content: "\2193";
}

.b-table.table > thead > tr > th[aria-sort][aria-sort="descending"]::after,
.b-table.table > tfoot > tr > th[aria-sort][aria-sort="descending"]::after {
  opacity: 1;
  content: "\2191";
}

/* b-table: stackled tables */
@media (max-width: 575.98px) {
  .b-table.table.b-table-stacked-sm {
    display: block;
    width: 100%;
  }
  .b-table.table.b-table-stacked-sm > caption,
  .b-table.table.b-table-stacked-sm > tbody,
  .b-table.table.b-table-stacked-sm > tbody > tr,
  .b-table.table.b-table-stacked-sm > tbody > tr > td,
  .b-table.table.b-table-stacked-sm > tbody > tr > td {
    display: block;
  }
  .b-table.table.b-table-stacked-sm > thead,
  .b-table.table.b-table-stacked-sm > tfoot {
    display: none;
  }
  .b-table.table.b-table-stacked-sm > thead > tr.b-table-top-row,
  .b-table.table.b-table-stacked-sm > thead > tr.b-table-bottom-row,
  .b-table.table.b-table-stacked-sm > tfoot > tr.b-table-top-row,
  .b-table.table.b-table-stacked-sm > tfoot > tr.b-table-bottom-row {
    display: none;
  }
  .b-table.table.b-table-stacked-sm > caption {
    caption-side: top !important;
  }
  .b-table.table.b-table-stacked-sm > tbody > tr > [data-label] {
    display: grid;
    grid-template-columns: 40% auto;
    grid-gap: 0.25rem 1rem;
  }
  .b-table.table.b-table-stacked-sm > tbody > tr > [data-label]::before {
    content: attr(data-label);
    display: inline;
    text-align: right;
    overflow-wrap: break-word;
    font-weight: bold;
    font-style: normal;
  }
  .b-table.table.b-table-stacked-sm > tbody > tr.top-row, .b-table.table.b-table-stacked-sm > tbody > tr.bottom-row {
    display: none;
  }
  .b-table.table.b-table-stacked-sm > tbody > tr > :first-child {
    border-top-width: 3px;
  }
}

@media (max-width: 767.98px) {
  .b-table.table.b-table-stacked-md {
    display: block;
    width: 100%;
  }
  .b-table.table.b-table-stacked-md > caption,
  .b-table.table.b-table-stacked-md > tbody,
  .b-table.table.b-table-stacked-md > tbody > tr,
  .b-table.table.b-table-stacked-md > tbody > tr > td,
  .b-table.table.b-table-stacked-md > tbody > tr > td {
    display: block;
  }
  .b-table.table.b-table-stacked-md > thead,
  .b-table.table.b-table-stacked-md > tfoot {
    display: none;
  }
  .b-table.table.b-table-stacked-md > thead > tr.b-table-top-row,
  .b-table.table.b-table-stacked-md > thead > tr.b-table-bottom-row,
  .b-table.table.b-table-stacked-md > tfoot > tr.b-table-top-row,
  .b-table.table.b-table-stacked-md > tfoot > tr.b-table-bottom-row {
    display: none;
  }
  .b-table.table.b-table-stacked-md > caption {
    caption-side: top !important;
  }
  .b-table.table.b-table-stacked-md > tbody > tr > [data-label] {
    display: grid;
    grid-template-columns: 40% auto;
    grid-gap: 0.25rem 1rem;
  }
  .b-table.table.b-table-stacked-md > tbody > tr > [data-label]::before {
    content: attr(data-label);
    display: inline;
    text-align: right;
    overflow-wrap: break-word;
    font-weight: bold;
    font-style: normal;
  }
  .b-table.table.b-table-stacked-md > tbody > tr.top-row, .b-table.table.b-table-stacked-md > tbody > tr.bottom-row {
    display: none;
  }
  .b-table.table.b-table-stacked-md > tbody > tr > :first-child {
    border-top-width: 3px;
  }
}

@media (max-width: 991.98px) {
  .b-table.table.b-table-stacked-lg {
    display: block;
    width: 100%;
  }
  .b-table.table.b-table-stacked-lg > caption,
  .b-table.table.b-table-stacked-lg > tbody,
  .b-table.table.b-table-stacked-lg > tbody > tr,
  .b-table.table.b-table-stacked-lg > tbody > tr > td,
  .b-table.table.b-table-stacked-lg > tbody > tr > td {
    display: block;
  }
  .b-table.table.b-table-stacked-lg > thead,
  .b-table.table.b-table-stacked-lg > tfoot {
    display: none;
  }
  .b-table.table.b-table-stacked-lg > thead > tr.b-table-top-row,
  .b-table.table.b-table-stacked-lg > thead > tr.b-table-bottom-row,
  .b-table.table.b-table-stacked-lg > tfoot > tr.b-table-top-row,
  .b-table.table.b-table-stacked-lg > tfoot > tr.b-table-bottom-row {
    display: none;
  }
  .b-table.table.b-table-stacked-lg > caption {
    caption-side: top !important;
  }
  .b-table.table.b-table-stacked-lg > tbody > tr > [data-label] {
    display: grid;
    grid-template-columns: 40% auto;
    grid-gap: 0.25rem 1rem;
  }
  .b-table.table.b-table-stacked-lg > tbody > tr > [data-label]::before {
    content: attr(data-label);
    display: inline;
    text-align: right;
    overflow-wrap: break-word;
    font-weight: bold;
    font-style: normal;
  }
  .b-table.table.b-table-stacked-lg > tbody > tr.top-row, .b-table.table.b-table-stacked-lg > tbody > tr.bottom-row {
    display: none;
  }
  .b-table.table.b-table-stacked-lg > tbody > tr > :first-child {
    border-top-width: 3px;
  }
}

@media (max-width: 1199.98px) {
  .b-table.table.b-table-stacked-xl {
    display: block;
    width: 100%;
  }
  .b-table.table.b-table-stacked-xl > caption,
  .b-table.table.b-table-stacked-xl > tbody,
  .b-table.table.b-table-stacked-xl > tbody > tr,
  .b-table.table.b-table-stacked-xl > tbody > tr > td,
  .b-table.table.b-table-stacked-xl > tbody > tr > td {
    display: block;
  }
  .b-table.table.b-table-stacked-xl > thead,
  .b-table.table.b-table-stacked-xl > tfoot {
    display: none;
  }
  .b-table.table.b-table-stacked-xl > thead > tr.b-table-top-row,
  .b-table.table.b-table-stacked-xl > thead > tr.b-table-bottom-row,
  .b-table.table.b-table-stacked-xl > tfoot > tr.b-table-top-row,
  .b-table.table.b-table-stacked-xl > tfoot > tr.b-table-bottom-row {
    display: none;
  }
  .b-table.table.b-table-stacked-xl > caption {
    caption-side: top !important;
  }
  .b-table.table.b-table-stacked-xl > tbody > tr > [data-label] {
    display: grid;
    grid-template-columns: 40% auto;
    grid-gap: 0.25rem 1rem;
  }
  .b-table.table.b-table-stacked-xl > tbody > tr > [data-label]::before {
    content: attr(data-label);
    display: inline;
    text-align: right;
    overflow-wrap: break-word;
    font-weight: bold;
    font-style: normal;
  }
  .b-table.table.b-table-stacked-xl > tbody > tr.top-row, .b-table.table.b-table-stacked-xl > tbody > tr.bottom-row {
    display: none;
  }
  .b-table.table.b-table-stacked-xl > tbody > tr > :first-child {
    border-top-width: 3px;
  }
}

.b-table.table.b-table-stacked {
  display: block;
  width: 100%;
}

.b-table.table.b-table-stacked > caption,
.b-table.table.b-table-stacked > tbody,
.b-table.table.b-table-stacked > tbody > tr,
.b-table.table.b-table-stacked > tbody > tr > td,
.b-table.table.b-table-stacked > tbody > tr > td {
  display: block;
}

.b-table.table.b-table-stacked > thead,
.b-table.table.b-table-stacked > tfoot {
  display: none;
}

.b-table.table.b-table-stacked > thead > tr.b-table-top-row,
.b-table.table.b-table-stacked > thead > tr.b-table-bottom-row,
.b-table.table.b-table-stacked > tfoot > tr.b-table-top-row,
.b-table.table.b-table-stacked > tfoot > tr.b-table-bottom-row {
  display: none;
}

.b-table.table.b-table-stacked > caption {
  caption-side: top !important;
}

.b-table.table.b-table-stacked > tbody > tr > [data-label] {
  display: grid;
  grid-template-columns: 40% auto;
  grid-gap: 0.25rem 1rem;
}

.b-table.table.b-table-stacked > tbody > tr > [data-label]::before {
  content: attr(data-label);
  display: inline;
  text-align: right;
  overflow-wrap: break-word;
  font-weight: bold;
  font-style: normal;
}

.b-table.table.b-table-stacked > tbody > tr.top-row, .b-table.table.b-table-stacked > tbody > tr.bottom-row {
  display: none;
}

.b-table.table.b-table-stacked > tbody > tr > :first-child {
  border-top-width: 3px;
}

/* b-table: selectable rows */
table.b-table.b-table-selectable > tbody > tr {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
