@mixin dropdown---alter() {
}

@mixin dropdown() {
  position: relative;
  @include dropdown---alter;
}

@mixin dropdown--open---alter {
}

@mixin dropdown--open() {
  overflow: visible;
}

@mixin dropdown__toggle--caret---alter() {
}

@mixin dropdown__toggle--caret() {
  &::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-top: $dropdown-caret-width solid;
    border-right: $dropdown-caret-width solid transparent;
    border-bottom: 0;
    border-left: $dropdown-caret-width solid transparent;
    margin: 0 0 0 5px;
    vertical-align: middle;
  }
  @include dropdown__toggle--caret---alter;
}

@mixin dropdown__toggle--caret-flipped---alter() {
}

@mixin dropdown__toggle--caret-flipped() {
  &::after {
    border-top: 0;
    border-right: $dropdown-caret-width solid transparent;
    border-bottom: $dropdown-caret-width solid;
    border-left: $dropdown-caret-width solid transparent;
  }
  @include dropdown__toggle--caret-flipped---alter;
}

@mixin dropdown__menu---alter() {
}

@mixin dropdown__menu() {
  background: $dropdown-bg;
  color: $dropdown-color;
  border-radius: 0 0 $dropdown-border-radius $dropdown-border-radius;
  box-shadow: $dropdown-box-shadow;
  padding: $dropdown-padding;
  border-width: $dropdown-border-top-width $dropdown-border-right-width $dropdown-border-bottom-width $dropdown-border-left-width;
  border-color: $dropdown-border-color;
  border-style: solid;
  margin: 0;
  list-style: none;
  position: absolute;
  top: 100%;
  bottom: auto;
  z-index: -1;
  visibility: hidden;
  opacity: 0;
  transition: all 0.4s;
  @include dropdown__menu---alter;
}

@mixin dropdown__menu--right---alter {
}

@mixin dropdown__menu--right {
  left: auto;
  right: 0;
  @include dropdown__menu--right---alter;
}

@mixin dropdown__menu--flipped---alter {
}

@mixin dropdown__menu--flipped {
  border-radius: $dropdown-border-radius $dropdown-border-radius 0 0;
  top: auto;
  bottom: 100%;
  @include dropdown__menu--flipped---alter;
}

@mixin dropdown__menu--open---alter() {
}

@mixin dropdown__menu--open() {
  z-index: 9999;
  visibility: visible;
  opacity: 1;
  @include dropdown__menu--open---alter;
}

@mixin dropdown__link--active---alter() {
}

@mixin dropdown__link--active() {
  background: $dropdown-link-active-bg;
  color: $dropdown-link-active-color;
  border-color: $dropdown-link-active-border-color;
  @include dropdown__link--active---alter;
}

@mixin dropdown__link---alter() {
}

@mixin dropdown__link() {
  display: flex;
  padding: $dropdown-link-padding-top $dropdown-link-padding-right $dropdown-link-padding-bottom $dropdown-link-padding-left;
  white-space: nowrap;
  font-family: $dropdown-link-font-family;
  font-size: $dropdown-link-font-size;
  font-weight: $dropdown-link-font-weight;
  line-height: $dropdown-link-line-height;
  text-transform: $dropdown-link-text-transform;
  background: $dropdown-link-bg;
  color: $dropdown-link-color;
  border-width: $dropdown-link-border-top-width $dropdown-link-border-right-width $dropdown-link-border-bottom-width $dropdown-link-border-left-width;
  border-color: $dropdown-link-border-color;
  border-style: solid;
  min-width: 150px;
  transition: all 0.4s;
  @include dropdown__link---alter;
}

@mixin dropdown__heading---alter() {
}

@mixin dropdown__heading() {
  @include dropdown__link;
  font-weight: bold;
  @include dropdown__heading---alter;
}

@mixin dropdown__divider---alter() {
}

@mixin dropdown__divider() {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: $border-color;
  @include dropdown__divider---alter;
}
