@import 'elements/_shared';

.d4p-wrap-wizard {
    margin: 60px 40px 20px 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
    align-content: center;

    .d4p-setup-wizard {
        max-width: 920px;

        .d4p-wizard-logo {
            margin: 0 auto;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1em;

            .d4p-wizard-badge {
                line-height: 1;
                border-radius: 3px;

                i {
                    font-size: 6em;
                    line-height: 1;
                }
            }

            .d4p-wizard-title {
                font-size: 2.5em;
                line-height: 1;
                font-weight: 100;
            }
        }

        .d4p-wizard-panels {
            margin: 30px 0 40px;

            .d4p-wizard-step {
                display: inline-block;
                text-align: center;
                position: relative;
                border-bottom: 4px solid gray;
                padding: 0 0 10px;
                line-height: 2;
                font-size: 14px;
                font-weight: 100;
                color: gray;

                &::before {
                    content: "";
                    border: 6px solid gray;
                    border-radius: 0;
                    width: 8px;
                    height: 8px;
                    position: absolute;
                    bottom: 0;
                    left: 50%;
                    margin-left: -10px;
                    margin-bottom: -12px;
                    background: gray;
                }

                &.d4p-wizard-step-done,
                &.d4p-wizard-step-current {
                    border-bottom-color: green;
                    color: green;
                    font-weight: 700;

                    &::before {
                        border-color: green;
                        background-color: green;
                    }
                }

                &.d4p-wizard-step-current {
                    &::before {
                        background-color: white;
                    }
                }
            }
        }

        .d4p-wizard-panel {
            .d4p-wizard-panel-inner {
                display: flex;
                flex-direction: column;
                align-items: stretch;
                justify-content: space-between;
                flex-wrap: nowrap;

                background: #FFF;
                border: 2px solid #DDD;
                border-radius: 0;
                font-size: 16px;
                line-height: 1.7;

                p {
                    margin: 1em 0;
                    font-size: inherit;
                    line-height: 1.7;

                    &:first-child {
                        margin-top: 0;
                    }

                    &:last-child {
                        margin-bottom: 0;
                    }
                }

                .d4p-wizard-panel-header {
                    margin: -1px -1px 0;
                    padding: 20px;
                    background-color: #DDD;
                    color: #000;
                    border-bottom: 1px solid #DDD;
                }

                .d4p-wizard-panel-content {
                    padding: 20px;

                    .d4p-wizard-option-block {
                        margin: 20px 0 0;
                        padding: 20px 0 0;
                        border-top: 1px solid #DDD;

                        &:first-child {
                            margin: 0;
                            padding: 0;
                            border-top: 0;
                        }

                        > p {
                            margin: 0 0 12px;
                            font-weight: bold;
                            line-height: 1.7;
                        }

                        em {
                            font-size: 14px;
                            display: block;
                            margin: 0 0 10px;
                            line-height: 1.7;
                        }

                        ul {
                            list-style: disc;
                            font-size: 14px;
                            line-height: 1.7;
                            margin: 10px 0 10px 20px;
                        }

                        > div {
                            padding: 6px 0 6px 12px;
                            border-left: 6px solid #DDD;
                        }

                        &.d4p-wizard-block-yesno {
                            span {
                                display: inline-block;
                                line-height: 22px;

                                &:first-of-type {
                                    margin-right: 16px;
                                }

                                label {
                                    vertical-align: top;
                                }
                            }
                        }

                        &.d4p-wizard-block-checkboxes {
                            .d4p-setting-checkboxes {
                                .d4p-inside-wrapper {
                                    display: flex;
                                    flex-direction: column;
                                }
                            }
                        }

                        &.d4p-wizard-block-input,
                        &.d4p-wizard-block-select {
                            span {
                                label {
                                    display: block;
                                    margin-bottom: 4px;
                                }
                            }
                        }
                    }

                    .d4p-wizard-connect-wrapper {
                        padding-left: 20px;
                    }
                }

                .d4p-wizard-panel-footer {
                    margin: 0 -1px -1px;
                    padding: 20px;
                    border-top: 1px solid #DDD;
                    text-align: center;
                    background-color: #DDD;
                }
            }
        }
    }
}
