@charset "utf-8";
@import "util";

$border-size: 2px;

/**
 * Menu list - used nearly everywhere
 */
ul.menu,
ul.menu > span.pref:not(:empty) {
  box-sizing: border-box;
  text-shadow: none;
  font-weight: normal;
  // Pagination border?

  z-index: 7000;
}

ul.menu > li,
ul.menu > span.pref:not(:empty) {
  box-shadow: $choose-box-shadow;
  border: {
    width: $border-size;
    bottom-width: 0px;
    top-width: 0px;
    style: solid;
  }
  @include choose-item;
  cursor: pointer;
  padding: $item-padding;
  white-space: normal;
}

ul.menu > li,
ul.menu > span.pref:not(.active) {
  @include choose-item;
}

ul.menu {
  position: absolute;
  padding: 0;
  margin: 0;
  text-indent: 0;
  list-style-type: none;
  list-style-position: outside;

  /**
   * List items
   */
  > li {
    padding-right: 1.6em;

    &:first-of-type {
      border-top: {
	width: $border-size;
	left-radius: $standard-border-radius;
	right-radius: $standard-border-radius;
      }
    }
    &:last-of-type {
      border-bottom: {
	width: $border-size;
	left-radius: $standard-border-radius;
	right-radius: $standard-border-radius;
      }
    }
    mark {
      text-decoration: underline;
      background-color: transparent;
      color: inherit;
      font-weight: bold;
    }
  }
  > li.active,
  > span.pref.active {
    @include choose-active;
  }
  > li:hover,
  > span.pref:hover {
    @include choose-hover;
  }

  /**
   * Default prefix view
   */
  > span.pref:not(:empty) {
    position: absolute;
    min-width: 5px;
    font-size: 80%;
    left: 0;
    bottom: 0;
    display: block;
    margin-bottom: -2.1em;
    padding: 2px 6px;
    border: {
      radius: $standard-border-radius;
      width: $border-size;
    }
  }
}

/**
 * Rolling menu
 */
ul.menu.roll {
  > li:first-of-type {
    &:not(.no-more):before {
      position: absolute;
      font-family: "FontAwesome";
      content: $fa-up;
      right: .5em;
      top: .4em;
    }
  }
  > li:last-of-type {
    &:not(.no-more):before {
      position: absolute;
      font-family: "FontAwesome";
      content: $fa-down;
      right: .5em;
      bottom: .4em;
    }
  }
}


/**
 * Sorting menu
 */
ul.menu.sort {
  position: relative;
  display: inline-block;
  > li::before {
    content: '';
  }
  > li.active:hover {
    @include choose-remove;
  }

}