.frame {
    background-color: #e9effd;
    border-radius: 12px;
    box-shadow: 0 13.043478965759277px 7.826086521148682px -10.434782981872559px #245bdb14, 0 13.043478965759277px 10.434782981872559px -6.521739482879639px #245bdb0d,
        0 19.565217971801758px 13.043478965759277px -6.521739482879639px #245bdb08;
    padding: 12px;
}

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #why-choose-37 {
        position: relative;
        /* Prevents overflow from the image going off screen */
        overflow: hidden;
    }

    #why-choose-37 .cs-container {
        width: 100%;
        max-width: 80rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 7vw, 4rem);
    }

    #why-choose-37 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: left;
        width: 100%;
        max-width: 39.375rem;
        margin-right: auto;
        /* moved section padding to the .cs-content so we can have the cs-picture be full width on mobile without the padding preventing it from doing so */
        padding: var(--sectionPadding);
        padding-top: 0;
        /* prevents padding from affecting width and height */
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: flex-start;
        padding: 68px 0;
    }

    #why-choose-37 .cs-topper {
        font-size: var(--topperFontSize);
        line-height: 1.2em;
        text-transform: uppercase;
        text-align: inherit;
        letter-spacing: 0.1em;
        font-weight: 700;
        color: var(--primary);
        margin-bottom: 0.25rem;
        display: block;
    }

    #why-choose-37 .cs-title {
        font-size: var(--headerFontSize);
        font-weight: 900;
        line-height: 1.2em;
        text-align: inherit;
        max-width: 43.75rem;
        margin: 0 0 1rem 0;
        color: var(--headerColor);
        position: relative;
    }

    #why-choose-37 .cs-text {
        font-size: var(--bodyFontSize);
        line-height: 1.5em;
        text-align: inherit;
        width: 100%;
        max-width: 40.625rem;
        margin: 0;
        color: var(--bodyTextColor);
    }

    #why-choose-37 .cs-text {
        margin-bottom: 1rem;
    }

    #why-choose-37 .cs-text:last-of-type {
        margin-bottom: 2rem;
    }

    #why-choose-37 .cs-ul {
        padding: 0;
        margin: 0;
    }

    #why-choose-37 .cs-li {
        list-style: none;
        font-size: 1.25rem;
        line-height: 1.5em;
        font-weight: 700;
        margin-bottom: 0.5rem;
        color: #1a1a1a;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    #why-choose-37 .cs-icon {
        margin-right: 1rem;
    }

    #why-choose-37 .cs-button-solid {
        font-size: 1rem;
        /* 46px - 56px */
        line-height: clamp(2.875rem, 5.5vw, 3.5rem);
        text-decoration: none;
        font-weight: 700;
        text-align: center;
        margin: 0;
        color: #fff;
        min-width: 9.375rem;
        padding: 0 1.5rem;
        background-color: var(--primary);
        border-radius: 0.25rem;
        display: inline-block;
        position: relative;
        z-index: 1;
        /* prevents padding from adding to the width */
        box-sizing: border-box;
    }

    #why-choose-37 .cs-button-solid:before {
        content: '';
        position: absolute;
        height: 100%;
        width: 0%;
        background: #000;
        opacity: 1;
        top: 0;
        left: 0;
        z-index: -1;
        border-radius: 0.25rem;
        transition: width 0.3s;
    }

    #why-choose-37 .cs-button-solid:hover:before {
        width: 100%;
    }

    #why-choose-37 .cs-button-solid {
        /* button override */
        margin-top: 2rem;
    }

    #why-choose-37 .cs-picture {
        display: block;
        position: relative;
        width: 100%;
        height: 18.75rem;
    }

    #why-choose-37 .cs-picture img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        /* makes it act like a background image */
        object-fit: cover;
    }
}

/* In Between - 650px */
@media only screen and (min-width: 40.625rem) {
    #why-choose-37 .cs-ul {
        columns: 2;
        max-width: 34.375rem;
    }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #why-choose-37 {
        /* moved padding pack to the section container */
        padding: var(--sectionPadding);
    }

    #why-choose-37 .cs-content {
        width: 60%;
    }

    #why-choose-37 .cs-picture {
        height: 100%;
        width: 50%;
        left: 50%;
        right: auto;
        display: block;
        position: absolute;
        bottom: 0;
        z-index: 1;
    }

    #why-choose-37 .cs-picture:before {
        /* Triangle over image */
        content: '';
        width: 12.875rem;
        background: #ebeaf1;
        /* makes the triangle shape over the image */
        clip-path: polygon(0 0, 73% 0, 42% 100%, 0 100%);
        opacity: 1;
        display: block;
        position: absolute;
        top: -0.125rem;
        bottom: -0.125rem;
        left: -0.125rem;
        right: auto;
        z-index: 10;
    }

    #why-choose-37 .cs-picture img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
}

/* Desktop - 1200px */
@media only screen and (min-width: 75rem) {
    #why-choose-37 .cs-picture:before {
        width: 12.75rem;
        -webkit-clip-path: polygon(0 0, 100% 0, 1% 100%, 0 100%);
        clip-path: polygon(0 0, 100% 0, 1% 100%, 0 100%);
    }
}

/*-- -------------------------- -->
<---        Side By Side        -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #RPsbs-1587,
    #RPsbsr-1587 {
        padding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
        position: relative;
        z-index: 1;
    }

    #RPsbs-1587 .cs-container,
    #RPsbsr-1587 .cs-container {
        width: 100%;
        /* changes to 1280px at tablet */
        max-width: 36.5rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(2.5rem, 6vw, 4rem);
    }

    #RPsbs-1587 .cs-picture,
    #RPsbsr-1587 .cs-picture {
        width: 100%;
        height: clamp(25rem, 80vw, 47rem);
        display: block;
        position: relative;
    }

    #RPsbs-1587 .cs-picture img,
    #RPsbsr-1587 .cs-picture img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        object-fit: cover;
    }

    #RPsbs-1587 .cs-content,
    #RPsbsr-1587 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: left;
        width: 100%;
        max-width: 39.375rem;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: flex-start;
        justify-content: center;
    }

    #RPsbs-1587 .cs-title,
    #RPsbsr-1587 .cs-title {
        /* 26 characters wide including spaces */
        max-width: 26ch;
        margin: 0;
    }

    #RPsbs-1587 .cs-card-group,
    #RPsbsr-1587 .cs-card-group {
        width: 100%;
        /* 550px - 630px */
        max-width: clamp(34.375rem, 50vw, 39.375rem);
        padding: 0;
        /* 24px - 40px */
        margin: clamp(1.5rem, 4vw, 2.5rem) 0 clamp(1.75rem, 4vw, 2.5rem) 0;
        display: grid;
        align-items: center;
        gap: clamp(1rem, 4vw, 2.5rem);
    }

    #RPsbs-1587 .cs-item,
    #RPsbsr-1587 .cs-item {
        list-style: none;
        /* prevents padding from affecting height and width */
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }

    #RPsbs-1587 .wrapper,
    #RPsbsr-1587 .wrapper {
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 0.625rem;
    }

    #RPsbs-1587 .cs-item-number,
    #RPsbsr-1587 .cs-item-number {
        font-size: 1.25rem;
        line-height: 1.2em;
        font-weight: 700;
        margin: 0;
        color: #ff6a3e;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 0.5rem;
    }

    #RPsbs-1587 .cs-h3,
    #RPsbsr-1587 .cs-h3 {
        font-size: 1.2rem;
        line-height: 1.2em;
        font-weight: 700;
        margin: 0;
        color: #1a1a1a;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 0.5rem;
    }

    #RPsbs-1587 .cs-item-text,
    #RPsbsr-1587 .cs-item-text {
        font-size: 0.875rem;
        line-height: 1.5em;
        margin: 0;
        color: #4e4b66;
    }

    #RPsbs-1587 .cs-button-solid,
    #RPsbsr-1587 .cs-button-solid {
        font-size: 1rem;
        line-height: 3.5em;
        text-decoration: none;
        font-weight: 700;
        overflow: hidden;
        width: auto;
        margin: 0;
        color: #fff;
        padding: 0 3rem;
        background-color: #ff6a3e;
        display: inline-block;
        position: relative;
        z-index: 1;
        transition: color 0.3s;
    }

    #RPsbs-1587 .cs-button-solid:before,
    #RPsbsr-1587 .cs-button-solid:before {
        content: '';
        position: absolute;
        display: block;
        height: 100%;
        width: 0%;
        background: #1a1a1a;
        opacity: 1;
        top: 0;
        left: 0;
        z-index: -1;
        transition: width 0.3s;
    }

    #RPsbs-1587 .cs-button-solid:hover,
    #RPsbsr-1587 .cs-button-solid:hover {
        color: #ff6a3e;
    }

    #RPsbs-1587 .cs-button-solid:hover:before,
    #RPsbsr-1587 .cs-button-solid:hover:before {
        width: 100%;
    }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #RPsbs-1587 .cs-container,
    #RPsbsr-1587 .cs-container {
        max-width: 80rem;
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
    }

    #RPsbs-1587 .cs-content,
    #RPsbsr-1587 .cs-content {
        width: 50%;
        max-width: 39.375rem;
        /* prevents flexbox from squishing it */
        flex: none;
    }

    #RPsbs-1587 .cs-card-group,
    #RPsbsr-1587 .cs-card-group {
        grid-template-columns: repeat(12, 1fr);
    }

    #RPsbs-1587 .cs-item,
    #RPsbsr-1587 .cs-item {
        grid-column: span 6;
    }

    #RPsbs-1587 .cs-picture,
    #RPsbsr-1587 .cs-picture {
        height: auto;
        min-height: 32.8125rem;
    }
}

/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #RPsbs-1587 .cs-content,
    #RPsbsr-1587 .cs-content {
        padding: 5.25rem 0;
        align-self: center;
    }
}

/*-- -------------------------- -->
<---   Side By Side Reverse     -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #RPsbsr-1587 {
        background-color: #f7f7f7;
    }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #RPsbsr-1587 .cs-picture {
        order: 2;
    }
}

/*-- -------------------------- -->
<---          Reviews           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #reviews-1611 {
        padding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
        position: relative;
        z-index: 2;
    }

    #reviews-1611 .cs-container {
        width: 100%;
        /* changes to 1280px at tablet */
        max-width: 36.5rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
        position: relative;
        z-index: 1;
    }

    #reviews-1611 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: left;
        width: 100%;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: flex-start;
    }

    #reviews-1611 .cs-title,
    #reviews-1611 .cs-text {
        color: #fafbfc;
    }

    #reviews-1611 .cs-text {
        /* 24px - 32px */
        margin-bottom: clamp(1.5rem, 3vw, 2rem);
    }

    #reviews-1611 .cs-picture {
        width: 100%;
        /* changes at desktop */
        height: 17.5rem;
        display: block;
        position: relative;
        z-index: 1;
        display: none;
    }

    #reviews-1611 .cs-picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
    }

    #reviews-1611 .cs-flex-group {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 0.75rem;
    }

    #reviews-1611 .cs-profile-wrapper {
        width: 3.25rem;
        height: 3.25rem;
        border-radius: 50%;
        /* clips image corners to make circle */
        overflow: hidden;
        position: relative;
        display: block;
    }

    #reviews-1611 .cs-profile-wrapper img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        /* makes the image behave like a background image */
        object-fit: cover;
    }

    #reviews-1611 .cs-name {
        font-size: 1.25rem;
        line-height: 1.2em;
        font-weight: 700;
        margin: 0;
        /* in case one card has more text than the other, this pushes up against the review text so the name and title are always at the bottom. Only works if parent is a flexbox */
        margin-top: auto;
        color: #fafbfc;
        display: block;
    }

    #reviews-1611 .cs-job {
        font-size: 1rem;
        line-height: 1.5em;
        font-weight: 400;
        margin: 0;
        color: #ff6a3e;
        display: block;
    }

    #reviews-1611 .cs-quotes {
        --quoteColor: #ff6a3e;
        /* 80px - 180px */
        width: clamp(5rem, 13vw, 11.25rem);
        height: auto;
        position: absolute;
        bottom: 0;
        right: 6%;
    }

    #reviews-1611 .cs-background {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }

    #reviews-1611 .cs-background:before {
        /* black overlay */
        content: '';
        width: 100%;
        height: 100%;
        background: #00000087;
        opacity: 0.9;
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        z-index: 1;
    }

    #reviews-1611 .cs-background img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #reviews-1611 .cs-container {
        max-width: 80rem;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
    }

    #reviews-1611 .cs-content {
        width: 60%;
        flex: none;
    }

    #reviews-1611 .cs-picture {
        width: 50%;
        max-width: 25.8125rem;
        height: auto;
        margin-bottom: calc(clamp(7.5rem, 14vw, 11rem) * -1);
        display: block;
    }
}

/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #reviews-1611 .cs-content {
        margin-bottom: 2.5rem;
    }

    #reviews-1611 .cs-picture {
        /* 480px - 516px */
        min-height: clamp(30rem, 40vw, 32.25rem);
        /* -120px to -176px */
        margin-bottom: calc(clamp(7.5rem, 14vw, 11rem) * -1);
        display: block;
    }
}

.cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    margin: 0;
    color: #fff;
    min-width: 9.375rem;
    padding: 0 1.5rem;
    background-color: #ffba43;
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
}

.cs-button-solid:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 0%;
    background: #000;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
}

.cs-button-solid:hover:before {
    width: 100%;
}

.uc-footer {
    z-index: 2;
}