// Color
$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #e9ecef !default;
$gray-300: #dee2e6 !default;
$gray-400: #ced4da !default;
$gray-500: #adb5bd !default;
$gray-600: #868e96 !default;
$gray-700: #495057 !default;
$gray-800: #343a40 !default;
$gray-900: #212529 !default;
$black: #000 !default;

$grays: () !default;
$grays: map-merge((
  100: $gray-100,
  200: $gray-200,
  300: $gray-300,
  400: $gray-400,
  500: $gray-500,
  600: $gray-600,
  700: $gray-700,
  800: $gray-800,
  900: $gray-900
), $grays);

$blue: #007bff !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
$pink: #e83e8c !default;
$red: #dc3545 !default;
$orange: #fd7e14 !default;
$yellow: #ffc107 !default;
$green: #28a745 !default;
$teal: #20c997 !default;
$cyan: #17a2b8 !default;

$colors: () !default;
$colors: map-merge((
  blue: $blue,
  indigo: $indigo,
  purple: $purple,
  pink: $pink,
  red: $red,
  orange: $orange,
  yellow: $yellow,
  green: $green,
  teal: $teal,
  cyan: $cyan,
  white: $white,
  gray: $gray-600,
  gray-dark: $gray-800,
  black: $black
), $colors);

$default: $gray-600 !default;
$primary: $blue !default;
$secondary: $purple !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-100 !default;
$dark: $gray-800 !default;

$theme-colors: () !default;
$theme-colors: map-merge((
  default: $default,
  primary: $primary,
  secondary: $secondary,
  success: $success,
  info: $info,
  warning: $warning,
  danger: $danger,
  error: $danger,
  light: $light,
  dark: $dark
), $theme-colors);

// Border
$border-color: $gray-200 !default;
$border-width: 1px !default;
$border-radius: 3px !default;
$border-radius-lg: 4px !default;
$border-radius-sm: 2px !default;

// Spacing
$spacers: () !default;
$spacers: join((0, 15px, 30px), $spacers);

// Font
$font-family-monospace: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;

// Base
$font-family-base: $font-family-sans-serif !default;
$font-size-base: 1.4rem !default;
$font-weight-base: normal !default;
$line-height-base: 1.5 !default;
$letter-spacing-base: normal !default;
$box-shadow-base: 0 2px 3px rgba(0, 0, 0, 0.08) !default;
$text-muted: $gray-600 !default;

// Body
$body-color: $gray-800 !default;
$body-bg: $white !default;

// Link
$link-color: $primary !default;
$link-decoration: none !default;
$link-hover-color: darken($link-color, 5%) !default;
$link-hover-decoration: none !default;

// Paragraph
$paragraph-margin-bottom: 1rem !default;

// Heading
$heading-font-family: $font-family-base !default;
$heading-font-weight: bold !default;
$heading-line-height: 1.1 !default;
$heading-letter-spacing: normal !default;
$heading-color: darken($body-color, 5%) !default;
$heading-margin-bottom: 0.5em !default;
$heading-h1-font-size: 4rem !default;
$heading-h2-font-size: 3.2rem !default;
$heading-h3-font-size: 2.8rem !default;
$heading-h4-font-size: 2.4rem !default;
$heading-h5-font-size: 2rem !default;
$heading-h6-font-size: 1.6rem !default;

// Table
$table-margin-bottom: 1.5rem !default;
$table-cell-padding: 1.2rem !default;
$table-cell-padding-sm: 0.48rem !default;
$table-bg: transparent !default;
$table-accent-bg: rgba($black, 0.05) !default;
$table-hover-bg: rgba($black, 0.075) !default;
$table-active-bg: $table-hover-bg !default;
$table-border-width: $border-width !default;
$table-border-color: $border-color !default;
$table-dark-bg: $gray-900 !default;
$table-dark-accent-bg: rgba($white, 0.05) !default;
$table-dark-hover-bg: rgba($white, 0.075) !default;
$table-dark-border-color: lighten($gray-900, 7.5%) !default;
$table-dark-color: $body-bg !default;
$table-head-font-family: $font-family-base !default;
$table-head-font-weight: bolder !default;
$table-head-font-size: inherit !default;

// Code
$code-font-size: 90% !default;
$code-padding-y: 0.32rem !default;
$code-padding-x: 0.64rem !default;
$code-color: $danger !default;
$code-bg: $gray-100 !default;
$kbd-color: $white !default;
$kbd-bg: $gray-900 !default;
$kbd-box-shadow: inset 0 -0.16rem 0 rgba($black, 0.25) !default;
$nested-kbd-font-weight: bolder !default;
$pre-color: $gray-900 !default;

// Grid
$grid-breakpoints: (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px) !default;
$container-max-widths: (sm: 1170px, md: 1170px, lg: 1170px, xl: 1170px) !default;
$grid-gutter: 30px !default;
$grid-columns: 12 !default;

// Button
$button-font-family: $font-family-base !default;
$button-font-size: $font-size-base !default;
$button-font-weight: $font-weight-base !default;
$button-text-transform: none !default;
$button-letter-spacing: normal !default;
$button-height: 40px !default;
$button-line-height: 20px !default;
$button-padding-ratio: 1.6 !default;
$button-border-width: $border-width !default;
$button-border-radius: $border-radius !default;
$button-sizes: () !default;
$button-sizes: map-merge((
  lg: (
    height: 48px,
    line-height: 20px,
    font-size: $button-font-size,
    border-radius: $border-radius-lg
  ),
  sm: (
    height: 32px,
    line-height: 20px,
    font-size: $button-font-size,
    border-radius: $border-radius-sm
  )
), $button-sizes);
$button-colors: () !default;
$button-colors: map-merge($theme-colors, $button-colors);

// Form
$form-lg: 800px !default;
$form-md: 500px !default;
$form-sm: 300px !default;
$form-padding: 15px !default;
$form-border-width: $border-width !default;
$form-border-color: $border-color !default;
$form-border-radius: $border-radius !default;
$fieldset-margin-bottom: 1.5rem !default;
$fieldset-legend-font-family: $heading-font-family !default;
$fieldset-legend-font-size: 2rem !default;
$fieldset-legend-font-weight: $heading-font-weight !default;
$fieldset-legend-line-height: $heading-line-height !default;
$fieldset-legend-text-transform: none !default;
$fieldset-legend-color: $heading-color !default;
$fieldset-legend-margin-bottom: 1rem !default;
$form-group-margin-bottom: 1.5rem !default;
$form-label-font-family: $font-family-base !default;
$form-label-font-weight: bolder !default;
$form-label-font-size: $font-size-base !default;
$form-label-text-transform: none !default;
$form-label-color: $body-color !default;
$form-label-margin-bottom: 0.5rem !default;
$form-control-font-family: $font-family-base !default;
$form-control-font-weight: $font-weight-base !default;
$form-control-font-size: $font-size-base !default;
$form-control-letter-spacing: normal !default;
$form-control-bg: $white !default;
$form-control-active-bg: $form-control-bg !default;
$form-control-color: $body-color !default;
$form-control-height: 40px !default;
$form-control-line-height: 20px !default;
$form-control-padding-ratio: 1.6 !default;
$form-control-border-width: $border-width !default;
$form-control-border-color: $border-color !default;
$form-control-border-radius: $border-radius !default;
$form-control-disabled-bg: $gray-100 !default;
$form-control-disabled-opacity: 0.9 !default;
$form-control-sizes: () !default;
$form-control-sizes: map-merge((
  lg: (
    height: 48px,
    line-height: 20px,
    font-size: 1.6rem,
    border-radius: $border-radius-lg
  ),
  sm: (
    height: 32px,
    line-height: 20px,
    font-size: 1.2rem,
    border-radius: $border-radius-sm
  )
), $form-control-sizes);
$form-control-colors: () !default;
$form-control-colors: map-merge($theme-colors, $form-control-colors);
$form-description-margin: 0.3rem 0 0 0 !default;
$form-description-font-size: 0.8em !default;
$form-check-margin: 0 0 0.5rem !default;
$form-check-font-family: $font-family-base !default;
$form-check-font-weight: $font-weight-base !default;
$form-check-font-size: $font-size-base !default;
$form-check-letter-spacing: normal !default;
$placeholder-opacity: 0.8 !default;
$placeholder-font-style: normal !default;
$placeholder-text-transform: none !default;
$form-grid-gutter: 10px !default;

// Navbar
$navbar-bg: $primary !default;
$navbar-color: $white !default;
$navbar-height: 50px !default;
$navbar-border-width: 0 0 $border-width 0 !default;
$navbar-border-color: darken($navbar-bg, 5%) !default;
$navbar-border-style: solid !default;
$navbar-box-shadow: none !default;
$navbar-brand-height: $navbar-height !default;
$navbar-brand-font-size: 1.8rem !default;
$navbar-brand-image-height: $navbar-height - 10px !default;
$navbar-item-margin-x: 0 !default;
$navbar-link-font-family: $font-family-base !default;
$navbar-link-font-size: $font-size-base !default;
$navbar-link-font-weight: $font-weight-base !default;
$navbar-link-text-transform: capitalize !default;
$navbar-link-height: $navbar-height !default;
$navbar-link-line-height: 20px !default;
$navbar-link-padding-x: 15px !default;
$navbar-link-color: $white !default;
$navbar-link-bg: transparent !default;
$navbar-link-active-color: $white !default;
$navbar-link-active-bg: darken($navbar-bg, 5%) !default;

// Dropdown
$dropdown-bg: $white !default;
$dropdown-color: $body-color !default;
$dropdown-box-shadow: $box-shadow-base !default;
$dropdown-border-radius: $border-radius !default;
$dropdown-padding: 10px 0 !default;
$dropdown-border-top-width: 0 !default;
$dropdown-border-bottom-width: 0 !default;
$dropdown-border-left-width: 0 !default;
$dropdown-border-right-width: 0 !default;
$dropdown-z-index: 1000 !default;
$dropdown-border-color: $border-color !default;
$dropdown-link-font-family: $font-family-base !default;
$dropdown-link-font-size: $font-size-base !default;
$dropdown-link-font-weight: $font-weight-base !default;
$dropdown-link-line-height: 20px !default;
$dropdown-link-text-transform: normal !default;
$dropdown-link-height: 32px !default;
$dropdown-link-border-top-width: 0 !default;
$dropdown-link-border-bottom-width: 0 !default;
$dropdown-link-border-left-width: 0 !default;
$dropdown-link-border-right-width: 0 !default;
$dropdown-link-border-color: transparent !default;
$dropdown-link-active-border-color: $dropdown-link-border-color !default;
$dropdown-link-padding-top: ($dropdown-link-height - $dropdown-link-border-top-width - $dropdown-link-border-bottom-width - $dropdown-link-line-height) / 2 !default;
$dropdown-link-padding-bottom: ($dropdown-link-height - $dropdown-link-border-top-width - $dropdown-link-border-bottom-width - $dropdown-link-line-height) / 2 !default;
$dropdown-link-padding-left: 15px - $dropdown-link-border-left-width !default;
$dropdown-link-padding-right: 15px - $dropdown-link-border-right-width !default;
$dropdown-link-bg: transparent !default;
$dropdown-link-color: $body-color !default;
$dropdown-link-active-bg: $gray-200 !default;
$dropdown-link-active-color: $dropdown-link-color !default;
$dropdown-caret-width: 0.3em !default;

// Alert
$alert-padding-y: 1.2rem !default;
$alert-padding-x: 2rem !default;
$alert-margin-bottom: 1.5rem !default;
$alert-border-width: $border-width !default;
$alert-border-radius: $border-radius !default;
$alert-link-font-weight: bolder !default;

// Tooltip
$tooltip-max-width: 200px !default;
$tooltip-color: $white !default;
$tooltip-bg: $black !default;
$tooltip-opacity: 0.9 !default;
$tooltip-padding-y: 3px !default;
$tooltip-padding-x: 8px !default;
$tooltip-margin: 0 !default;
$tooltip-z-index: 1050 !default;
$tooltip-arrow-width: 5px !default;
$tooltip-arrow-height: 5px !default;
$tooltip-arrow-color: $tooltip-bg !default;

// Modal
$modal-z-index: 1040 !default;
$modal-transition: opacity 0.4s, visibility 0.4s, top 0.4s !default;
$modal-backdrop-bg: rgba($black, 0.5) !default;
$modal-dialog-margin: 10px !default;
$modal-dialog-margin-y-sm-up: 30px !default;
$modal-content-bg: $white !default;
$modal-content-border-color: $border-color !default;
$modal-content-border-width: $border-width !default;
$modal-content-border-radius: $border-radius !default;
$modal-content-box-shadow: $box-shadow-base !default;
$modal-header-padding-y: 15px !default;
$modal-header-padding-x: 15px !default;
$modal-header-border-color: $modal-content-border-color !default;
$modal-header-border-width: $modal-content-border-width !default;
$modal-title-font-family: $heading-font-family !default;
$modal-title-font-weight: $heading-font-weight !default;
$modal-title-font-size: 1.6rem !default;
$modal-body-padding-y: 15px !default;
$modal-body-padding-x: 15px !default;
$modal-footer-border-color: $modal-header-border-color !default;
$modal-footer-border-width: $modal-header-border-width !default;
$modal-footer-padding-y: 15px !default;
$modal-footer-padding-x: 15px !default;
$modal-lg: 800px !default;
$modal-md: 500px !default;
$modal-sm: 300px !default;

// Close
$close-font-size: $font-size-base * 1.5 !default;
$close-font-weight: bolder !default;

// Pagination
$pagination-margin-top: 30px !default;
$pagination-item-space: 0 !default;
$pagination-link-font-family: $font-family-base !default;
$pagination-link-font-size: $font-size-base !default;
$pagination-link-font-weight: $font-weight-base !default;
$pagination-link-padding-y: 0.9rem !default;
$pagination-link-padding-x: $pagination-link-padding-y * 1.6 !default;
$pagination-link-line-height: 20px !default;
$pagination-link-color: $link-color !default;
$pagination-link-bg: $white !default;
$pagination-link-border-width: $border-width !default;
$pagination-link-border-color: $border-color !default;
$pagination-link-border-radius: $border-radius !default;
$pagination-link-hover-color: $link-hover-color !default;
$pagination-link-hover-bg: $gray-100 !default;
$pagination-link-hover-border-color: $pagination-link-border-color !default;
$pagination-link-active-font-weight: bolder !default;
$pagination-link-active-color: $white !default;
$pagination-link-active-bg: $primary !default;
$pagination-link-active-border-color: $primary !default;
$pagination-link-disabled-color: $gray-600 !default;
$pagination-link-disabled-bg: $pagination-link-bg !default;
$pagination-link-disabled-border-color: $pagination-link-border-color !default;

// Card
$card-spacer-y: 1.2rem !default;
$card-spacer-x: 1.5rem !default;
$card-border-width: $border-width !default;
$card-border-radius: $border-radius !default;
$card-border-color: $border-color !default;
$card-box-shadow: none !default;
$card-bg: $white !default;
$card-heading-font-family: $heading-font-family !default;
$card-heading-font-weight: $heading-font-weight !default;
$card-heading-font-size: 1.6rem !default;

// Breadcrumb
$breadcrumb-padding-y: 1.2rem !default;
$breadcrumb-padding-x: 1.5rem !default;
$breadcrumb-line-height: 20px !default;
$breadcrumb-margin-bottom: 1.5rem !default;
$breadcrumb-bg: $gray-100 !default;
$breadcrumb-border-radius: $border-radius !default;
$breadcrumb-item-padding: 0.5rem !default;
$breadcrumb-item-color: $link-color !default;
$breadcrumb-item-hover-color: $link-hover-color !default;
$breadcrumb-item-active-color: $gray-600 !default;
$breadcrumb-divider: "/" !default;
$breadcrumb-divider-color: $gray-600 !default;

// Nav
$nav-link-padding-y: 0.9rem !default;
$nav-link-padding-x: 1.5rem !default;
$nav-link-line-height: 2rem !default;
$nav-link-border-width: $border-width !default;
$nav-link-disabled-color: $gray-600 !default;

$nav-tabs-border-width: $border-width !default;
$nav-tabs-border-color: $border-color !default;
$nav-tabs-border-radius: $border-radius !default;
$nav-tabs-link-hover-border-color: $gray-200 !default;
$nav-tabs-link-active-color: $gray-700 !default;
$nav-tabs-link-active-bg: $body-bg !default;
$nav-tabs-link-active-border-color: $border-color !default;
$tabs-panels-border-width: $nav-tabs-border-width !default;
$tabs-panels-border-color: $nav-tabs-border-color !default;
$tabs-panels-border-radius: $nav-tabs-border-radius !default;
$tabs-panels-padding: 1.5rem !default;

$nav-pills-border-radius: $border-radius !default;
$nav-pills-link-active-bg: $primary !default;
$nav-pills-link-active-color: color-yiq($nav-pills-link-active-bg) !default;

// Slide menu
$slide-menu-bg: $gray-100 !default;
$slide-menu-size: 80% !default;
$slide-menu-transition: all 0.4s !default;

// Mobile menu
$mobile-menu-bg: $gray-100 !default;
$mobile-menu-transition: all 0.4s !default;

// Progress
$progress-height: 1.6rem !default;
$progress-font-size: 1rem !default;
$progress-bg: $gray-200 !default;
$progress-border-radius: $border-radius !default;
$progress-bar-bg: $primary !default;
$progress-bar-color: $white !default;
$progress-bar-transition: width 0.4s !default;

// Contentbar
$contentbar-margin-bottom: 30px !default;
$contentbar-item-space-x: 30px !default;
$contentbar-item-space-y: 15px !default;
$contentbar-breakpoint: sm !default;

// Label
$label-padding-y: 0.4em !default;
$label-padding-x: 1em !default;
$label-border-width: $border-width !default;
$label-border-radius: $border-radius !default;
$label-font-size: 0.9em !default;
