
/**
 * @file
 * Base styles for dropbuttons.
 */

/**
 * When a dropbutton has only one option, it is simply a button.
 */
.dropbutton-wrapper,
.dropbutton-wrapper div {
  box-sizing: border-box;
}
.js .dropbutton-wrapper,
.js .dropbutton-widget {
  position: relative;
  display: block;
}

@media screen and (max-width: 600px) {
  .js .dropbutton-wrapper {
    width: 100%;
  }
}

/* Splitbuttons */
@media screen and (min-width: 600px) {
  .form-actions .dropbutton-wrapper {
    float: left; /* LTR */
  }
  [dir="rtl"] .form-actions .dropbutton-wrapper {
    float: right;
  }
}
.js .form-actions .dropbutton-widget {
  position: static;
}
.js td .dropbutton-widget {
  position: absolute;
}
.js td .dropbutton-wrapper {
  min-height: 2em;
}
.js td .dropbutton-multiple {
  max-width: 100%;
  margin-right: 2em; /* LTR */
  padding-right: 10em; /* LTR */
}
[dir="rtl"].js td .dropbutton-multiple {
  margin-right: 0;
  margin-left: 2em;
  padding-right: 0;
  padding-left: 10em;
}
.js td .dropbutton-multiple .dropbutton-action a,
.js td .dropbutton-multiple .dropbutton-action input,
.js td .dropbutton-multiple .dropbutton-action button {
  width: auto;
}

/* UL styles are over-scoped in core, so this selector needs weight parity. */
.js .dropbutton-widget .dropbutton {
  overflow: hidden;
  margin: 0;
  padding: 0;
  list-style-type: none;
  list-style-image: none;
}
.js .dropbutton li,
.js .dropbutton a {
  display: block;
  outline: none;
}

.js .dropbutton li:hover,
.js .dropbutton li:focus,
.js .dropbutton a:hover,
.js .dropbutton a:focus {
  outline: initial;
}

/**
 * The dropbutton styling.
 *
 * A dropbutton is a widget that displays a list of action links as a button
 * with a primary action. Secondary actions are hidden behind a click on a
 * twisty arrow.
 *
 * The arrow is created using border on a zero-width, zero-height span.
 * The arrow inherits the link color, but can be overridden with border colors.
 */
.js .dropbutton-multiple .dropbutton-widget {
  padding-right: 2em; /* LTR */
}
.js[dir="rtl"] .dropbutton-multiple .dropbutton-widget {
  padding-right: 0;
  padding-left: 2em;
}
.dropbutton-multiple.open,
.dropbutton-multiple.open .dropbutton-widget {
  max-width: none;
}
.dropbutton-multiple.open {
  z-index: 100;
}
.dropbutton-multiple .dropbutton .secondary-action {
  display: none;
}
.dropbutton-multiple.open .dropbutton .secondary-action {
  display: block;
}
.dropbutton-toggle {
  position: absolute;
  top: 0;
  right: 0; /* LTR */
  bottom: 0;
  display: block;
  width: 2em;
  white-space: nowrap;
  text-indent: 110%;
}
[dir="rtl"] .dropbutton-toggle {
  right: auto;
  left: 0;
}
.dropbutton-toggle button {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  cursor: pointer;
  border: 0;
  background: none;
}
.dropbutton-toggle button:hover,
.dropbutton-toggle button:focus {
  outline: initial;
}
.dropbutton-arrow {
  position: absolute;
  top: 50%;
  right: 40%; /* 0.6667em; */ /* LTR */
  display: block;
  overflow: hidden;
  width: 0;
  height: 0;
  margin-top: -0.1666em;
  border-width: 0.3333em 0.3333em 0;
  border-style: solid;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
  line-height: 0;
}
[dir="rtl"] .dropbutton-arrow {
  right: auto;
  left: 0.6667em;
}
.dropbutton-multiple.open .dropbutton-arrow {
  top: 0.6667em;
  border-top-color: transparent;
  border-bottom: 0.3333em solid;
}
