section.banner {
    &.max {
        height: 500px;
        .headline {
            h2 {
                font-size: 48px;
                max-width: unset;
            }
        }
    }
}
section.cell {
    margin: 0;
    > section {
        margin: 0;
        border-bottom: 1px dashed var(--light-gray);
        h2 {
            font-size: 36px;
        }
        .btn {
            margin-bottom: 0;
            margin-top: auto;
            width: 280px;
        }
        .wrapper {
            display: grid;
            .item {
                padding: 50px 0;
                display: flex;
                flex-direction: column;
                p {
                    color: #999;
                    margin-bottom: 10px;
                    &:last-child {
                        margin-bottom: 0;
                    }
                    * {
                        color: #999;
                    }
                }
                ul {
                    margin-bottom: 10px;
                    list-style: none;
                    * {
                        color: #999;
                    }
                    li {
                        position: relative;
                        padding-left: 20px;
                        line-height: 25px;
                        &::before {
                            content: '';
                            width: 10px;
                            height: 1px;
                            position: absolute;
                            background: var(--blue);
                            left: 0;
                            top: 12px;
                        }
                    }
                    &:last-child {
                        margin-bottom: 0;
                    }
                }
            }
            .item:nth-child(1) {
                padding-right: 80px;
                position: relative;
                border-right: 1px dashed var(--light-gray);
            }
            .item:nth-child(2) {
                padding-left: 80px;
            }
        }
        &.left {
            .wrapper {
                grid-template-columns: 35% 65%;
            }
        }
        &.right {
            .wrapper {
                grid-template-columns: 65% 35%;
            }
        }
    }
}
section.progress {
    display: grid;
    grid-template-columns: 40% 1fr;
    min-height: 800px;
    margin-bottom: 100px;
    > div {
        display: flex;
        flex-direction: column;
        height: 100%;
        h2, .desc {
            max-width: 500px;
        }
        .btn {
            width: 280px;
        }
        .bar {
            height: 100%;
            margin: 60px 0;
            .progress {
                height: 100%;
                width: 1px;
                background: var(--dark);
                position: relative;
                .indicator {
                    position: absolute;
                    top: 0;
                    left: -10px;
                    /* transition: 2s linear; */
                    transition: top 0.3s cubic-bezier(0.25, 1, 0.5, 1);
                    width: 80px;
                    display: flex;
                    align-items: center;
                    .ball {
                        width: 20px;
                        min-width: 20px;
                        height: 20px;
                        display: flex;
                        border-radius: 50%;
                        background: var(--white);
                        border: 1px solid var(--dark);
                    }
                    .num {
                        margin-left: auto;
                        margin-right: 0;
                        font-weight: 500;
                    }
                }
            }
        }
    }
    .left {
        height: 700px;
        position: sticky;
        top: 20px;
    }
    .right {
        .items {
            display: flex;
            flex-direction: column;
            .item {
                margin-bottom: 20px;
                padding: 40px;
                border-radius: 10px;
                background: var(--white);
                border: 1px solid var(--dark);
                position: relative;
                min-height: 240px;
                display: flex;
                flex-direction: column;
                justify-content: center;
                span {
                    font-weight: 600;
                    position: absolute;
                    right: 20px;
                    top: 0;
                    font-size: 60px;
                    color: var(--dark);
                    opacity: .5;
                    font-family: var(--font-main);
                }
                h3 {
                    color: var(--dark);
                    font-size: 22px;
                    margin-bottom: 20px;
                    font-family: var(--font-main);
                }
                p {
                    color: var(--light-gray);
                    width: 60%;
                    b {
                        font-weight: 600;
                    }
                }
                &:last-child {
                    margin-bottom: 0;
                }
            }
        }
    }
}
@media screen and (max-width: 1439px) {
    section.cell {
        > section {
            h2 {
                font-size: 28px;
            }
        }
    }
    section.progress {
        gap: 20px;
        grid-template-columns: 45% 1fr;
    }
}
@media screen and (max-width: 1279px) {
    section.cell {
        > section {
            &.left, &.right {
                .wrapper {
                    display: flex;
                    flex-direction: column;
                    padding: 60px 40px;
                    border-left: 1px dashed var(--light-gray);
                    border-right: 1px dashed var(--light-gray);
                    .item {
                        border: none;
                        padding: 0;
                        h2 {
                            margin-bottom: 20px;
                        }
                        .btn {
                            width: 240px;
                            font-size: 15px;
                        }
                    }
                }
            }
            &.left {
                .wrapper {
                    .item {
                        &:nth-child(1) {
                            margin-bottom: 40px;
                        }
                    }
                }
            }
            &.right {
                .wrapper {
                    display: flex;
                    flex-direction: column-reverse;
                    .item {
                        &:nth-child(2) {
                            margin-bottom: 40px;
                        }
                    }
                }
            }
        }
    }
    section.progress {
        gap: 20px;
        grid-template-columns: 45% 1fr;
        .right {
            .items {
                .item {
                    padding: 30px;
                    span {
                        font-size: 48px;
                    }
                    h3 {
                        width: 80%;
                        font-size: 18px;
                    }
                    p {
                        width: 100%;
                        font-size: 15px;
                    }
                }
            }
        }
    }
    section.banner {
        &.max {
            .headline {
                h2 {
                    font-size: 32px;
                }
            }
        }
    }
}
@media screen and (max-width: 767px) {
    section.progress {
        grid-template-columns: 1fr;
        > div {
            .bar {
                .progress {
                    .indicator {
                        width: 42px;
                    }
                }
            }
        }
        .right {
            padding-left: 40px;
            padding-bottom: 100px;
            .items {
                .item {
                    padding: 20px;
                }
            }
        }
    }
    section.banner {
        &.max {
            height: auto;
            .headline {
                margin-top: 40px;
                h2 {
                    font-size: 24px;
                }
            }
        }
    }
    section.cell {
        > section {
            &.left, &.right {
                .wrapper {
                    padding: 60px 20px;
                    .item {
                        .btn {
                            &::after {
                                margin-left: auto;
                                margin-right: 0;
                            }
                        }
                    }
                }
            }
        }
    }
}