.rux-help-text {
  margin-top: 0.625rem;
  color: var(--color-default-text);
  font-size: var(--font-body-2-font-size);
  font-family: var(--font-body-2-font-family);
  font-weight: var(--font-body-2-font-weight);
  letter-spacing: var(--font-body-2-letter-spacing);
}

.rux-error-text {
  padding-left: 1.625rem;
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20128%20128%22%3E%0A%20%20%3Cpath%20fill%3D%22%23FF3030%22%20fill-rule%3D%22evenodd%22%20d%3D%22M64.031%205c8.461%200%2068.88%20107.243%2063.648%20114.184-5.232%206.942-120.805%205.477-127.212%200C-5.941%20113.708%2055.57%205%2064.03%205zm3.45%2075.894l1.822-34.893H56.946l1.82%2034.893h8.715zM56.803%2093.108c0%201.929.547%203.423%201.643%204.483%201.095%201.06%202.642%201.589%204.642%201.589%201.953%200%203.477-.542%204.572-1.625%201.095-1.084%201.643-2.566%201.643-4.447%200-1.952-.542-3.452-1.625-4.5-1.084-1.047-2.613-1.571-4.59-1.571-2.047%200-3.607.512-4.678%201.536-1.072%201.023-1.607%202.535-1.607%204.535z%22%2F%3E%0A%3C%2Fsvg%3E);
  background-repeat: no-repeat;
  background-size: 1rem;
  background-position: center left 0rem;
  text-align: left;
  width: fit-content;
  -webkit-order: 3;
  order: 3;
  margin-top: 0.625rem;
  color: var(--color-status-critical-fill);
  font-size: var(--font-body-2-bold-font-size);
  font-family: var(--font-body-2-bold-font-family);
  font-weight: var(--font-body-2-bold-font-weight);
  letter-spacing: var(--font-body-2-bold-letter-spacing);
}

:host {
  display: block;
  /** @prop --select-menu-border-radius: Border radius for Select Menu */
  --select-menu-border-radius: var(--radius-base);
  /** @prop --select-menu-border-hover-color: Border Hover Color of the Select Input */
  --select-menu-border-hover-color: var(--color-hover);
  /** @prop --select-menu-border-focus-color: Border Focus Color of the Select Input */
  --select-menu-border-focus-color: var(--color-hover);
  /** @prop --select-menu-invalid-border-color: Border Color of the Invalid Select Input */
  --select-menu-invalid-border-color: var(--color-status-critical-fill);
  /** @prop --select-menu-text-color: Text Color of the Select Input */
  --select-menu-text-color: var(--color-primary);
  /** @prop --select-menu-option-text-hover-color: Text Hover Color of the Select Menu Options */
  --select-menu-option-text-hover-color: var(--color-hover);
  /** @prop --select-menu-option-selected-background-color: Background Color of the Selected Option */
  --select-menu-option-selected-background-color: var(--color-selected);
  /** @prop --select-menu-option-selected-text-color: Text Color of the Selected Option */
  --select-menu-option-selected-text-color: var(--color-default-text);
  /** @prop --select-menu-label-color: Text Color of the Label */
  --select-menu-label-color: var(--color-default-text);
  /** @prop --select-menu-inactive-caret: Caret Shown When the Select Menu is Closed */
  --select-menu-inactive-caret: url("data:image/svg+xml,%3Csvg%20width%3D%2210%22%20height%3D%225%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%234dacff%22%20d%3D%22M0%200h10L5%205z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");
  /** @prop --select-menu-active-caret: Caret Shown When the Select Menu is Open */
  --select-menu-active-caret: url("data:image/svg+xml,%3Csvg%20width%3D%2210%22%20height%3D%225%22%20style%3D%22transform%3A%20rotate%28180deg%29%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%234dacff%22%20d%3D%22M0%200h10L5%205z%22%20fill-rule%3D%22evenodd%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  /** @prop --select-menu-background-color: Background Color of the Select Input */
  --select-menu-background-color: linear-gradient(
      to left,
      var(--color-selected) 2rem,
      var(--color-background) 2rem
  );
  /** @prop --select-menu-border-color: Border Color of the Select Input */
  --select-menu-border-color: var(--color-active);
}

.hidden,
:host([hidden]) {
  display: none;
}

label {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--select-menu-label-color);
  font-family: var(--font-body-1-font-family);
  font-size: var(--font-body-1-font-size);
  font-weight: var(--font-body-1-font-weight);
  letter-spacing: var(--font-body-1-letter-spacing);
}

.rux-select {
  position: relative;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  border: 1px solid var(--select-menu-border-color);
  border-radius: var(--select-menu-border-radius);
  color: var(--select-menu-text-color);
  font-family: var(--font-body-1-font-family);
  font-size: var(--font-body-1-font-size);
  font-weight: var(--font-body-1-font-weight);
  letter-spacing: var(--font-body-1-letter-spacing);
  padding: 0.438rem 3.125rem 0.438rem 0.5rem;
  background-image: var(--select-menu-inactive-caret), var(--select-menu-background-color);
  background-position: center right 0.625rem, center left 0;
  background-repeat: no-repeat;
  user-select: none;
}
.rux-select:hover {
  cursor: pointer;
  border: 1px solid var(--select-menu-border-hover-color);
}
.rux-select:active:not(:disabled) {
  background-image: var(--select-menu-active-caret), var(--select-menu-background-color);
}
.rux-select:focus {
  outline: none;
  border: 1px solid var(--select-menu-border-focus-color);
}
.rux-select:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.rux-select:disabled:hover {
  border: 1px solid var(--select-menu-border-color);
}
.rux-select.rux-select-invalid {
  border: 1px solid var(--select-menu-invalid-border-color);
}
.rux-select::-ms-expand {
  display: none;
}
.rux-select:focus::-ms-value {
  background: transparent;
}
.rux-select option {
  opacity: 1;
  color: var(--select-menu-text-color);
  border-radius: 0;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.5);
}
.rux-select option:hover {
  color: var(--select-menu-option-text-hover-color);
  background-color: var(--select-menu-option-hover-background-color);
}
.rux-select option:focus {
  color: var(--select-menu-option-selected-text-color);
  background-color: var(--select-menu-option-selected-background-color);
}