// Overwrite Bootstrap input transition since we apply transitions to more than
// the input element itself
$input-transition: border-color 0.15s ease-in-out,
  background-color 0.15s ease-in-out, color 0.15s ease-in-out,
  opacity 0.15s ease-in-out, box-shadow 0.15s ease-in-out !default;

// Disable validation icons
$enable-validation-icons: false !default;

@import '~bootstrap/scss/functions';
@import '~bootstrap/scss/variables';
@import '~bootstrap/scss/mixins';

// Top bar variables
$top-bar-bg-color: theme-color('light') !default;
$top-bar-color: $body-color !default;
$top-bar-box-shadow: 0 0.25rem 1rem rgba($black, 0.1),
  inset 0 -1px 0 rgba($black, 0.1) !default;

// Tree nav variables
$tree-nav-bg-color: #fff !default;
$tree-nav-active-form: theme-color('secondary') !default;
$tree-nav-border-color: $gray-300 !default;
$tree-nav-entry-color: $gray-700 !default;
$tree-nav-entry-active-bg-color: transparentize-on-white(
  theme-color('light')
) !default;
$tree-nav-entry-active-color: theme-color('primary') !default;
$tree-nav-entry-active-box-shadow: inset 3px 0 0 theme-color('primary') !default;
$tree-nav-entry-invalid-color: theme-color('danger') !default;
$tree-nav-entry-warning-color: theme-color('warning') !default;

// When in "static" mode (showing from the left)
$tree-nav-fixed-width: 75vw !default;
$tree-nav-fixed-border-color: $gray-700 !default;

// Required icon variables
$required-color: color('orange');
$required-text-shadow: 2px 2px 5px rgba($black, 0.25);
$required-size: 0.65rem;
$required-position-left: -3px;
$required-position-top: -7px;

// Validation panel variables
$validation-panel-height: 250px;

// Colours for warning elements
$form-feedback-warning-color: theme-color('warning') !default;
$form-feedback-warning-muted: rgba($form-feedback-warning-color, 0.7) !default;
$form-feedback-warning-addon-bg: lighten(
  $form-feedback-warning-color,
  12%
) !default;
$form-feedback-warning-disabled-bg: lighten(
  $form-feedback-warning-color,
  40%
) !default;
$form-feedback-warning-focus-shadow: 0 0 0 0.2rem
  rgba(theme-color('warning'), 0.25);

// Colours for invalid elements
$form-feedback-invalid-muted: rgba($form-feedback-invalid-color, 0.7) !default;
$form-feedback-invalid-addon-bg: lighten(
  $form-feedback-invalid-color,
  12%
) !default;
$form-feedback-invalid-disabled-bg: lighten(
  $form-feedback-invalid-color,
  40%
) !default;

// Generic loading icon variables
$loading-color: theme-color('primary') !default;
$loading-border-radius: 100% !default;
$loading-animation-duration: 1s !default;
$loading-animation-name: spin !default;
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

// Loading app icon variables
$loading-app-border-size: 0.5rem !default;
$loading-app-size: 6rem !default;
$loading-app-margin: 6rem !default;

// Pending field variables
$pending-size: 1rem !default;
$pending-border-size: 2px !default;
$pending-position-top: -7px !default;
$pending-position-right: -7px !default;

// Pending validation panel variables
$pending-panel-size: 3rem !default;
$pending-panel-border-size: 4px !default;
