.dropdown-container {
  position: relative;
  display: inline-block;
}

.dropdown-container--hover:hover .dropdown__wrapper {
  display: block;
}

.dropdown__wrapper {
  position: absolute;
  z-index: @z-index-7--dropdown;
  display: none;
}

.dropdown__wrapper--visible {
  display: block;
}

.dropdown__wrapper--hover {
  display: none;
}

.dropdown__wrapper--top {
  top: 0;
  padding-bottom: 10px;
}

.dropdown__wrapper--bottom {
  bottom: 0;
  padding-top: 10px;
}

.dropdown__wrapper--left {
  left: 0;
  padding-right: 10px;
}

.dropdown__wrapper--right {
  right: 0;
  padding-left: 10px;
}

.dropdown__wrapper--right-start {
  top: 0;
  transform: translateX(100%);
}

.dropdown__wrapper--left-start {
  top: 0;
  transform: translateX(-100%);
}

.dropdown__wrapper--top-start {
  left: 0;
  transform: translateY(-100%);
}

.dropdown__wrapper--bottom-start {
  left: 0;
  transform: translateY(100%);
}

.dropdown__wrapper--right-center {
  top: 50%;
  transform: translateX(100%) translateY(-50%);
}

.dropdown__wrapper--left-center {
  top: 50%;
  transform: translateX(-100%) translateY(-50%);
}

.dropdown__wrapper--top-center {
  left: 50%;
  transform: translateY(-100%) translateX(-50%);
}

.dropdown__wrapper--bottom-center {
  left: 50%;
  transform: translateY(100%) translateX(-50%);
}

.dropdown__wrapper--right-end {
  bottom: 0;
  transform: translateX(100%);
}

.dropdown__wrapper--left-end {
  bottom: 0;
  transform: translateX(-100%);
}

.dropdown__wrapper--top-end {
  right: 0;
  transform: translateY(-100%);
}

.dropdown__wrapper--bottom-end {
  right: 0;
  transform: translateY(100%);
}

.dropdown {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 130px;
  min-height: 50px;
  background-color: var(--dropdown-background);
  border-radius: 4px;
  font-size: @text-size-3;
  text-align: left;
  visibility: hidden;
  box-shadow: @dropdown-box-shadow;
}

.dropdown--has-title {
  min-width: 150px;
}

.dropdown--visible,
.dropdown--hover {
  visibility: visible;
}

.dropdown__backdrop {
  .size(100%);

  position: fixed;
  top: 0;
  left: 0;
  z-index: @z-index-7--dropdown;
}

.dropdown__arrow {
  .size(8px);

  position: absolute;
  top: -4px;
  left: ~"calc(50% - 4px)"; // HACK: Retina won't display transform in some cases
  clip: rect(-4px, 20px, 4px, -20px);
}

.dropdown__arrow::before {
  .size(100%);

  display: block;
  content: '';
  transform: rotate(45deg);
  background-color: var(--dropdown-background);
}

.dropdown__arrow--top {
  top: auto;
  bottom: -4px;
  clip: rect(4px, 17px, 17px, -3px);
}

.dropdown__arrow--start {
  left: 20px;
}

.dropdown__arrow--end {
  left: auto;
  right: 20px;
}

.dropdown__arrow--left {
  left: auto;
  right: -4px;
  top: ~"calc(50% - 4px)";
  clip: rect(-4px, 20px, 20px, 4px);
}

.dropdown__arrow--right {
  right: auto;
  left: -4px;
  top: ~"calc(50% - 4px)";
  clip: rect(-4px, 4px, 20px, -4px);
}

.dropdown__arrow--left-start,
.dropdown__arrow--right-start {
  top: 20px;
  transform: none;
}

.dropdown__arrow--left-end,
.dropdown__arrow--right-end {
  top: auto;
  bottom: 15px;
  transform: none;
}

.dropdown__title {
  font-weight: bold;
  color: var(--dropdown-title-color);
  text-transform: uppercase;
  padding: 10px 15px 0;
  font-size: @text-size-1;
  font-weight: 700;
}

.dropdown__footer {
  margin: 0;
  line-height: 30px;
  border: none;
  border-top: 1px solid var(--gray-darkest);
  border-radius: 0 0 4px 4px;
  font-size: @text-size-2;
  color: var(--dropdown-footer-color);
  font-weight: bold;
  cursor: @button-cursor;
  text-transform: uppercase;
}

.dropdown__footer:hover {
  color: var(--dropdown-footer-hover-color);
  background-color: var(--dropdown-footer-hover-background);
}

//
// Dropdown options list Dropdown({options:[...]})
//

.dropdown__list {
  padding: 0;
}

.dropdown__list__item {
  padding: 0 15px;
  line-height: 26px;
  font-size: @text-size-2;
  font-weight: 600;
}

.dropdown__list__item:hover {
  color: var(--dropdown-item-color);
  cursor: @button-cursor;
}

.dropdown__list__item:first-child {
  padding-top: 5px;
}

.dropdown__list__item:last-child {
  padding-bottom: 5px;
}

.dropdown--light {
  background: #fff;
  border-radius: 3px;
  border: 0;
  color: #585858;
  filter: none;
}

.dropdown__list__item--light:hover,
.dropdown__footer--light:hover {
  background: none;
  color: #2b2b2b;
}

.dropdown__footer--light {
  background: none;
  border-top: 1px solid #d7d7d7;
  color: #ababab;
}

.dropdown__arrow--light::before {
  background-color: #fff;
  box-shadow: none;
}

.dropdown__more {
  border-top: 1px solid rgba(170, 170, 170, 0.05);
  font-size: @text-size-1;
}

.dropdown__title--light {
  color: #212121;
}
