
.steps {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    margin: 1em 0;
    line-height: 1.1em;
    border-radius: .25rem;
    border: 1px solid rgba(34,36,38,.15);
    width: 100%;
}

.steps .step {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    vertical-align: middle;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 0;
    padding: 1em 2em;
    background: #fff;
    color: rgba(0,0,0,.87);
    box-shadow: none;
    border-radius: 0;
    border: none;
    border-right: 1px solid rgba(34,36,38,.15);
    -webkit-transition: background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease;
    transition: background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease
}

.steps .step:after {
    display: none;
    position: absolute;
    z-index: 2;
    content: '';
    top: 50%;
    right: 0;
    border: medium none;
    background-color: #fff;
    width: 1.1em;
    height: 1.1em;
    border-style: solid;
    border-color: rgba(34,36,38,.15);
    border-width: 0 1px 1px 0;
    -webkit-transition: background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease;
    transition: background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease;
    -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);
    transform: translateY(-50%) translateX(50%) rotate(-45deg)
}
.rtl .steps .step:after{
	right: inherit;
	left: -1.1em;
	border-width: 1px 0 0 1px;
}

.ltr .steps .step:first-child {
    padding-left: 2em;
    border-radius: .25rem 0 0 .25rem
}
.rtl .steps .step:first-child {
    padding-right: 2em;
    border-radius: .25rem 0 0 .25rem
}

.ltr .steps .step:last-child {
    border-radius: 0 .25rem .25rem 0;
    border-right: none;
    margin-right: 0;
}
.rtl .steps .step:last-child {
    border-radius: .25rem 0 0 .25rem;
    border-left: none;
    margin-left: 0;
}

.steps .step:only-child {
    border-radius: .25rem
}

.steps .step .title {
    font-size: 1.1em;
    font-weight: 700
}

.steps .step>.title {
    width: 100%
}

.steps .step .description {
    font-weight: 400;
    font-size: .9em;
    color: rgba(0,0,0,.87)
}

.steps .step>.description {
    width: 100%
}

.steps .step .title~.description {
    margin-top: .25em
}

.steps .step>[class^="sf-"] {
    line-height: 1;
    font-size: 2.5em;
    margin: 0 1rem;
}

.steps .step>[class^="sf-"],.steps .step>[class^="sf-"]~.content {
    display: block;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -ms-flex-item-align: middle;
    -ms-grid-row-align: middle;
    align-self: middle
}


.steps:not(.vertical) .step>[class^="sf-"] {
    width: auto
}


.ordered.steps {
    counter-reset: ordered
}

.ordered.steps .step:before {
    display: block;
    position: static;
    text-align: center;
    content: counters(ordered, ".");
    -ms-flex-item-align: middle;
    -ms-grid-row-align: middle;
    align-self: middle;
    margin: 0 1rem;
    font-size: 2.5em;
    counter-increment: ordered;
    font-weight: 700
}

.ordered.steps .step>* {
    display: block;
    -ms-flex-item-align: middle;
    -ms-grid-row-align: middle;
    align-self: middle
}

.vertical.steps {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    overflow: visible
}

.vertical.steps .step {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    border-radius: 0;
    padding: 1.1em 2em;
    border-right: none;
    border-bottom: 1px solid rgba(34,36,38,.15)
}

.vertical.steps .step:first-child {
    padding: 1.1em 2em;
    border-radius: .25rem .25rem 0 0
}

.vertical.steps .step:last-child {
    border-bottom: none;
    border-radius: 0 0 .25rem .25rem
}

.vertical.steps .step:only-child {
    border-radius: .25rem
}

.vertical.steps .step:after {
    display: none
}

.vertical.steps .step:after {
    top: 50%;
    right: 0;
    border-width: 0 1px 1px 0
}

.vertical.steps .step:after {
    display: none
}

.vertical.steps .active.step:after {
    display: block
}

.vertical.steps .step:last-child:after {
    display: none
}

.vertical.steps .active.step:last-child:after {
    display: block
}

@media only screen and (max-width: 767px) {
    .steps:not(.unstackable) {
        display:-webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        overflow: visible;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .steps:not(.unstackable) .step {
        width: 100%!important;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        border-radius: 0;
        padding: 1.1em 2em
    }

    .steps:not(.unstackable) .step:first-child {
        padding: 1.1em 2em;
        border-radius: .25rem .25rem 0 0
    }

    .steps:not(.unstackable) .step:last-child {
        border-radius: 0 0 .25rem .25rem
    }

    .steps:not(.unstackable) .step:after {
        display: none!important
    }

    .steps:not(.unstackable) .step .content {
        text-align: center
    }

    .ordered.steps:not(.unstackable) .step:before,.steps:not(.unstackable) .step>[class^="sf-"] {
        margin: 0 0 1rem 0
    }
}

.steps .link.step:hover,.steps .link.step:hover::after,.steps a.step:hover,.steps a.step:hover::after {
    background: #f9fafb;
    color: rgba(0,0,0,.8)
}

.steps .link.step:active,.steps .link.step:active::after,.steps a.step:active,.steps a.step:active::after {
    background: #f3f4f5;
    color: rgba(0,0,0,.9)
}

.steps .step.active {
    cursor: auto;
    background: #f3f4f5
}

.steps .step.active:after {
    background: #f3f4f5
}

.steps .step.active .title {
    color: #4183c4
}

.ordered.steps .step.active:before,.steps .active.step [class^="sf-"] {
    color: rgba(0,0,0,.85)
}

.steps .step:after {
    display: block
}

.steps .active.step:after {
    display: block
}

.steps .step:last-child:after {
    display: none
}

.steps .active.step:last-child:after {
    display: none
}

.steps .link.active.step:hover,.steps .link.active.step:hover::after,.steps a.active.step:hover,.steps a.active.step:hover::after {
    cursor: pointer;
    background: #dcddde;
    color: rgba(0,0,0,.87)
}

.ordered.steps .step.completed:before,.steps .step.completed>[class^="sf-"]:before {
    color: #21ba45
}

.steps .disabled.step {
    cursor: auto;
    background: #fff;
    pointer-events: none
}

.steps .disabled.step,.steps .disabled.step .description,.steps .disabled.step .title {
    color: rgba(40,40,40,.3)
}

.steps .disabled.step:after {
    background: #fff
}

@media only screen and (max-width: 991px) {
    .ui[class*="tablet stackable"].steps {
        display:-webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        overflow: visible;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .ui[class*="tablet stackable"].steps .step {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        border-radius: 0;
        padding: 1.1em 2em
    }

    .ui[class*="tablet stackable"].steps .step:first-child {
        padding: 1.1em 2em;
        border-radius: .25rem .25rem 0 0
    }

    .ui[class*="tablet stackable"].steps .step:last-child {
        border-radius: 0 0 .25rem .25rem
    }

    .ui[class*="tablet stackable"].steps .step:after {
        display: none!important
    }

    .ui[class*="tablet stackable"].steps .step .content {
        text-align: center
    }

    .ui[class*="tablet stackable"].ordered.steps .step:before,.ui[class*="tablet stackable"].steps .step>[class^="sf-"] {
        margin: 0 0 1rem 0
    }
}

.fluid.steps {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%
}

.attached.steps {
    width: calc(100% + 2px)!important;
    margin: 0 -1px 0;
    max-width: calc(100% + 2px);
    border-radius: .25rem .25rem 0 0
}

.attached.steps .step:first-child {
    border-radius: .25rem 0 0 0
}

.attached.steps .step:last-child {
    border-radius: 0 .25rem 0 0
}

.bottom.attached.steps {
    margin: 0 -1px 0;
    border-radius: 0 0 .25rem .25rem
}

.bottom.attached.steps .step:first-child {
    border-radius: 0 0 0 .25rem
}

.bottom.attached.steps .step:last-child {
    border-radius: 0 0 .25rem 0
}

.eight.steps,.five.steps,.four.steps,.one.steps,.seven.steps,.six.steps,.three.steps,.two.steps {
    width: 100%
}

.eight.steps>.step,.five.steps>.step,.four.steps>.step,.one.steps>.step,.seven.steps>.step,.six.steps>.step,.three.steps>.step,.two.steps>.step {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}



