@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;
      }
      &:not(.no-more):before {
	position: absolute;
	font-family: "FontAwesome";
	content: '\f0de';
	right: .5em;
	top: .4em;
      }
    }
    &:last-of-type {
      border-bottom: {
	width: $border-size;
	left-radius: $standard-border-radius;
	right-radius: $standard-border-radius;
      }

      &:not(.no-more):before {
	position: absolute;
	font-family: "FontAwesome";
	content: '\f0dd';
	right: .5em;
	bottom: .4em;
      }
    }
    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;
    }
  }
}


