.how_it_works {
    padding: 100px 0;
    box-sizing: border-box;
    background-color: var(--white);
    text-align: center;
}

.hiw_page {
    margin-bottom: 100px;
}

.hiw_wrapper {
    margin: 0 auto;
}

.hiw_wrapper h2 {
    margin: 0 auto;
    width: 700px;
}

.hiw_opening {
    padding: 100px 0;
    box-sizing: border-box;
}

.hiw_opening h1 {
    margin: 0;
    text-transform: uppercase;
}

.hiw_opening_paragraph {
    margin: 30px auto 46px;
    width: 500px;
    text-align: center;
}

.hiw_button {
    margin: 0 auto;
}

#how_it_works {
    position: absolute;
    margin-top: -90px;
}

.how_it_works .subheading {
    margin: 0 auto;
    margin-bottom: 15px;
}

.steps {
    position: relative;
    margin-top: 46px;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.hiw_page_steps {
    margin-top: 0;
}

.step_image,
.steps_text {
	width: calc((100% - 70px) / 2);
}

.step_image {
    opacity: 0;
    transition: 0.3s all ease-in-out;
}

.steps_text {
    display: block;
    cursor: pointer;
}

.step {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    opacity: 0.5;
    transition: 0.3s all ease-in-out;
}

.step_image img {
    width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	border-radius: 15px;
}

.step_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
    border-radius: 5px;
    cursor: pointer;
    box-shadow: 0px 3px 10px #0000000D;
    transition: 0.1s all ease-in-out;
    background-color: var(--hour7-gold);
    text-align: center;
    color: var(--hour7-blue);
}

.step_content {
    width: calc(100% - 71px);
    margin-bottom: 25px;
}

.step:last-of-type .step_content {
    margin-bottom: 0;
}

.step_content h3,
.step_content p {
    margin: 0;
    text-align: left;
}

.step_content h3 {
    margin-top: -10px;
}

.separator {
    height: 30px;
    border-left: 2px solid var(--blue);
    margin-bottom: 25px;
    margin-left: 22px;
}

.separator:last-of-type {
    display: none;
}

.opaque {
    opacity: 1;
    transition: 0.3s all ease-in-out;
}

#step_4 .step_content {
    margin-bottom: 0;
}

@media (max-width: 1100px) {
    .step_image,
    .steps_text {
        width: calc((100% - 46px) / 2);
    }
}

@media (max-width: 990px) {
    .hiw_wrapper h2 {
        width: 100%;
    }

    .hiw_opening_paragraph {
        width: 60%;
    }

    .steps {
        flex-direction: column-reverse;
    }

    .step_image,
    .steps_text {
        width: 100%;
    }

    .step_image {
        margin-top: 46px;
    }

    .steps_text {
        display: flex;
        justify-content: space-between;
        align-items: start;
        flex-wrap: wrap;
    }

    .step {
        opacity: 1;
        flex-direction: column;
        align-items: center;
        width: calc((100% - 46px) / 2);
    }

    .step_content {
        width: 100%;
    }

    .step_content h3,
    .step_content p {
        margin: 10px 0;
        text-align: center;
    }

    .separator {
        display: none;
    }
}

@media (max-width: 700px) {
    .step {
        width: 100%;
    }

    .separator {
        display: block;
        margin: 0 auto 25px;
    }

    .step_content {
        margin-bottom: 10px;
    }

    .hiw_opening_paragraph {
        width: 100%;
    }
}