.review {
    position: relative
}

@media screen and (min-width:768px) {
    .review {
        align-items: center;
        display: flex
    }
}

.review:before {
    border: .0625rem solid hsla(0, 0%, 89%, .4);
    border-bottom: 0;
    bottom: 0;
    content: "";
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 6.25rem
}

@media screen and (min-width:768px) {
    .review:before {
        border-bottom: .0625rem solid hsla(0, 0%, 89%, .4);
        border-top: 0;
        left: 9.5vw;
        top: 0
    }
}

.review__border {
    align-items: center;
    display: flex;
    left: 0;
    position: absolute;
    right: 0;
    top: 100%;
    transform: translateY(-50%)
}

.review__border:after,
.review__border:before {
    border-bottom: .0625rem solid hsla(0, 0%, 89%, .4);
    bottom: 0;
    content: "";
    flex-grow: 1;
    height: .0625rem;
    z-index: -1
}

.review__border:after {
    right: 0
}

@media screen and (min-width:768px) {
    .review__border {
        left: 9.5vw;
        top: 0
    }
}

.review__border-icon {
    height: 2.5rem;
    width: 5rem
}

@media screen and (min-width:768px) {
    .review__border-icon {
        height: 3.125rem;
        margin: 0 3.125rem;
        width: 5rem
    }
}

.review__img {
    border-radius: 50%;
    margin: 0 auto;
    max-width: 100%;
    width: 12.5rem
}

@media screen and (min-width:768px) {
    .review__img {
        margin: 2.5rem 0;
        width: 23.6875rem
    }
}

.review__content {
    padding: 1.25rem 1.5rem 3.125rem
}

@media screen and (min-width:768px) {
    .review__content {
        padding: 2.5rem 7%
    }
}

.review__content-quote {
    font-size: 1rem;
    line-height: 1.5625;
    margin-bottom: 0
}

@media screen and (min-width:768px) {
    .review__content-quote {
        font-size: 1.75rem;
        line-height: 2.5rem
    }
}

.review__content-info {
    margin-top: .875rem;
    padding-top: .875rem;
    position: relative
}

.review__content-info:before {
    background-color: #e3e3e366;
    content: "";
    height: .0625rem;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translate(-50%);
    width: 1.875rem
}

@media screen and (min-width:768px) {
    .review__content-info {
        margin-left: 5rem;
        margin-top: 2.5rem;
        padding-top: 0
    }

    .review__content-info:before {
        left: -5rem;
        top: .625rem;
        transform: translateY(50%);
        width: 2.8125rem
    }
}

.review__content-author {
    font-size: .875rem;
    letter-spacing: .125rem
}

@media screen and (min-width:768px) {
    .review__content-author {
        font-size: 1.25rem;
        letter-spacing: .1875rem
    }
}

@media screen and (min-width:768px) and (min-width:768px) {
    .review--text-only:before {
        left: 0
    }
}

@media screen and (min-width:768px) {
    .review--text-only .review__border {
        left: 0
    }
}