label.invalid {
    top: 50px !important;
    font-size: 12.8px;
    font-size: .8rem;
    font-weight: 500;
    color: #f00 !important
}

    label.invalid.active {
        -webkit-transform: translateY(0%) !important;
        transform: translateY(0%) !important
    }

ul.stepper .wait-feedback {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center
}

ul.stepper .step {
    position: relative;
    list-style: none
}

    ul.stepper .step.feedbacking .step-new-content > *:not(.wait-feedback) {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
        opacity: .1
    }

    ul.stepper .step:not(:last-of-type).active {
        margin-bottom: 2.25rem
    }

    ul.stepper .step:before {
        position: absolute;
        top: .75rem;
        width: 1.75rem;
        height: 1.75rem;
        font-weight: 400;
        line-height: 1.75rem;
        color: #fff;
        text-align: center;
        content: counter(section);
        counter-increment: section;
        background-color: rgba(0,0,0,0.3);
        border-radius: 100%
    }

    ul.stepper .step.active:before {
        background-color: #4285f4
    }

    ul.stepper .step.done:before {
        font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", sans-serif;
        font-size: 1rem;
        font-weight: 900;
        content: "\f00c";
        background-color: #00c851
    }

    ul.stepper .step.wrong:before {
        font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", sans-serif;
        font-size: 1.1rem;
        font-weight: 900;
        content: "\f071";
        background-color: #ff3547
    }

ul.stepper > li:not(:last-of-type) {
    margin-bottom: .625rem;
    -webkit-transition: margin-bottom .4s;
    transition: margin-bottom .4s
}

ul.stepper .step-title {
    display: block;
    padding: .9688rem 2.75rem 1.5rem 4rem;
    margin: 0 -1.3rem;
    cursor: pointer
}

    ul.stepper .step-title:after {
        position: absolute;
        display: block;
        font-size: .8rem;
        font-weight: 400;
        color: #424242;
        content: attr(data-step-label)
    }

    ul.stepper .step-title:hover {
        background-color: rgba(0,0,0,0.06)
    }

ul.stepper .step.active .step-title {
    font-weight: 500
}

ul.stepper .step-new-content {
    position: relative;
    display: none;
    width: inherit;
    height: calc(100% - 132px);
    margin-right: 24px;
    margin-left: 41px;
    overflow: visible
}

ul.stepper > .step:not(:last-of-type):after {
    position: absolute;
    top: 3.125rem;
    left: .8438rem;
    width: .0625rem;
    height: 40%;
    height: calc(100% - 38px);
    content: "";
    background-color: rgba(0,0,0,0.1);
    -webkit-transition: all .4s;
    transition: all .4s
}

ul.stepper > .step.active:not(:last-child):after {
    height: 93%;
    height: calc(100% - 12px)
}

ul.stepper > .step[data-last="true"] {
    margin-bottom: 0
}

    ul.stepper > .step[data-last="true"]:after {
        width: 0;
        height: 0
    }

ul.stepper .step-actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start
}

    ul.stepper .step-actions .btn:not(:last-child), ul.stepper .step-actions .btn-flat:not(:last-child), ul.stepper .step-actions .btn-large:not(:last-child) {
        margin-right: .3125rem
    }

ul.stepper .step-new-content .row {
    margin-bottom: .4375rem
}

ul.stepper .md-form label {
    left: .875rem
}

ul.stepper .md-form .validate {
    margin-bottom: 0
}

@media only screen and (min-width: 993px) {
    ul.stepper.horizontal {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        min-height: 20rem;
        padding-right: 1.5rem;
        padding-left: 1.5rem;
        margin-right: -1.5rem;
        margin-left: -1.5rem;
        overflow: hidden
    }

        ul.stepper.horizontal:before {
            position: absolute;
            left: -3px;
            width: 100%;
            min-height: 5.25rem;
            content: "";
            background-color: transparent;
            border-top-left-radius: 2px
        }

        ul.stepper.horizontal:first-child {
            margin-top: -2.7rem
        }

        ul.stepper.horizontal .step {
            position: static;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            width: 100%;
            height: 5.25rem !important;
            margin: 0
        }

            ul.stepper.horizontal .step:not(:last-of-type):after {
                position: static;
                display: inline-block;
                width: 100%;
                height: .0625rem;
                content: ""
            }

            ul.stepper.horizontal .step.active .step-title:before {
                background-color: #4285f4
            }

            ul.stepper.horizontal .step.done .step-title:before {
                font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", sans-serif;
                font-size: 1rem;
                font-weight: 900;
                content: "\f00c";
                background: #00c851
            }

            ul.stepper.horizontal .step.wrong .step-title:before {
                font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", sans-serif;
                font-size: 1.1rem;
                font-weight: 900;
                content: "\f071";
                background-color: #ff3547
            }

            ul.stepper.horizontal .step:before {
                content: none
            }

            ul.stepper.horizontal .step .step-title:before {
                position: absolute;
                top: 1.7813rem;
                left: 1.1875rem;
                width: 1.75rem;
                height: 1.75rem;
                font-weight: 400;
                line-height: 1.75rem;
                color: #fff;
                text-align: center;
                content: counter(section);
                counter-increment: section;
                background-color: rgba(0,0,0,0.3);
                border-radius: 100%
            }

        ul.stepper.horizontal > .step:last-of-type, ul.stepper.horizontal > .step[data-last="true"] {
            width: auto !important
        }

        ul.stepper.horizontal > .step.active:not(:last-of-type):after {
            position: static;
            display: inline-block;
            width: 100%;
            height: .0625rem;
            content: ""
        }

        ul.stepper.horizontal .step-title {
            display: inline-block;
            flex-shrink: 0;
            max-width: 13.75rem;
            height: 5.25rem;
            padding: 0 1.5625rem 0 4.0625rem;
            margin: 0;
            overflow: hidden;
            line-height: 5.25rem;
            text-overflow: ellipsis;
            white-space: nowrap;
            -ms-flex-negative: 0
        }

            ul.stepper.horizontal .step-title:after {
                top: .9375rem
            }

        ul.stepper.horizontal .step-new-content {
            position: absolute;
            top: 6rem;
            left: 0;
            width: 100%;
            height: calc(100% - 84px);
            padding: 1.25rem 1.25rem 4.75rem 1.25rem;
            margin: 0;
            overflow-x: hidden;
            overflow-y: auto
        }

        ul.stepper.horizontal .step-actions {
            position: absolute;
            bottom: 0;
            left: 0;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
            width: 100%;
            padding: 20px
        }

            ul.stepper.horizontal .step-actions .btn:not(:last-child), ul.stepper.horizontal .step-actions .btn-flat:not(:last-child), ul.stepper.horizontal .step-actions .btn-large:not(:last-child) {
                margin-right: 0;
                margin-left: .3125rem
            }

        ul.stepper.horizontal .step-new-content, ul.stepper.horizontal .step-actions {
            padding-right: 2.5rem;
            padding-left: 2.5rem
        }
}
