/* flow */


#flow .section1,
#flow .section2,
#flow .section3,
#flow .section4 {
    padding-left: 50px;
    box-sizing: border-box;
}

.section-padding-border {
    border-top: #CFCFCF 1px solid;
}

/* section1 */

#flow .section1 {
    width: 100%;
    height: auto;
    padding-bottom: 0;
}

#flow .flow-step-black-box {
    width: 100px;
    height: 30px;
    background: #272727;
    font-family: 'EB Garamond', serif;
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.1em;
    text-align: center;
    color: #fff;
    margin: 0 auto 18px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#flow .flow-step-header{
    font-size: 24px;
    letter-spacing: 0.12em;
    line-height: 28px;
    text-align: center;
    margin-bottom: 48px;
}

#flow .flow-step-numbered-header-flex {
    display: flex;
    margin-bottom: 27px;
    align-items: center;
}

#flow .flow-num {
    font-family: 'EB Garamond', serif;
    font-weight: normal;
    font-style: italic;
    font-size: 35px;
    letter-spacing: 0.05em;
    text-align: left;
    color: #a5a5a5;
    margin-right: 23px;
    border-bottom: #a5a5a5 1px solid;
}

#flow .flow-num-text {
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.12em;
    line-height: 39px;
    color: #333;
}

#flow .flow-step-cont p {
    font-size: 14px;
    letter-spacing: 0.12em;
    line-height: 28px;
    margin-bottom: 0;
}

#flow .flow-step-btn {
    width: 340px;
    height: 51px;
    border: 1px solid #272727;
    margin-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    letter-spacing: 0.12em;
    line-height: 28px;
    text-align: right;
    transition: all 300ms ease-in-out;
}

#flow .flow-step-btn:hover {
    opacity: .75;
    width: 350px;
    height: 56px;
    font-size: 15px;
    margin-top: 17.5px;
    margin-left: -5px;

}

#flow .flow-step-btn img {
    margin-left: 11px;
}

#flow .flow-step-flex {
    display: flex;
    justify-content: space-between;
}

#flow .flow-step-image-cont {
    max-width: 307px;
    margin-left: 37px;
}

#flow .flow-step-image-cont,
#flow .flow-step-image-cont img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 767px) {
    #flow .flow-step-header {
        font-size: 18px;
    }
    #flow .flow-num {
        font-size: 24px;
    }
    #flow .flow-num-text {
        font-size: 16px;
    }
}

/* section-padding-border */

#flow .section-padding-border {
    padding-top: 60px;
    padding-bottom: 40px;
}

@media screen and (max-width: 767px) {
    #flow .section1 {
        padding-bottom: 0;
    }
    #flow .section-padding-border {
        padding-bottom: 0;
    }
    #flow .flow-step-flex  {
        flex-direction: column-reverse;
    }
    #flow .flow-step-image-cont{
        margin: 0 auto 20px;
    }
    #flow .flow-step-btn {
        width: 200px;
        height: 45px;
        font-size: 12px;
        letter-spacing: 0.12em;
        line-height: 28px;
        text-align: right;
        transition: all 300ms ease-in-out;
    }
    
    #flow .flow-step-btn:hover {
        opacity: .75;
        width: 210px;
        height: 50px;
        font-size: 13px;
        margin-top: 17.5px;
        margin-left: -5px;
    
    }
}





/* step-bars */

.step-bar,
.step-bar-bullet {
    position: relative;
    margin-bottom: 60px;
}

.step-bar::before {
    content: "";
    position: absolute;
    width: 11px;
    height: 11px;
    background: #000;
    left: -52.5px;
    border-radius: 50%;
    top: 14px;
}

.step-bar::after {
    content: "";
    position: absolute;
    width: 1px;
    height: calc(100% + 50px);
    background: #CFCFCF;
    left: -47.5px;
    top: 25px;
}

.step-bar-bullet::before {
    content: "";
    position: absolute;
    width: 11px;
    height: 11px;
    background: #000;
    left: -52.5px;
    border-radius: 50%;
    top: 14px;
}
