.connection {
    .wrapper {
        display: flex;
        gap: 80px;
        position: relative;
    }
    .faq {
        width: calc(60% - 40px);
        padding: 40px 0;
        .headline {
            margin-bottom: 60px;
        }
        .items {
            display: flex;
            flex-direction: column;
            .item {
                position: relative;
                .title {
                    cursor: pointer;
                    padding: 20px 10px;
                    display: flex;
                    justify-content: space-between;
                    gap: 40px;
                    align-items: center;
                    transition: background .1s linear;
                    h3 {
                        display: flex;
                        align-items: center;
                        gap: 20px;
                        font-size: 22px;
                        &::before {
                            content: '•';
                            color: var(--blue);
                        }
                    }
                    span {
                        height: 20px;
                        min-width: 20px;
                        max-width: 20px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        position: relative;
                        &::before, &::after {
                            content: '';
                            position: absolute;
                            background: var(--blue);
                        }
                        &::before {
                            width: 100%;
                            height: 2px;
                            left: 0;
                            top: 50%;
                            transform: translateY(-50%);
                        }
                        &::after {
                            width: 2px;
                            height: 100%;
                            top: 0;
                            left: 50%;
                            transform: translateX(-50%);
                            transition: .3s linear;
                        }
                    }
                }
                .info {
                    max-height: 0;
                    overflow: hidden;
                    opacity: 0;
                    transition: .3s linear;
                    .inner {
                        padding: 10px 20px 20px 35px;
                        p {
                            color: var(--white-70);
                        }
                    }
                }
                &.active {
                    .title {
                        span {
                            &::before, &::after {
                                background: var(--pink);
                            }
                            &::after {
                                opacity: 0;
                                visibility: hidden;
                                transform: translateX(-50%) rotate(90deg);
                            }
                        }
                    }
                    .info {
                        opacity: 1;
                    }
                }
                &::after {
                    content: '';
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    width: 100%;
                    height: 1px;
                    background: var(--white-50);
                }
            }
        }
    }
    .connect {
        width: calc(40% - 40px);
        background: var(--dark-b);
        padding: 40px;
        border-radius: 20px;
        height: fit-content;
        position: sticky;
        top: 20px;
    }
}
@media screen and (max-width: 1720px) {
    .connection {
        .wrapper {
            gap: 60px;
        }
        .faq {
            width: calc(50% - 30px);
            .items {
                .item {
                    .title {
                        h3 {
                            font-size: 18px;
                        }
                    }
                    .info {
                        p {
                            font-size: 14px;
                        }
                    }
                }
            }
        }
        .connect {
            width: calc(50% - 30px);
        }
    }
}
@media screen and (max-width: 1279px) {
    .connection {
        .wrapper {
            flex-direction: column;
            gap: 60px;
        }
        .faq {
            width: 100%;
            .items {
                .item {
                    .title {
                        padding: 20px 0;
                        h3 {
                            font-size: 16px;
                        }
                    }
                    .info {
                        .inner {
                            padding: 10px 0 20px 25px;
                        }
                    }
                }
            }
        }
        .connect {
            width: 100%;
            position: static;
            padding: 40px 30px;
        }
    }
}
@media screen and (hover: hover) {
    .connection {
        .faq {
            .items {
                .item {
                    .title {
                        &:hover {
                            background: rgba(255, 255, 255, .1);
                        }
                    }
                }
            }
        }
    }
}