@keyframes circle-chart-fill {
    to { stroke-dasharray: 0 1000; }
}

.icon-chain {
    .circle-chart__circle {
        animation: circle-chart-fill 2s reverse;
        animation-play-state: paused;
        animation-iteration-count: 1;
    }

    .play .circle-chart__circle {
        animation-play-state: running;
    }

    ul.chain {
        margin: 0 0 1rem 0;
        padding: 0;
        padding-top: 2.625rem;

        @media (min-width: 1330px) {
            padding: 0 3.5rem 0 0;
        }

        li.chain-item {
            display: flex;
            flex-direction: row;
            position: relative;

            p {
                margin: 0;
            }

            .icon {
                flex-shrink: 0;
                flex-grow: 0;
                margin-right: 20px;
                position: relative;
                z-index: 3;
                padding-bottom: 2rem;

                @media (max-width: 767px) {
                    max-width: 5rem;
                }

                @media (min-width: 768px) {
                    margin-right: 50px;
                }

                img {
                    background-color: #fff;
                }

                svg {
                    max-width: 100%;
                    height: auto;
                }

                .svg {
                    display: inline-block;
                    background-color: #fff;
                }

                /* draw line to connect items */
                &::before {
                    display: block;
                    content: "";
                    position: absolute;
                    height: 100%;
                    width: 0;
                    border-left: 3px solid var(--abc-red);
                    left: 50%;
                    top: 0;
                    bottom: 0;
                    z-index: -1;
                }
            }

            .text {
                padding-top: 5px;
                padding-bottom: 2rem;
            }

            &:last-child {
                padding-bottom: 0;

                .icon::before {
                    content: none;
                }
            }

            @media (min-width: 768px) {
                &.pb-50 {
                    .icon {
                        padding-bottom: 3.125rem;
                    }

                    .text {
                        padding-bottom: 3.125rem;
                    }
                }

                &.pb-80 {
                    .icon {
                        padding-bottom: 5rem;
                    }

                    .text {
                        padding-bottom: 5rem;
                    }
                }

                &.pt-8 .text {
                    padding-top: 0.625rem;
                }

                &.pt-16 .text {
                    padding-top: 1rem;
                }

                &.pt-20 .text {
                    padding-top: 1.25rem;
                }

                &.pt-24 .text {
                    padding-top: 1.5rem;
                }

                &.pt-32 .text {
                    padding-top: 2rem;
                }
            }
        }
    }

    &.linecolor-gray {
        ul.chain li.chain-item .icon::before {
            border-color: var(--abc-light-gray);
        }
    }

    &.linecolor-red {
    }
}
