/**
 * Breakpoint mixins
 */
.select-wrapper {
  display: block;
  position: relative;
}
.select-wrapper .select {
  position: absolute;
  z-index: var(--select--z-index, 2000);
  word-wrap: break-word;
  width: max-content;
  top: 0;
  left: 0;
  text-align: left;
  list-style: none;
  line-height: var(--select-line-height);
  display: block;
  white-space: normal;
  width: 100%;
  min-width: var(--select--min-width, 240px);
  max-width: var(--select--max-width, 90vw);
  color: var(--select--color);
  font-size: var(--select--font-size, var(--font-size));
  box-shadow: var(--select--box-shadow, var(--select--box-shadow-x-offset, var(--box-shadow-offset-x)) var(--select--box-shadow-y-offset, var(--box-shadow-offset-y)) var(--select--box-shadow-blur-radius, var(--box-shadow-blur-radius)) var(--select--box-shadow-spread-radius, var(--box-shadow-spread-radius)) var(--select--box-shadow-color, var(--box-shadow-color)));
}
.select-wrapper .select:focus:hover {
  outline-width: 0;
}
.select-wrapper .select[data-popup-placement^=top] {
  transform-origin: center bottom;
}
.select-wrapper .select[data-popup-placement^=bottom] {
  transform-origin: center top;
}
.select-wrapper .select[data-popup-placement^=right] {
  transform-origin: left center;
}
.select-wrapper .select[data-popup-placement^=left] {
  transform-origin: right center;
}
.select-wrapper .select > .arrow {
  position: absolute;
}
.select-wrapper .select > .arrow,
.select-wrapper .select > .arrow::after {
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
  position: absolute;
}
.select-wrapper .select > .arrow::after {
  content: "";
}
.select-wrapper .select[data-popup-placement^=top] > .arrow {
  border-bottom-width: 0;
}
.select-wrapper .select[data-popup-placement^=top] > .arrow::after {
  border-bottom-width: 0;
}
.select-wrapper .select[data-popup-placement^=bottom] > .arrow {
  border-top-width: 0;
}
.select-wrapper .select[data-popup-placement^=bottom] > .arrow::after {
  border-top-width: 0;
}
.select-wrapper .select[data-popup-placement^=right] > .arrow {
  border-left-width: 0;
}
.select-wrapper .select[data-popup-placement^=right] > .arrow::after {
  border-left-width: 0;
}
.select-wrapper .select[data-popup-placement^=left] > .arrow {
  border-right-width: 0;
}
.select-wrapper .select[data-popup-placement^=left] > .arrow::after {
  border-right-width: 0;
}
.select-wrapper .select > .arrow {
  width: var(--select--arrow--size, 6px);
  height: var(--select--arrow--size, 6px);
}
.select-wrapper .select > .arrow, .select-wrapper .select > .arrow::after {
  border-width: var(--select--arrow--size, 6px);
}
.select-wrapper .select[data-popup-placement^=top] > .arrow::after, .select-wrapper .select[data-popup-placement^=bottom] > .arrow::after {
  margin-left: calc(var(--select--arrow--size, 6px) * -1);
}
.select-wrapper .select[data-popup-placement^=left] > .arrow::after, .select-wrapper .select[data-popup-placement^=right] > .arrow::after {
  margin-top: calc(var(--select--arrow--size, 6px) * -1);
}
.select-wrapper .select[data-popup-placement^=top] > .arrow {
  bottom: calc(var(--select--arrow--size, 6px) * -1);
}
.select-wrapper .select[data-popup-placement^=top] > .arrow::after {
  bottom: 1px;
}
.select-wrapper .select[data-popup-placement^=bottom] > .arrow {
  top: calc(var(--select--arrow--size, 6px) * -1);
}
.select-wrapper .select[data-popup-placement^=bottom] > .arrow::after {
  top: 1px;
}
.select-wrapper .select[data-popup-placement^=left] > .arrow {
  right: calc(var(--select--arrow--size, 6px) * -1);
}
.select-wrapper .select[data-popup-placement^=left] > .arrow::after {
  right: 1px;
}
.select-wrapper .select[data-popup-placement^=right] > .arrow {
  left: calc(var(--select--arrow--size, 6px) * -1);
}
.select-wrapper .select[data-popup-placement^=right] > .arrow::after {
  left: 1px;
}
.select-wrapper .select > .select-header {
  border-style: var(--select--header--border-style, var(--select--header--border-top-style, var(--select--border-top-style, var(--border-top-style))) var(--select--header--border-right-style, var(--select--border-right-style, var(--border-right-style))) var(--select--header--border-bottom-style, var(--select--border-bottom-style, var(--border-bottom-style))) var(--select--header--border-left-style, var(--select--border-left-style, var(--border-left-style))));
  border-width: var(--select--header--border-width, var(--select--header--border-top-width, var(--select--border-top-width, var(--border-top-width))) var(--select--header--border-right-width, var(--select--border-right-width, var(--border-right-width))) var(--select--header--border-bottom-width, 0) var(--select--header--border-left-width, var(--select--border-left-width, var(--border-left-width))));
  border-color: var(--select--header--border-color, var(--select--header--border-top-color, var(--select--border-top-color, var(--border-top-color))) var(--select--header--border-right-color, var(--select--border-right-color, var(--border-right-color))) var(--select--header--border-bottom-color, var(--select--border-bottom-color, var(--border-bottom-color))) var(--select--header--border-left-color, var(--select--border-left-color, var(--border-left-color))));
  background-color: var(--select--header--background, var(--select--background));
  padding: var(--select--header--padding, var(--select--header--padding-top, var(--select--padding-top, var(--padding-top))) var(--select--header--padding-right, var(--select--padding-right, var(--padding-right))) var(--select--header--padding-bottom, var(--select--padding-bottom, var(--padding-bottom))) var(--select--header--padding-left, var(--select--padding-left, var(--padding-left))));
}
.select-wrapper .select > .select-body {
  overflow: auto;
  border-style: var(--select--body--border-style, var(--select--body--border-top-style, var(--select--border-top-style, var(--border-top-style))) var(--select--body--border-right-style, var(--select--border-right-style, var(--border-right-style))) var(--select--body--border-bottom-style, var(--select--border-bottom-style, var(--border-bottom-style))) var(--select--body--border-left-style, var(--select--border-left-style, var(--border-left-style))));
  border-width: var(--select--body--border-width, var(--select--body--border-top-width, var(--select--border-top-width, var(--border-top-width))) var(--select--body--border-right-width, var(--select--border-right-width, var(--border-right-width))) var(--select--body--border-bottom-width, var(--select--border-bottom-width, var(--border-bottom-width))) var(--select--body--border-left-width, var(--select--border-left-width, var(--border-left-width))));
  border-color: var(--select--body--border-color, var(--select--body--border-top-color, var(--select--border-top-color, var(--border-top-color))) var(--select--body--border-right-color, var(--select--border-right-color, var(--border-right-color))) var(--select--body--border-bottom-color, var(--select--border-bottom-color, var(--border-bottom-color))) var(--select--body--border-left-color, var(--select--border-left-color, var(--border-left-color))));
  background-color: var(--select--body--background, var(--select--background));
  padding: var(--select--body--padding, var(--select--body--padding-top, var(--select--padding-top, var(--padding-top))) var(--select--body--padding-right, var(--select--padding-right, var(--padding-right))) var(--select--body--padding-bottom, var(--select--padding-bottom, var(--padding-bottom))) var(--select--body--padding-left, var(--select--padding-left, var(--padding-left))));
  max-height: var(--select--max-height, 300px);
}
.select-wrapper .select > .select-body .select-divider {
  background-color: var(--select--divider--border-color, var(--select--border-top, var(--border-top-color)));
}
.select-wrapper .select > .select-body .select-no-results {
  text-align: center;
}
.select-wrapper .select > .select-footer {
  border-style: var(--select--footer--border-style, var(--select--footer--border-top-style, var(--select--border-top-style, var(--border-top-style))) var(--select--footer--border-right-style, var(--select--border-right-style, var(--border-right-style))) var(--select--footer--border-bottom-style, var(--select--border-bottom-style, var(--border-bottom-style))) var(--select--footer--border-left-style, var(--select--border-left-style, var(--border-left-style))));
  border-width: var(--select--footer--border-width, var(--select--footer--border-top-width, 0) var(--select--footer--border-right-width, var(--select--border-right-width, var(--border-right-width))) var(--select--footer--border-bottom-width, var(--select--border-bottom-width, var(--border-bottom-width))) var(--select--footer--border-left-width, var(--select--border-left-width, var(--border-left-width))));
  border-color: var(--select--footer--border-color, var(--select--footer--border-top-color, var(--select--border-top-color, var(--border-top-color))) var(--select--footer--border-right-color, var(--select--border-right-color, var(--border-right-color))) var(--select--footer--border-bottom-color, var(--select--border-bottom-color, var(--border-bottom-color))) var(--select--footer--border-left-color, var(--select--border-left-color, var(--border-left-color))));
  background-color: var(--select--footer--background, var(--select--background));
  padding: var(--select--footer--padding, var(--select--footer--padding-top, var(--select--padding-top, var(--padding-top))) var(--select--footer--padding-right, var(--select--padding-right, var(--padding-right))) var(--select--footer--padding-bottom, var(--select--padding-bottom, var(--padding-bottom))) var(--select--footer--padding-left, var(--select--padding-left, var(--padding-left))));
}
.select-wrapper .select > div:first-of-type {
  border-top-left-radius: var(--select--border-top-left-radius, var(--border-top-left-radius));
  border-top-right-radius: var(--select--border-top-right-radius, var(--border-top-right-radius));
}
.select-wrapper .select > div:last-of-type {
  border-bottom-left-radius: var(--select--border-bottom-left-radius, var(--border-bottom-left-radius));
  border-bottom-right-radius: var(--select--border-bottom-right-radius, var(--border-bottom-right-radius));
}
.select-wrapper .select[data-popup-placement^=top] > .arrow {
  border-top-color: var(--select--border-bottom-color, var(--border-bottom-color));
}
.select-wrapper .select[data-popup-placement^=top] > .arrow::after {
  border-top-color: var(--select--background);
}
.select-wrapper .select[data-popup-placement^=right] > .arrow {
  border-right-color: var(--select--border-left-color, var(--border-left-color));
}
.select-wrapper .select[data-popup-placement^=right] > .arrow::after {
  border-right-color: var(--select--background);
}
.select-wrapper .select[data-popup-placement^=bottom] > .arrow {
  border-bottom-color: var(--select--border-top-color, var(--border-top-color));
}
.select-wrapper .select[data-popup-placement^=bottom] > .arrow::after {
  border-bottom-color: var(--select--background);
}
.select-wrapper .select[data-popup-placement^=left] > .arrow {
  border-left-color: var(--select--border-right-color, var(--border-right-color));
}
.select-wrapper .select[data-popup-placement^=left] > .arrow::after {
  border-left-color: var(--select--background);
}
.select-wrapper.-error > .input-wrapper .input {
  border-color: var(--input--error--border-color, var(--color-danger));
}
.select-wrapper .input-wrapper .input-icon {
  margin-right: var(--margin-left);
}
.select-wrapper .input-wrapper .input-suffix > .select-caret {
  cursor: pointer;
  mask-image: url('data:image/svg+xml; utf8, <svg fill="currentColor" version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="28" viewBox="0 0 16 28"><title>caret-down</title><path d="M16 11c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1z"></path></svg>');
  -webkit-mask-image: url('data:image/svg+xml; utf8, <svg fill="currentColor" version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="28" viewBox="0 0 16 28"><title>caret-down</title><path d="M16 11c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1z"></path></svg>');
  mask-position: center center;
  -webkit-mask-position: center center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  background-color: var(--select--color);
  height: var(--select--font-size, var(--font-size));
  width: var(--select--font-size, var(--font-size));
  mask-size: var(--select--font-size, var(--font-size)) var(--font-size);
  margin-left: var(--select--caret--margin-left, var(--select--margin-left));
}

/**
 * Color variants
 */
.select-wrapper.-light {
  --select--background: var(--select--light--background, var(--color-white));
  --select--border-top-color: var(
      --select--light--border-top-color,
      var(--color-light-shade-50)
  );
  --select--border-right-color: var(
      --select--light--border-right-color,
      var(--color-light-shade-50)
  );
  --select--border-bottom-color: var(
      --select--light--border-bottom-color,
      var(--color-light-shade-50)
  );
  --select--border-left-color: var(
      --select--light--border-left-color,
      var(--color-light-shade-50)
  );
  --select--color: var(--select--light--color, var(--contrast-text-color-white));
  --select--option--hover--background: var(
      --select--light--option--hover--background,
      var(--color-gray-50)
  );
  --select--option--disabled--background: var(
      --select--light--option--disabled--background,
      transparent
  );
  --select--option--disabled--color: var(
      --select--light--option--disabled--color,
      var(--text-color-weaker)
  );
  --select--header--background: var(
      --select--light--header--background,
      var(--color-gray-50)
  );
  --select--footer--background: var(
      --select--light--footer--background,
      var(--color-gray-50)
  );
}
.select-wrapper.-dark {
  --select--background: var(--select--dark--background, var(--color-dark));
  --select--border-top-color: var(
      --select--dark--border-top-color,
      var(--color-dark-tint-50)
  );
  --select--border-right-color: var(
      --select--dark--border-right-color,
      var(--color-dark-tint-50)
  );
  --select--border-bottom-color: var(
      --select--dark--border-bottom-color,
      var(--color-dark-tint-50)
  );
  --select--border-left-color: var(
      --select--dark--border-left-color,
      var(--color-dark-tint-50)
  );
  --select--color: var(--select--dark--color, var(--contrast-text-color-dark));
  --select--option--hover--background: var(
      --select--dark--option--hover--background,
      var(--color-dark-tint-50)
  );
  --select--option--disabled--background: var(
      --select--dark--option--disabled--background,
      transparent
  );
  --select--option--disabled--color: var(
      --select--dark--option--disabled--color,
      var(--text-color-weaker)
  );
  --select--header--background: var(
      --select--dark--header--background,
      var(--color-dark-tint-50)
  );
  --select--footer--background: var(
      --select--dark--footer--background,
      var(--color-dark-tint-50)
  );
}

/**
 * Size variants
 */
.select-wrapper.-sm {
  --select--border-top-left-radius: var(
      --select--sm--border-top-left-radius,
      calc(var(--border-top-left-radius) * var(--size-multiplier-sm))
  );
  --select--border-top-right-radius: var(
      --select--sm--border-top-right-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-sm))
  );
  --select--border-bottom-right-radius: var(
      --select--sm--border-bottom-right-radius,
      calc(var(--border-bottom-right-radius) * var(--size-multiplier-sm))
  );
  --select--border-bottom-left-radius: var(
      --select--sm--border-bottom-left-radius,
      calc(var(--border-bottom-left-radius) * var(--size-multiplier-sm))
  );
  --select--font-size: var(
      --select--sm--font-size,
      calc(var(--font-size) * var(--size-multiplier-sm))
  );
  --select--margin-top: var(
      --select--sm--margin-top,
      calc(calc(var(--margin-top) / 2) * var(--size-multiplier-sm))
  );
  --select--margin-right: var(
      --select--sm--margin-right,
      calc(calc(var(--margin-right) / 2) * var(--size-multiplier-sm))
  );
  --select--margin-bottom: var(
      --select--sm--margin-bottom,
      calc(calc(var(--margin-bottom) / 2) * var(--size-multiplier-sm))
  );
  --select--margin-left: var(
      --select--sm--margin-left,
      calc(calc(var(--margin-left) / 2) * var(--size-multiplier-sm))
  );
  --select--padding-top: var(
      --select--sm--padding-top,
      calc(var(--padding-top) * var(--size-multiplier-sm))
  );
  --select--padding-right: var(
      --select--sm--padding-right,
      calc(var(--padding-right) * var(--size-multiplier-sm))
  );
  --select--padding-bottom: var(
      --select--sm--padding-bottom,
      calc(var(--padding-bottom) * var(--size-multiplier-sm))
  );
  --select--padding-left: var(
      --select--sm--padding-left,
      calc(var(--padding-left) * var(--size-multiplier-sm))
  );
  --select--option--padding-top: var(
      --select--sm--option--padding-top,
      calc(calc(var(--select--padding-top) / 2) * var(--size-multiplier-sm))
  );
  --select--option--padding-bottom: var(
      --select--sm--option--padding-bottom,
      calc(calc(var(--select--padding-bottom) / 2) * var(--size-multiplier-sm))
  );
  --select--header--padding-top: var(
      --select--sm--header--padding-top,
      calc(calc(var(--select--padding-top) * 3 / 4) * var(--size-multiplier-sm))
  );
  --select--header--padding-bottom: var(
      --select--sm--header--padding-bottom,
      calc(calc(var(--select--padding-bottom) * 3 / 4) * var(--size-multiplier-sm))
  );
  --select--body--padding-right: var(--select--sm--body--padding-right, 0);
  --select--body--padding-left: var(--select--sm--body--padding-left, 0);
  --select--footer--padding-top: var(
      --select--sm--footer--padding-top,
      calc(calc(var(--select--padding-top) * 3 / 4) * var(--size-multiplier-sm))
  );
  --select--footer--padding-bottom: var(
      --select--sm--footer--padding-bottom,
      calc(calc(var(--select--padding-bottom) * 3 / 4) * var(--size-multiplier-sm))
  );
}
.select-wrapper.-md {
  --select--border-top-left-radius: var(
      --select--md--border-top-left-radius,
      calc(var(--border-top-left-radius) * var(--size-multiplier-md))
  );
  --select--border-top-right-radius: var(
      --select--md--border-top-right-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-md))
  );
  --select--border-bottom-right-radius: var(
      --select--md--border-bottom-right-radius,
      calc(var(--border-bottom-right-radius) * var(--size-multiplier-md))
  );
  --select--border-bottom-left-radius: var(
      --select--md--border-bottom-left-radius,
      calc(var(--border-bottom-left-radius) * var(--size-multiplier-md))
  );
  --select--font-size: var(
      --select--md--font-size,
      calc(var(--font-size) * var(--size-multiplier-md))
  );
  --select--margin-top: var(
      --select--md--margin-top,
      calc(calc(var(--margin-top) / 2) * var(--size-multiplier-md))
  );
  --select--margin-right: var(
      --select--md--margin-right,
      calc(calc(var(--margin-right) / 2) * var(--size-multiplier-md))
  );
  --select--margin-bottom: var(
      --select--md--margin-bottom,
      calc(calc(var(--margin-bottom) / 2) * var(--size-multiplier-md))
  );
  --select--margin-left: var(
      --select--md--margin-left,
      calc(calc(var(--margin-left) / 2) * var(--size-multiplier-md))
  );
  --select--padding-top: var(
      --select--md--padding-top,
      calc(var(--padding-top) * var(--size-multiplier-md))
  );
  --select--padding-right: var(
      --select--md--padding-right,
      calc(var(--padding-right) * var(--size-multiplier-md))
  );
  --select--padding-bottom: var(
      --select--md--padding-bottom,
      calc(var(--padding-bottom) * var(--size-multiplier-md))
  );
  --select--padding-left: var(
      --select--md--padding-left,
      calc(var(--padding-left) * var(--size-multiplier-md))
  );
  --select--option--padding-top: var(
      --select--md--option--padding-top,
      calc(calc(var(--select--padding-top) / 2) * var(--size-multiplier-md))
  );
  --select--option--padding-bottom: var(
      --select--md--option--padding-bottom,
      calc(calc(var(--select--padding-bottom) / 2) * var(--size-multiplier-md))
  );
  --select--header--padding-top: var(
      --select--md--header--padding-top,
      calc(calc(var(--select--padding-top) * 3 / 4) * var(--size-multiplier-md))
  );
  --select--header--padding-bottom: var(
      --select--md--header--padding-bottom,
      calc(calc(var(--select--padding-bottom) * 3 / 4) * var(--size-multiplier-md))
  );
  --select--body--padding-right: var(--select--md--body--padding-right, 0);
  --select--body--padding-left: var(--select--md--body--padding-left, 0);
  --select--footer--padding-top: var(
      --select--md--footer--padding-top,
      calc(calc(var(--select--padding-top) * 3 / 4) * var(--size-multiplier-md))
  );
  --select--footer--padding-bottom: var(
      --select--md--footer--padding-bottom,
      calc(calc(var(--select--padding-bottom) * 3 / 4) * var(--size-multiplier-md))
  );
}
.select-wrapper.-lg {
  --select--border-top-left-radius: var(
      --select--lg--border-top-left-radius,
      calc(var(--border-top-left-radius) * var(--size-multiplier-lg))
  );
  --select--border-top-right-radius: var(
      --select--lg--border-top-right-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-lg))
  );
  --select--border-bottom-right-radius: var(
      --select--lg--border-bottom-right-radius,
      calc(var(--border-bottom-right-radius) * var(--size-multiplier-lg))
  );
  --select--border-bottom-left-radius: var(
      --select--lg--border-bottom-left-radius,
      calc(var(--border-bottom-left-radius) * var(--size-multiplier-lg))
  );
  --select--font-size: var(
      --select--lg--font-size,
      calc(var(--font-size) * var(--size-multiplier-lg))
  );
  --select--margin-top: var(
      --select--lg--margin-top,
      calc(calc(var(--margin-top) / 2) * var(--size-multiplier-lg))
  );
  --select--margin-right: var(
      --select--lg--margin-right,
      calc(calc(var(--margin-right) / 2) * var(--size-multiplier-lg))
  );
  --select--margin-bottom: var(
      --select--lg--margin-bottom,
      calc(calc(var(--margin-bottom) / 2) * var(--size-multiplier-lg))
  );
  --select--margin-left: var(
      --select--lg--margin-left,
      calc(calc(var(--margin-left) / 2) * var(--size-multiplier-lg))
  );
  --select--padding-top: var(
      --select--lg--padding-top,
      calc(var(--padding-top) * var(--size-multiplier-lg))
  );
  --select--padding-right: var(
      --select--lg--padding-right,
      calc(var(--padding-right) * var(--size-multiplier-lg))
  );
  --select--padding-bottom: var(
      --select--lg--padding-bottom,
      calc(var(--padding-bottom) * var(--size-multiplier-lg))
  );
  --select--padding-left: var(
      --select--lg--padding-left,
      calc(var(--padding-left) * var(--size-multiplier-lg))
  );
  --select--option--padding-top: var(
      --select--lg--option--padding-top,
      calc(calc(var(--select--padding-top) / 2) * var(--size-multiplier-lg))
  );
  --select--option--padding-bottom: var(
      --select--lg--option--padding-bottom,
      calc(calc(var(--select--padding-bottom) / 2) * var(--size-multiplier-lg))
  );
  --select--header--padding-top: var(
      --select--lg--header--padding-top,
      calc(calc(var(--select--padding-top) * 3 / 4) * var(--size-multiplier-lg))
  );
  --select--header--padding-bottom: var(
      --select--lg--header--padding-bottom,
      calc(calc(var(--select--padding-bottom) * 3 / 4) * var(--size-multiplier-lg))
  );
  --select--body--padding-right: var(--select--lg--body--padding-right, 0);
  --select--body--padding-left: var(--select--lg--body--padding-left, 0);
  --select--footer--padding-top: var(
      --select--lg--footer--padding-top,
      calc(calc(var(--select--padding-top) * 3 / 4) * var(--size-multiplier-lg))
  );
  --select--footer--padding-bottom: var(
      --select--lg--footer--padding-bottom,
      calc(calc(var(--select--padding-bottom) * 3 / 4) * var(--size-multiplier-lg))
  );
}