@charset "UTF-8";
/* stylelint-disable uhds/versioned-class-requires-reset */
.ds-checkbox-group__Vr7332 {
  display: inline-flex;
  flex-direction: column;
  border: none;
  padding: 0;
  margin: 0;
}
.ds-checkbox-group__Vr7332__legend {
  color: var(--ds-textColor-default);
  padding-inline: 0;
  font-family: var(--ds-fontFamily-body);
  font-size: var(--ds-fontSize-16);
  font-weight: var(--ds-fontWeight-semibold);
  letter-spacing: var(--ds-letterSpacing-wide);
  line-height: var(--ds-lineHeight-large);
}
.ds-checkbox-group__Vr7332__assistive-text {
  font-family: var(--ds-fontFamily-body);
  font-size: var(--ds-fontSize-14);
  color: var(--ds-textColor-secondary);
  line-height: var(--ds-lineHeight-large);
  margin-bottom: var(--ds-spacing-2xSmall);
}
.ds-checkbox-group__Vr7332__checkbox-container {
  display: flex;
  position: relative;
}
.ds-checkbox-group__Vr7332__checkbox-container__expand-button {
  /* The expand button lives in the gutter that every checkbox reserves for itself
     (see `--ds-checkbox-group-tree-gutter`), so it must stay out of the flow. */
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
}
.ds-checkbox-group__Vr7332__error {
  display: flex;
}
.ds-checkbox-group__Vr7332__error--visible {
  padding-top: var(--ds-spacing-3xSmall);
  padding-left: var(--ds-spacing-4xSmall);
}
.ds-checkbox-group__Vr7332 > .ds-checkbox-group__Vr7332__checkboxes {
  display: inline-flex;
  flex-direction: column;
}
.ds-checkbox-group__Vr7332 {
  /* The only margin the group owns: one indentation step per nesting level. */
}
.ds-checkbox-group__Vr7332--inset {
  margin-inline-start: calc(var(--ds-spacing-medium) + var(--ds-spacing-3xSmall));
}
.ds-checkbox-group__Vr7332--inset[hidden] {
  display: none;
}
.ds-checkbox-group__Vr7332--tree {
  /* Width of the expand button column: the chevron icon plus the gap after it. Every
     `ds-checkbox` below applies it as its own inline-start margin, which is what keeps a
     group's own checkbox and its leaf siblings on the same line — the group does not
     position its children. Declared only on the two elements that exist when a chevron is
     actually rendered, so a `tree` group without `dsText` does not indent anything.
     If the chevron ever grows past this width it will overlap the checkbox. */
}
.ds-checkbox-group__Vr7332--tree > .ds-checkbox-group__Vr7332__checkbox-container,
.ds-checkbox-group__Vr7332--tree > .ds-checkbox-group__Vr7332--inset {
  --ds-checkbox-group-tree-gutter: calc(var(--ds-spacing-medium) + var(--ds-spacing-4xSmall));
}
.ds-checkbox-group__Vr7332--tree .ds-checkbox-group__Vr7332__inset-reveal {
  /* The reveal clips its content while animating, so bleed the box out by the reach of a
     focus ring to stop the leftmost chevron ring being cut off. */
  --ds-tree-focus-bleed: calc(var(--ds-borderWidth-thin) * 2);
  margin-inline-start: calc(-1 * var(--ds-tree-focus-bleed));
  padding-inline-start: var(--ds-tree-focus-bleed);
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition-property: max-height, opacity;
  transition-timing-function: ease-in, ease-in;
  transition-duration: var(--tree-transition-out-duration, 100ms), var(--tree-transition-out-duration, 100ms);
  will-change: max-height, opacity;
}
.ds-checkbox-group__Vr7332--tree .ds-checkbox-group__Vr7332__inset-reveal[data-phase=opening], .ds-checkbox-group__Vr7332--tree .ds-checkbox-group__Vr7332__inset-reveal[data-phase=open] {
  opacity: 1;
  transition-timing-function: ease-out, ease-out;
  transition-duration: var(--tree-transition-in-duration, 140ms), var(--tree-transition-in-duration, 140ms);
}
.ds-checkbox-group__Vr7332--tree .ds-checkbox-group__Vr7332__inset-reveal[data-phase=closing], .ds-checkbox-group__Vr7332--tree .ds-checkbox-group__Vr7332__inset-reveal[data-phase=closed] {
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
  .ds-checkbox-group__Vr7332--tree .ds-checkbox-group__Vr7332__inset-reveal {
    transition: none;
  }
}
.ds-checkbox-group__Vr7332--horizontal > .ds-checkbox-group__Vr7332__checkboxes {
  flex-flow: row wrap;
  gap: var(--ds-spacing-small);
}