@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: 3px 10px;
  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: '\f0de';
      right: .5em;
      top: .4em;
    }
  }
  > li:last-of-type {
    &:not(.no-more):before {
      position: absolute;
      font-family: "FontAwesome";
      content: '\f0dd';
      right: .5em;
      bottom: .4em;
    }
  }
}


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

}