.CollapseIcon {
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
  -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.5, 1);
          transition-timing-function: cubic-bezier(0.7, 0, 0.5, 1);
  -webkit-transform: var(--direction-transform);
          transform: var(--direction-transform);
}

  .CollapseIcon_direction_up {
      --direction-transform: rotate(0deg);
    }

  .CollapseIcon_direction_right {
      --direction-transform: rotate(90deg);
    }

  .CollapseIcon_direction_down {
      --direction-transform: rotate(180deg);
    }

  .CollapseIcon_direction_left {
      --direction-transform: rotate(270deg);
    }

  .CollapseIcon_direction_upRight {
      --direction-transform: rotate(45deg);
    }

  .CollapseIcon_direction_downRight {
      --direction-transform: rotate(135deg);
    }

  .CollapseIcon_direction_downLeft {
      --direction-transform: rotate(225deg);
    }

  .CollapseIcon_direction_upLeft {
      --direction-transform: rotate(315deg);
    }

  .CollapseIcon_closeDirection_up {
      --close-direction-transform: rotate(0deg);
    }

  .CollapseIcon_closeDirection_right {
      --close-direction-transform: rotate(90deg);
    }

  .CollapseIcon_closeDirection_down {
      --close-direction-transform: rotate(180deg);
    }

  .CollapseIcon_closeDirection_left {
      --close-direction-transform: rotate(270deg);
    }

  .CollapseIcon_closeDirection_upRight {
      --close-direction-transform: rotate(45deg);
    }

  .CollapseIcon_closeDirection_downRight {
      --close-direction-transform: rotate(135deg);
    }

  .CollapseIcon_closeDirection_downLeft {
      --close-direction-transform: rotate(225deg);
    }

  .CollapseIcon_closeDirection_upLeft {
      --close-direction-transform: rotate(315deg);
    }

  .CollapseIcon_isOpen {
    -webkit-transform: var(--close-direction-transform);
            transform: var(--close-direction-transform);
  }

  .CollapseIcon_withCloseIcon {
    position: absolute;
    -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
    transition: opacity 0.3s, -webkit-transform 0.3s;
    transition: transform 0.3s, opacity 0.3s;
    transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
  }

  .CollapseIcon_animate_enter {
      opacity: 0;
      -webkit-transform: scale(0.1);
              transform: scale(0.1);
    }

  .CollapseIcon_animate_enterActive {
      opacity: 1;
      -webkit-transform: scale(1);
              transform: scale(1);
    }

  .CollapseIcon_animate_enterDone {
      opacity: 1;
      -webkit-transform: scale(1);
              transform: scale(1);
    }

  .CollapseIcon_animate_exit {
      opacity: 1;
      -webkit-transform: scale(1);
              transform: scale(1);
    }

  .CollapseIcon_animate_exitActive {
      opacity: 0;
      -webkit-transform: scale(0.1);
              transform: scale(0.1);
    }

  .CollapseIcon_animate_exitDone {
      opacity: 0;
      -webkit-transform: scale(0.1);
              transform: scale(0.1);
    }

  .CollapseIcon-Wrapper {
    position: relative;
  }
