.process {
    background-color: #F4F7F9;
    overflow: visible;

    .txt_content {
        padding-top: 20px;
        position: sticky;
        top: 110px;

        .title {
            line-height: 1.2;
        }

        .description {
            color: #777;
            line-height: 1.7;
            max-width: 390px;
        }
    }

    .process_stack {
        position: relative;
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .process_card {
        position: relative;
        width: 100%;
        height: 200px;

        display: flex;
        align-items: stretch;

        background-color: transparent;

        border: 0;
        box-shadow: none;

        overflow: visible;
        cursor: pointer;
        transition: transform 0.25s ease;

        .process_number {
            width: 30px;
            flex: 0 0 30px;

            height: 100%;

            display: flex;
            align-items: flex-start;
            justify-content: center;

            padding-top: 14px;

            margin-inline-end: 7px;

            border-radius: 14px;

            background-color: #fff;

            border: 1px solid rgba(20, 80, 138, 0.04);

            box-shadow: 0 10px 35px rgba(20, 80, 138, 0.04);

            font-size: 8px;
            font-weight: 400;

            color: #9aa5ad;
            transition:
                background-color 0.25s ease,
                border-color 0.25s ease,
                color 0.25s ease;
        }

        .process_card_content {
            flex: 1;

            height: 100%;

            padding: 22px 25px;

            border-radius: 14px;

            background-color: #fff;

            border: 1px solid rgba(20, 80, 138, 0.04);

            box-shadow: 0 10px 35px rgba(20, 80, 138, 0.04);

            transition:
                background-color 0.25s ease,
                border-color 0.25s ease;

            .process_icon {
                width: 65px;
                height: 65px;

                display: flex;
                align-items: center;
                justify-content: center;

                margin-bottom: 20px;

                border-radius: 50%;

                background-color: #f1f9fd;

                img {
                    width: 24px !important;
                    height: 24px !important;

                    filter: var(--filterPrimary);
                }
            }

            h3 {
                color: #333;

                line-height: 1.3;

                margin-bottom: 5px !important;
            }

            p {
                color: #777;

                line-height: 1.5;
            }
        }

        &:hover {
            .process_number {
                background-color: var(--primary);

                border-color: var(--primary);

                color: rgba(255, 255, 255, 0.55);
            }

            .process_card_content {
                background-color: var(--primary);

                border-color: var(--primary);

                .process_icon {
                    background-color: rgba(255, 255, 255, 0.08);

                    img {
                        filter: var(--filterWhite);
                    }
                }

                h3,
                p {
                    color: #fff;
                }

                p {
                    opacity: 0.72;
                }
            }
        }
    }
}

section.process {
    overflow: visible;
}

@media screen and (max-width: 991px) {
    .process {
        .txt_content {
            padding-inline-end: 0;
            margin-bottom: 40px;
            position: static;
            top: auto;
        }
    }
}

@media screen and (max-width: 575px) {
    .process {
        .process_card {
            .process_number {
                width: 28px;
                flex-basis: 28px;

                margin-inline-end: 6px;
            }

            .process_card_content {
                padding: 20px 18px;
            }
        }
    }
}
