:host {
  /**
  * @prop --controlLabelColor: Label text color
  */
  /**
  * @prop --controlOutlineBackgroundColor: Checkbox background color
  */
  /**
  * @prop --controlBorderColor: Checkbox border color
  */
  /**
  * @prop --controlHoverBorderColor: Checkbox border color on hover
  */
  /**
  * @prop --controlTextColor: Selected checkbox icon color
  */
  /**
  * @prop --controlSelectedOutlineBorderColor: Selected checkbox border color
  */
}
:host *,
:host *:before,
:host *:after {
  box-sizing: inherit;
}

.rux-form-field {
  display: flex;
  flex-direction: column;
  font-family: var(--fontFamily);
  font-size: var(--fontSize);
  color: var(--fontColor);
}

.rux-checkbox {
  display: flex;
  position: relative;
  margin: 0 0 1rem 0;
  line-height: 1.2;
}
.rux-checkbox input[type=checkbox] {
  -webkit-appearance: none;
  display: none;
}
.rux-checkbox input[type=checkbox] + label {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: var(--controlLabelColor);
  letter-spacing: 0.5px;
  cursor: pointer;
}
.rux-checkbox input[type=checkbox] + label:before {
  display: flex;
  flex-shrink: 0;
  flex-grow: 0;
  content: "";
  align-self: start;
  height: var(--controlOptionSize);
  width: var(--controlOptionSize);
  margin: 0 0.625rem 0 0;
  background-color: var(--controlOutlineBackgroundColor);
  border: 1px solid var(--controlBorderColor);
  border-radius: 2px;
}
.rux-checkbox input[type=checkbox]:checked + label::after {
  position: absolute;
  display: flex;
  content: "";
  top: 5px;
  height: 6px;
  width: 12px;
  left: 3px;
  border-right: 2px solid var(--controlTextColor);
  border-top: 2px solid var(--controlTextColor);
  transform: rotate(125deg);
}
.rux-checkbox input[type=checkbox]:checked + label::before {
  border-color: var(--controlBorderColor);
}
.rux-checkbox input[type=checkbox]:disabled + label {
  cursor: var(--disabledCursor);
  opacity: var(--disabledOpacity);
}
.rux-checkbox input[type=checkbox]:not(:disabled):hover + label::before {
  border-color: var(--controlHoverBorderColor);
}
.rux-checkbox input[indeterminate]:checked + label::after {
  width: 10px !important;
  height: 5px !important;
  transform: rotate(0deg) !important;
  border-right: 0px !important;
  border-top: 0px !important;
  border-bottom: 2px solid var(--controlTextColor) !important;
  left: 4px !important;
}
.rux-checkbox--has-error input[type=checkbox] + label:after,
.rux-checkbox--has-error input[type=checkbox]:checked + label:after {
  border-color: var(--colorCritical);
}
.rux-checkbox--has-error input[type=checkbox] + label::before,
.rux-checkbox--has-error input[type=checkbox]:checked + label::before {
  border-color: var(--colorCritical);
}
.rux-checkbox--has-text {
  margin-bottom: 0px;
}
.rux-checkbox + .rux-help-text,
.rux-checkbox + .rux-error-text {
  margin-bottom: 0.75rem;
}

.rux-help-text {
  margin-top: 0.625rem;
  color: var(--secondaryText);
  font-size: 0.875rem;
  font-size: var(--fontSizeMD);
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--fontFamily);
  font-weight: normal;
  letter-spacing: 0.5px;
}

.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(--colorCritical);
  font-size: 0.875rem;
  font-size: var(--fontSizeMD);
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-family: var(--fontFamily);
  font-weight: bold;
}