.dig-checkbox {
  .dig-checkbox-icon {
    $checkbox-size: 24px;

    height: $checkbox-size;
    width: $checkbox-size;
    margin-right: $desktop-gutter-less;

    .dig-checkbox-check {
      position: absolute;
      opacity: 0;
      transform: scale(0);
      transform-origin: 50% 50%;

      transition:
        opacity 450ms $ease-out-function 0ms,
        transform 0ms $ease-out-function 450ms;

      * { fill: $checkbox-checked-color; }
    }

    .dig-checkbox-box {
      position: absolute;
      * {
        fill: $checkbox-box-color;
        @include ease-out($duration: 2s, $delay: 200ms);
      }
    }
  }

  &.dig-is-switched {
    .dig-checkbox-icon {
      .dig-checkbox-check {
        @include ease-out($duration: .45s, $delay: 0s);
        opacity: 1;
        transform: scale(1);
        transform-origin: 50% 50%;

        transition:
          opacity 0ms $ease-out-function 0ms,
          transform 800ms $ease-out-function 0ms;
      }
      .dig-checkbox-box {
        @include ease-out($duration: 100s, $delay: 0ms);
        * { fill: $checkbox-checked-color; }
      }
    }
  }

  &.dig-is-disabled {
    .dig-checkbox-icon {
      .dig-checkbox-check,
      .dig-checkbox-box {
        * { fill: $checkbox-disabled-color; }
      }
    }
  }

  &.dig-is-required {
    .dig-checkbox-icon {
      .dig-checkbox-box {
        * { fill: $checkbox-required-color; }
      }
    }
  }
}
