.review-quote {
    border: 3px solid var(--above-title-color);
    border-radius: 15px;
    padding: 40px 40px 20px;
    position: relative;
    border-bottom-right-radius: 0;
    border-end-end-radius: 0;
}

.review-quote .icon-commas {
    position: absolute;
    top: -30px;
    left: -12px;
    transform: rotate(180deg);
    text-align: left;
}

.review-quote:before,
.review-quote:after {
    content: '';
    background: #fff;
    position: absolute;
}

.review-quote:before {
    width: 150px;
    height: 3px;
    top: -3px;
    left: 0;
}

.review-quote:after {
    height: 70px;
    width: 3px;
    top: 17px;
    left: -3px;
}

.review-quote .icon-commas:before {
    font-size: 46px;
    color: var(--above-title-color);
    background: #fff;
}

.review-quote.has-picture .review-quote-inner {
    display: flex;
    gap: 40px;
    position: relative;
}

.review-quote .review-quote-inner:before {
    content: '';
    width: 30%;
    height: 3px;
    background: #fff;
    position: absolute;
    bottom: -23px;
    right: -43px;
}

.review-quote .review-quote-inner:after {
    content: '';
    height: 60px;
    width: 3px;
    background: #fff;
    position: absolute;
    bottom: -21px;
    right: -43px;
}

.review-quote .name {
    font-weight: 700;
    font-size: 17px;
    text-transform: uppercase;
    margin-bottom: 0;
    line-height: 1.3;
    color: var(--above-title-color);
    text-align: right;
}

.review-quote .position {
    font-weight: 500;
    line-height: 1.3;
    margin-top: 10px;
    text-align: right;
}

.review-quote .text {
    margin-bottom: 30px;
}

.review-quote.has-picture .image {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    overflow: hidden;
    min-width: 200px;
}

.review-quote.has-picture .attributes .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.review-quote.no-picture .review-quote-inner {
    display: grid;
}

@media screen and (max-width: 767px) {

    .review-quote {
        border-top-right-radius: 15px;
        border-bottom-left-radius: 15px;
        padding: 30px 25px 20px;
    }

    .review-quote.has-picture .review-quote-inner {
        flex-wrap: wrap;
        gap: 20px;
    }

    .review-quote.has-picture .attributes {
        width: 100%;
    }

    .review-quote .review-quote-inner:after {
        bottom: -21px;
        right: -28px;
    }
}