// Slate 4.6.2
// Bootswatch

//
// Color system
//

$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #e9ecef !default;
$gray-300: #dee2e6 !default;
$gray-400: #ced4da !default;
$gray-500: #999 !default;
$gray-600: #7a8288 !default;
$gray-700: #52575c !default;
$gray-800: #3a3f44 !default;
$gray-900: #272b30 !default;
$black: #000 !default;

$blue: #007bff !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
$pink: #e83e8c !default;
$red: #ee5f5b !default;
$orange: #fd7e14 !default;
$yellow: #f89406 !default;
$green: #62c462 !default;
$teal: #20c997 !default;
$cyan: #5bc0de !default;

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

$yiq-contrasted-threshold: 170 !default;

// Body

$body-bg: $gray-900 !default;
$body-color: #aaa !default;

// Links

$link-color: $white !default;

// Fonts

$font-size-base: .9375rem !default;
$font-size-sm: $font-size-base * .88 !default;

// Tables

$table-color: $white !default;
$table-accent-bg: rgba($white, .05) !default;
$table-hover-bg: rgba($white, .075) !default;
$table-border-color: rgba($black, .6) !default;
$table-dark-border-color: $table-border-color !default;
$table-dark-color: $white !default;

// Buttons

$input-btn-padding-y: .75rem !default;
$input-btn-padding-x: 1rem !default;

// Forms

$input-disabled-bg: #ccc !default;

// Dropdowns

$dropdown-bg: $gray-800 !default;
$dropdown-border-color: rgba($black, .6) !default;
$dropdown-divider-bg: rgba($black, .15) !default;
$dropdown-link-color: $body-color !default;
$dropdown-link-hover-color: $white !default;
$dropdown-link-hover-bg: $body-bg !default;
$dropdown-link-active-color: $dropdown-link-hover-color !default;
$dropdown-link-active-bg: $dropdown-link-hover-bg !default;

// Navs

$nav-tabs-border-color: rgba($black, .6) !default;
$nav-tabs-link-hover-border-color: $nav-tabs-border-color !default;
$nav-tabs-link-active-color: $white !default;
$nav-tabs-link-active-border-color: $nav-tabs-border-color !default;

// Navbar

$navbar-padding-y: 0 !default;
$navbar-dark-hover-color: $white !default;
$navbar-light-hover-color: $gray-800 !default;
$navbar-light-active-color: $gray-800 !default;

// Pagination

$pagination-color: $white !default;
$pagination-bg: transparent !default;
$pagination-border-color: rgba($black, .6) !default;
$pagination-hover-color: $white !default;
$pagination-hover-bg: transparent !default;
$pagination-hover-border-color: rgba($black, .6) !default;
$pagination-active-bg: transparent !default;
$pagination-active-border-color: rgba($black, .6) !default;
$pagination-disabled-bg: transparent !default;
$pagination-disabled-border-color: rgba($black, .6) !default;

// Jumbotron

$jumbotron-bg: darken($gray-900, 5%) !default;

// Cards

$card-border-color: rgba($black, .6) !default;
$card-cap-bg: lighten($gray-800, 10%) !default;
$card-bg: lighten($body-bg, 5%) !default;

// Popovers

$popover-bg: lighten($body-bg, 5%) !default;

// Toasts

$toast-background-color: lighten($body-bg, 5%) !default;
$toast-border-color: rgba(0, 0, 0, .2) !default;
$toast-header-color: $body-color !default;
$toast-header-background-color: $toast-background-color !default;
$toast-header-border-color: $toast-border-color !default;

// Modals

$modal-content-bg: lighten($body-bg, 5%) !default;
$modal-header-border-color: rgba(0, 0, 0, .2) !default;

// Progress bars

$progress-bg: darken($gray-900, 5%) !default;
$progress-bar-color: $gray-600 !default;

// List group

$list-group-bg: lighten($body-bg, 5%) !default;
$list-group-border-color: rgba($black, .6) !default;
$list-group-hover-bg: lighten($body-bg, 10%) !default;
$list-group-active-color: $white !default;
$list-group-active-bg: $list-group-hover-bg !default;
$list-group-active-border-color: $list-group-border-color !default;
$list-group-disabled-color: $gray-700 !default;
$list-group-action-color: $white !default;

// Breadcrumbs

$breadcrumb-active-color: $gray-500 !default;

// Code

$pre-color: inherit !default;

// Import bootstrap
@import "bootstrap/bootstrap";

// Slate 4.6.2
// Bootswatch

// Mixins ======================================================================

@mixin btn-shadow($color) {
  @include gradient-y-three-colors(lighten($color, 6%), $color, 60%, darken($color, 4%));
  filter: none;
}

@mixin btn-shadow-inverse($color) {
  @include gradient-y-three-colors(darken($color, 18%), darken($color, 15%), 40%, darken($color, 13%));
  filter: none;
}

// Navbar ======================================================================

.navbar {
  border: 1px solid rgba(0, 0, 0, .6);
  text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);

  .container {
    padding: 0;
  }

  .navbar-toggler {
    border-color: rgba(0, 0, 0, .6);
  }

  &-fixed-top {
    border-width: 0 0 1px;
  }

  &-fixed-bottom {
    border-width: 1px 0 0;
  }

  .nav-link {
    padding: 1rem;
    border-left: 1px solid rgba(255, 255, 255, .1);
    border-right: 1px solid rgba(0, 0, 0, .2);

    &:hover,
    &:focus {
      @include btn-shadow-inverse($gray-800);
      border-left: 1px solid rgba(0, 0, 0, .2);
    }
  }

  &-brand {
    padding: .75rem 1rem subtract(24px, .75rem) !important;
    margin-right: 0;
    border-right: 1px solid rgba(0, 0, 0, .2);
  }

  .nav-item.active .nav-link {
    background-color: rgba(0, 0, 0, .3);
    border-left: 1px solid rgba(0, 0, 0, .2);
  }

  &-nav .nav-item + .nav-item {
    margin-left: 0;
  }

  &.bg-light {
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .1);

    .nav-link {
      &:hover,
      &:focus {
        @include btn-shadow-inverse($gray-600);
        border-left: 1px solid rgba(0, 0, 0, .2);
      }
    }
  }
}

@media (max-width: 576px) {
  .navbar-expand-sm {
    .navbar-brand,
    .nav-link {
      border: none !important;
    }
  }
}

@media (max-width: 768px) {
  .navbar-expand-md {
    .navbar-brand,
    .nav-link {
      border: none !important;
    }
  }
}

@media (max-width: 992px) {
  .navbar-expand-lg {
    .navbar-brand,
    .nav-link {
      border: none !important;
    }
  }
}

// Buttons =====================================================================

.btn {
  border-color: rgba(0, 0, 0, .6);
  text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);

  &:not([disabled]):not(.disabled).active,
  &.disabled {
    border-color: rgba(0, 0, 0, .6);
    box-shadow: none;
  }

  &:hover,
  &:focus,
  &:not([disabled]):not(.disabled):active,
  &:not([disabled]):not(.disabled):active:hover,
  &:not([disabled]):not(.disabled).active:hover {
    border-color: rgba(0, 0, 0, .6);
  }
}

.btn-primary {
  @include btn-shadow($primary);

  &:not([disabled]):not(.disabled):hover,
  &:not([disabled]):not(.disabled):focus,
  &:not([disabled]):not(.disabled):active:hover,
  &:not([disabled]):not(.disabled).active:hover {
    @include btn-shadow-inverse($primary);
  }
}

.btn-secondary {
  @include btn-shadow($secondary);

  &:not([disabled]):not(.disabled):hover,
  &:not([disabled]):not(.disabled):focus,
  &:not([disabled]):not(.disabled):active,
  &:not([disabled]):not(.disabled).active {
    @include btn-shadow-inverse($secondary);
  }
}

.btn-success {
  @include btn-shadow($success);
  color: $white;

  &:not([disabled]):not(.disabled):hover,
  &:not([disabled]):not(.disabled):focus,
  &:not([disabled]):not(.disabled):active,
  &:not([disabled]):not(.disabled).active {
    @include btn-shadow-inverse($success);
  }
}

.btn-info {
  @include btn-shadow($info);
  color: $white;

  &:not([disabled]):not(.disabled):hover,
  &:not([disabled]):not(.disabled):focus,
  &:not([disabled]):not(.disabled):active,
  &:not([disabled]):not(.disabled).active {
    @include btn-shadow-inverse($info);
  }
}

.btn-warning {
  @include btn-shadow($warning);
  color: $white;

  &:not([disabled]):not(.disabled):hover,
  &:not([disabled]):not(.disabled):focus,
  &:not([disabled]):not(.disabled):active,
  &:not([disabled]):not(.disabled).active {
    @include btn-shadow-inverse($warning);
  }
}

.btn-danger {
  @include btn-shadow($danger);

  &:not([disabled]):not(.disabled):hover,
  &:not([disabled]):not(.disabled):focus,
  &:not([disabled]):not(.disabled):active,
  &:not([disabled]):not(.disabled).active {
    @include btn-shadow-inverse($danger);
  }
}

.btn-outline {
  &-primary {
    color: $white;
  }
}

.btn-link,
.btn-link:hover {
  border-color: transparent;
}

.btn-group,
.btn-group-vertical {
  .btn.active {
    border-color: rgba(0, 0, 0, .6);
  }
}

// Typography ==================================================================

h1,
h2,
h3,
h4,
h5,
h6 {
  text-shadow: -1px -1px 0 rgba(0, 0, 0, .3);
}

// Tables ======================================================================

.table {
  &-primary,
  &-secondary,
  &-success,
  &-info,
  &-warning,
  &-danger {
    color: $white;
  }

  &-primary {
    &,
    > th,
    > td {
      background-color: $primary !important;
    }
  }

  &-secondary {
    &,
    > th,
    > td {
      background-color: $secondary !important;
    }
  }

  &-light {
    &,
    > th,
    > td {
      background-color: $light !important;
      color: $black;
    }
  }

  &-dark {
    &,
    > th,
    > td {
      background-color: $dark !important;
    }
  }

  &-success {
    &,
    > th,
    > td {
      background-color: $success !important;
    }
  }

  &-info {
    &,
    > th,
    > td {
      background-color: $info !important;
    }
  }

  &-danger {
    &,
    > th,
    > td {
      background-color: $danger !important;
    }
  }

  &-warning {
    &,
    > th,
    > td {
      background-color: $warning !important;
    }
  }

  &-active {
    &,
    > th,
    > td {
      background-color: $table-active-bg !important;
    }
  }

  &-hover {
    .table-primary:hover {
      &,
      > th,
      > td {
        background-color: darken($primary, 5%) !important;
      }
    }

    .table-secondary:hover {
      &,
      > th,
      > td {
        background-color: darken($secondary, 5%) !important;
      }
    }

    .table-light:hover {
      &,
      > th,
      > td {
        background-color: darken($light, 5%) !important;
      }
    }

    .table-dark:hover {
      &,
      > th,
      > td {
        background-color: darken($dark, 5%) !important;
      }
    }

    .table-success:hover {
      &,
      > th,
      > td {
        background-color: darken($success, 5%) !important;
      }
    }

    .table-info:hover {
      &,
      > th,
      > td {
        background-color: darken($info, 5%) !important;
      }
    }

    .table-danger:hover {
      &,
      > th,
      > td {
        background-color: darken($danger, 5%) !important;
      }
    }

    .table-warning:hover {
      &,
      > th,
      > td {
        background-color: darken($warning, 5%) !important;
      }
    }

    .table-active:hover {
      &,
      > th,
      > td {
        background-color: $table-active-bg !important;
      }
    }
  }
}

// Forms =======================================================================

legend {
  color: $white;
}

.input-group-addon {
  @include btn-shadow($secondary);
  text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
  color: $white;
}

// Navs ========================================================================

.nav-tabs {
  .nav-link {
    @include btn-shadow-inverse($gray-800);
    border: 1px solid rgba(0, 0, 0, .6);

    &:not([disabled]):not(.disabled):hover,
    &:not([disabled]):not(.disabled):focus,
    &:not([disabled]):not(.disabled):active,
    &:not([disabled]):not(.disabled).active {
      @include btn-shadow($gray-800);
    }

    &.disabled {
      border: 1px solid rgba(0, 0, 0, .6);
    }
  }

  .nav-link,
  .nav-link:hover {
    color: $white;
  }
}

.nav-pills {
  .nav-link {
    @include btn-shadow($gray-800);
    border: 1px solid rgba(0, 0, 0, .6);
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
    color: $white;

    &:hover {
      @include btn-shadow-inverse($gray-800);
      border: 1px solid rgba(0, 0, 0, .6);
    }
  }

  .nav-link.active,
  .nav-link:hover {
    background-color: transparent;
    @include btn-shadow-inverse($gray-800);
    border: 1px solid rgba(0, 0, 0, .6);
  }

  .nav-link.disabled,
  .nav-link.disabled:hover {
    @include btn-shadow($gray-800);
    color: $nav-link-disabled-color;
  }
}

.pagination {
  .page-link {
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
    @include btn-shadow($gray-800);

    &:hover {
      @include btn-shadow-inverse($gray-800);
      text-decoration: none;
    }
  }

  .page-item.active .page-link {
    @include btn-shadow-inverse($gray-800);
  }

  .page-item.disabled .page-link {
    @include btn-shadow($gray-800);
  }
}

.breadcrumb {
  border: 1px solid rgba(0, 0, 0, .6);
  text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
  background-color: transparent;
  @include btn-shadow($gray-800);

  a,
  a:hover {
    color: $white;
  }
}

// Indicators ==================================================================

.alert {
  border: none !important;
  color: $white !important;

  a,
  .alert-link {
    color: $white !important;
    text-decoration: underline;
  }

  @each $color, $value in $theme-colors {
    &-#{$color} {
      background-color: $value !important;
      color: $white !important;
    }
  }

  &-light {
    &,
    a:not(.btn),
    .alert-link {
      color: $body-bg !important;
    }
  }

  .close {
    color: $close-color !important;
    text-decoration: none;
  }
}

.badge {
  &-success,
  &-warning,
  &-info {
    color: $white;
  }
}

// Containers ==================================================================

.jumbotron {
  border: 1px solid rgba(0, 0, 0, .6);
}

.list-group {
  &-item-action:hover {
    background-color: darken($gray-900, 5%);
  }
}

.card.bg-primary {
  color: $white;
}

.card.bg-secondary {
  color: $white;
}

.card .card-header {
  background-color: inherit;
}

.card.border-primary,
.card.border-secondary {
  color: $body-color !important;
}

.page-link.chulapa-label {
  border: none;
}

$chulapa-toc-bg: lighten($body-bg, 5%);
