/*************** HERO ********************/
/*****************************************/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #hero-358 {
        margin-top: 8rem;
        /* Centers button */
        text-align: center;
        /* 150px - 350px */
        padding: clamp(9rem, 25.95vw, 21.875rem) 1rem;
        padding-bottom: 0;
        position: relative;
        z-index: 1;
        /* prevents overflow from the lines extending past the screen width */
        overflow: hidden;
    }
    @keyframes floatAnimation {
        0% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-1em);
        }
        100% {
            transform: translateY(0);
        }
    }
    @keyframes floatAnimation2 {
        0% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-1em);
        }
        100% {
            transform: translateY(0);
        }
    }
    #hero-358 .cs-background {
        /* Background Image */
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -2;
    }
    #hero-358 .cs-background:before {
        /* White Color Overlay */
        content: "";
        width: 100%;
        height: 100%;
        background: var(--bodyBGColor);
        opacity: 0.85;
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        z-index: 1;
        /* prevents the cursor from interacting with it */
        pointer-events: none;
    }
    #hero-358 .cs-background img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        /* Makes image act like a background-image */
        object-fit: cover;
        /* places the top of the image at the top of the parent */
        object-position: top;
    }
    #hero-358 .cs-container {
        width: 100%;
        max-width: 80rem;
        margin: auto;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        /* 48px - 64px */
        gap: clamp(3rem, 7vw, 4rem);
    }
    #hero-358 .cs-flex-group {
        max-width: 39.125rem;
        margin: auto;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        flex-wrap: wrap;
        box-sizing: border-box;
    }
    #hero-358 .cs-topper {
        font-size: var(--topperFontSize);
        line-height: 1.2em;
        text-transform: uppercase;
        text-align: center;
        letter-spacing: 0.1em;
        font-weight: 700;
        color: var(--secondary);
        margin-bottom: 0.25rem;
        display: block;
    }
    #hero-358 .cs-title {
        /* 39px - 61px */
        font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
        font-weight: 900;
        line-height: 1.2em;
        text-align: center;
        width: 100%;
        margin: 0 auto 1rem;
        color: var(--headerColor);
        position: relative;
    }
    #hero-358 .cs-accent {
        color: var(--primaryLight);
    }
    #hero-358 .cs-text {
        font-size: 1.25rem;
        line-height: 1.5em;
        text-align: center;
        width: 100%;
        /* changes to 442px at desktop */
        max-width: 43.75rem;
        /* 32px - 40px */
        margin: 0 auto clamp(2rem, 4vw, 2.5rem);
        /* 24px - 40px */
        margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
        color: var(--bodyTextColor);
    }
    #hero-358 .cs-button-group {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 1.5rem;
    }
    #hero-358 .cs-button-solid {
        font-size: 1rem;
        /* 46px - 56px */
        line-height: clamp(2.875rem, 5.5vw, 3.5rem);
        width: 11.25rem;
        text-decoration: none;
        font-weight: 700;
        border-radius: 0.5rem;
        /* clips corners of the before element */
        overflow: hidden;
        margin: 0;
        color: #fff;
        padding: 0;
        background-color: var(--secondary);
        display: inline-block;
        position: relative;
        z-index: 1;
    }
    #hero-358 .cs-button-solid:before {
        content: "";
        position: absolute;
        display: block;
        height: 100%;
        width: 0%;
        background: #000;
        opacity: 1;
        top: 0;
        left: 0;
        z-index: -1;
        transition: width 0.3s;
    }
    #hero-358 .cs-button-solid:hover:before {
        width: 100%;
    }
    #hero-358 .cs-button-transparent {
        text-decoration: none;
        width: auto;
        /* 46px - 56px */
        height: clamp(2.875rem, 5.5vw, 3.5rem);
        margin: 0;
        padding: 0;
        color: var(--primaryLight);
        background-color: transparent;
        box-sizing: border-box;
        display: inline-flex;
        justify-content: flex-start;
        align-items: center;
        position: relative;
        z-index: 1;
    }
    #hero-358 .cs-button-transparent:before {
        /* white hover box */
        content: "";
        /* 46px - 56px */
        width: clamp(2.875em, 5.5vw, 3.5em);
        background: #fff;
        border-radius: 2.5rem;
        opacity: 1;
        position: absolute;
        display: block;
        top: -6px;
        bottom: -6px;
        left: 6px;
        z-index: -1;
        transition:
            width 0.3s,
            box-shadow 0.3s;
    }
    #hero-358 .cs-button-transparent:hover:before {
        width: 107%;
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    }
    #hero-358 .cs-content {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        flex-direction: column;
    }
    #hero-358 .cs-tag {
        font-size: 0.875rem;
        line-height: 1.5em;
        margin: 0;
        margin-bottom: 0.25rem;
        color: #767676;
    }
    #hero-358 .cs-number {
        /* 16px - 20px */
        font-size: clamp(1rem, 2vw, 1.25rem);
        line-height: 1.2em;
        font-weight: 700;
        margin: 0;
        margin-bottom: 0.25rem;
        color: var(--headerColor);
    }
    #hero-358 .cs-picture {
        /* 46px - 56px */
        width: clamp(2.875rem, 5.5vw, 3.5rem);
        height: clamp(2.875rem, 5.5vw, 3.5rem);
        margin-right: 0.5rem;
        background-color: var(--primaryLight);
        border-radius: 50%;
        border: 6px solid #fff;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #hero-358 .cs-img {
        width: 1.5rem;
        height: auto;
    }
    #hero-358 .cs-image-group {
        font-size: min(1.6vw, 0.7em);
        /* using ems so we can scale this container with a font size */
        width: 51.9375em;
        height: 42.125em;
        position: relative;
    }
    #hero-358 .cs-splash {
        position: absolute;
        width: 49.4375em;
        height: 38.5em;
        top: 1.25em;
        right: -2.5em;
    }
    #hero-358 .cs-person {
        width: auto;
        height: 100%;
        position: relative;
    }
    #hero-358 .cs-person img {
        width: 100%;
        height: auto;
    }
    #hero-358 .cs-icon-wrapper {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 7.5em;
        height: 7.5em;
        border-radius: 50%;
        background-color: var(--primaryLight);
        position: absolute;
        left: 8.125em;
        bottom: 3.8125em;
        z-index: 100;
        animation-name: floatAnimation2;
        animation-duration: 4s;
        animation-delay: 0.2s;
        animation-timing-function: ease-in-out;
        animation-fill-mode: forwards;
        animation-iteration-count: infinite;
    }
    #hero-358 .cs-icon {
        width: 3.25em;
        height: auto;
    }
}
/* Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
    #hero-358 {
        padding-bottom: 10rem;
    }
    #hero-358 .cs-container {
        flex-direction: row;
        justify-content: flex-start;
    }
    #hero-358 .cs-flex-group {
        justify-content: flex-start;
        margin: 0;
    }
    #hero-358 .cs-topper,
    #hero-358 .cs-title,
    #hero-358 .cs-text {
        text-align: left;
        margin-left: 0;
    }
    #hero-358 .cs-text {
        max-width: 27.625rem;
    }
    #hero-358 .cs-button-group {
        justify-content: flex-start;
    }
    #hero-358 .cs-image-group {
        font-size: min(1.4vw, 1em);
        position: absolute;
        bottom: -9.375em;
        right: -13.5625em;
    }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #hero-358 .cs-background {
        background-color: #000;
    }
    body.dark-mode #hero-358 .cs-background:before {
        background-color: #000;
        opacity: 0.5;
    }
    body.dark-mode #hero-358 .cs-background img {
        opacity: 0.5;
    }
    body.dark-mode #hero-358 .cs-topper {
        color: var(--primaryLight);
    }
    body.dark-mode #hero-358 .cs-title {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #hero-358 .cs-text {
        color: var(--bodyTextColorWhite);
        opacity: 0.9;
    }
    body.dark-mode #hero-358 .cs-picture {
        border: 6px solid var(--accent);
    }
    body.dark-mode #hero-358 .cs-button-transparent:before {
        background-color: var(--accent);
    }
    body.dark-mode #hero-358 .cs-tag,
    body.dark-mode #hero-358 .cs-number {
        color: var(--bodyTextColorWhite);
    }
}

/*************** SERVICES ****************/
/*****************************************/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #services-367 {
        padding: var(--sectionPadding);
    }
    @keyframes floatAnimation2 {
        0% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-4px);
        }
        70% {
            transform: translateY(4px);
        }
        100% {
            transform: translateY(0);
        }
    }
    @keyframes InAndOut {
        0% {
            transform: translateY(3.75rem) scale(1);
            opacity: 1;
        }
        30% {
            transform: translateY(1.875rem) scale(0.8);
            opacity: 1;
        }
        60% {
            transform: translateY(0.625rem) scale(0.5);
            opacity: 0.2;
        }
        100% {
            transform: translateY(0rem) scale(0.2);
            opacity: 0;
        }
    }
    @keyframes InAndOut2 {
        0% {
            transform: translateY(4.375rem) scale(1);
            opacity: 1;
        }
        30% {
            transform: translateY(2.5rem) scale(0.8);
            opacity: 1;
        }
        60% {
            transform: translateY(1.25rem) scale(0.6);
            opacity: 1;
        }
        100% {
            transform: translateY(0rem) scale(0.4);
            opacity: 0;
        }
    }
    #services-367 .cs-container {
        width: 100%;
        /* changes to 1440px at desktop */
        max-width: 59rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
    }
    #services-367 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: center;
        width: 100%;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: center;
    }

    #services-367 .cs-card-group {
        width: 100%;
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        flex-direction: column;
        /* 16px - 20px */
        gap: clamp(1rem, 2vw, 1.25rem);
    }
    #services-367 .cs-item {
        list-style: none;
        width: 100%;
        max-width: 31.25rem;
        /* 20px - 40px top & bottom */
        /* 16px - 32px left & right */
        padding: clamp(1.25rem, 3.5vw, 2.5rem) clamp(1rem, 2.5vw, 2rem);
        border-radius: 1rem;
        border: 1px solid #e8e8e8;
        box-sizing: border-box;
        transition: background-color 0.3s;
    }
    #services-367 .cs-item:hover {
        background-color: var(--primary);
    }
    #services-367 .cs-item:hover .cs-icon-wrapper:before,
    #services-367 .cs-item:hover .cs-bubble:before,
    #services-367 .cs-item:hover .cs-icon-wrapper:after,
    #services-367 .cs-item:hover .cs-bubble:after {
        background-color: #449ffc;
    }
    #services-367 .cs-item:hover .cs-icon {
        /* makes it white on hover */
        filter: grayscale(1) brightness(1000%);
    }
    #services-367 .cs-item:hover .cs-h3 {
        color: #fff;
    }
    #services-367 .cs-item:hover .cs-item-text {
        color: #fff;
    }
    #services-367 .cs-link {
        text-decoration: none;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
    #services-367 .cs-icon-wrapper {
        width: 6.125rem;
        height: 7.5rem;
        margin-bottom: 1.5rem;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        position: relative;
    }
    #services-367 .cs-icon-wrapper:before {
        /* Small Bubble */
        content: "";
        width: 1.6875rem;
        height: 1.6875rem;
        border-radius: 50%;
        background: #e5f2ff;
        opacity: 1;
        position: absolute;
        display: block;
        top: 0;
        left: 0.1875rem;
        animation-name: InAndOut;
        animation-duration: 1.6s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
        transition: background-color 0.3s;
    }
    #services-367 .cs-icon-wrapper:after {
        /* Small Bubble */
        content: "";
        width: 1.6875rem;
        height: 1.6875rem;
        border-radius: 50%;
        background: #e5f2ff;
        opacity: 1;
        position: absolute;
        display: block;
        top: 0.6875rem;
        right: 0.3125rem;
        animation-name: InAndOut2;
        animation-duration: 2s;
        animation-delay: 0.3s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
        transition: background-color 0.3s;
    }
    #services-367 .cs-bubble {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }
    #services-367 .cs-bubble:before {
        /* Big Bubble */
        content: "";
        width: 3.9375rem;
        height: 3.9375rem;
        border-radius: 50%;
        background: #e5f2ff;
        opacity: 1;
        position: absolute;
        display: block;
        bottom: 0.25rem;
        left: 0rem;
        animation-name: floatAnimation2;
        animation-duration: 12s;
        animation-timing-function: ease-in-out;
        animation-fill-mode: forwards;
        animation-iteration-count: infinite;
        transition: background-color 0.3s;
    }
    #services-367 .cs-bubble:after {
        /* Big Bubble */
        content: "";
        width: 3.125rem;
        height: 3.125rem;
        border-radius: 50%;
        background: #e5f2ff;
        opacity: 1;
        position: absolute;
        display: block;
        bottom: -0.25rem;
        right: 0rem;
        animation-name: floatAnimation2;
        animation-duration: 10s;
        animation-timing-function: ease-in-out;
        animation-fill-mode: forwards;
        animation-iteration-count: infinite;
        transition: background-color 0.3s;
    }
    #services-367 .cs-icon {
        width: 4.5rem;
        height: auto;
        position: relative;
        z-index: 10;
    }
    #services-367 .cs-h3 {
        font-size: 1.25rem;
        font-weight: 900;
        text-align: center;
        line-height: 1.2em;
        margin: 0;
        margin-bottom: 0.75rem;
        color: var(--headerColor);
        transition: color 0.3s;
    }
    #services-367 .cs-item-text {
        /* 14px - 16px */
        font-size: clamp(0.875rem, 1.5vw, 1rem);
        text-align: center;
        line-height: 1.5em;
        margin: 0;
        color: var(--bodyTextColor);
        transition: color 0.3s;
    }
    #services-367 .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(--primaryAccent);
        border-radius: 0.25rem;
        display: inline-block;
        position: relative;
        z-index: 1;
        /* prevents padding from adding to the width */
        box-sizing: border-box;
    }
    #services-367 .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;
    }
    #services-367 .cs-button-solid:hover:before {
        width: 100%;
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #services-367 .cs-card-group {
        flex-direction: row;
        justify-content: center;
    }
    #services-367 .cs-item {
        width: 48%;
    }
}
/* Desktop - 1200px */
@media only screen and (min-width: 75rem) {
    #services-367 .cs-container {
        max-width: 90rem;
    }
    #services-367 .cs-item {
        /* we do this so it's stackable. You can add any number of reviews you want and they will stack and center in the middle. We dont use grid because if you have an odd number of cards, they don't stay centered, they align with their grid lines. This way its more FLEX-ible*/
        width: clamp(23.47%, 23vw, 23.955%);
    }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #services-367 .cs-topper {
        color: var(--primaryLight);
    }
    body.dark-mode #services-367 .cs-title,
    body.dark-mode #services-367 .cs-text,
    body.dark-mode #services-367 .cs-h3,
    body.dark-mode #services-367 .cs-item-text {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #services-367 .cs-icon-wrapper:before,
    body.dark-mode #services-367 .cs-bubble:before,
    body.dark-mode #services-367 .cs-icon-wrapper:after,
    body.dark-mode #services-367 .cs-bubble:after {
        background-color: var(--accent);
    }
    body.dark-mode #services-367 .cs-item:hover {
        background-color: var(--accent);
    }
    body.dark-mode #services-367 .cs-icon {
        /* turns the icon white */
        filter: grayscale(1) brightness(1000%);
    }
}

/************ WHY CHOOSE US **************/
/*****************************************/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #why-choose-369 {
        padding: var(--sectionPadding);
        overflow: hidden;
    }
    @keyframes floatAnimation {
        0% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-2em);
        }
        100% {
            transform: translateY(0);
        }
    }
    @keyframes floatAnimation2 {
        0% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-1em);
        }
        100% {
            transform: translateY(0);
        }
    }
    #why-choose-369 .cs-container {
        width: 100%;
        /* changes to 1280px at desktop */
        max-width: 34.375rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        /* 48px - 56px */
        gap: clamp(3rem, 3vw, 3.5rem);
    }
    #why-choose-369 .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;
    }
    #why-choose-369 .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-369 .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-369 .cs-ul {
        width: 100%;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1.5em;
    }
    #why-choose-369 .cs-li {
        list-style: none;
        width: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 1rem;
    }
    #why-choose-369 .cs-bullet {
        width: 1.1875rem;
        height: auto;
        margin-top: 0.125rem;
    }
    #why-choose-369 .cs-h3 {
        font-size: 1.25rem;
        line-height: 1.2em;
        font-weight: 700;
        margin: 0 0 0.75rem 0;
        color: var(--headerColor);
    }
    #why-choose-369 .cs-li-text {
        /* 14px - 16px */
        font-size: clamp(0.875rem, 2.2vw, 1rem);
        line-height: 1.5em;
        margin: 0;
        color: var(--bodyTextColor);
    }
    #why-choose-369 .cs-image-group {
        /* everything in the group is in ems so we can scale them down with this min/max font size tied to the view width */
        font-size: min(2.3vw, 1em);
        width: 36.1875em;
        height: 36.75em;
        position: relative;
        /* sends it to the top above the content */
        order: -1;
    }
    #why-choose-369 .cs-splash {
        width: 35.625em;
        height: 36.625em;
        opacity: 0.1;
        position: absolute;
        left: 0.3125em;
        top: 0;
    }
    #why-choose-369 .cs-blob {
        width: 24.5em;
        height: 31.0625em;
        position: absolute;
        right: 0em;
        top: 0.625em;
    }
    #why-choose-369 .cs-lightning {
        width: 4em;
        height: 6.4375em;
        position: absolute;
        right: 2.5em;
        top: 0.5em;
        transform: rotate(23deg);
    }
    #why-choose-369 .cs-left-image {
        width: 13.1875em;
        height: 13.1875em;
        border-radius: 50%;
        /* cover the 1px gap between border and image */
        background-color: #f7f7f7;
        border: 12px solid #f7f7f7;
        /* clips image to the circle */
        overflow: hidden;
        position: absolute;
        left: -0.75em;
        top: 8.1875em;
        z-index: 10;
        animation-name: floatAnimation2;
        animation-duration: 6s;
        animation-timing-function: ease-in-out;
        animation-fill-mode: forwards;
        animation-iteration-count: infinite;
    }
    #why-choose-369 .cs-left-image img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        /* makes it act like a background image */
        object-fit: cover;
    }
    #why-choose-369 .cs-bottom-image {
        width: 11.25em;
        height: 11.25em;
        border-radius: 50%;
        /* cover the 1px gap between border and image */
        background-color: #f7f7f7;
        border: 12px solid #f7f7f7;
        /* clips image to the circle */
        overflow: hidden;
        position: absolute;
        right: 11.25em;
        bottom: -0.75em;
        z-index: 10;
        animation-name: floatAnimation;
        animation-duration: 10s;
        animation-delay: 1s;
        animation-timing-function: ease-in-out;
        animation-fill-mode: forwards;
        animation-iteration-count: infinite;
    }
    #why-choose-369 .cs-bottom-image img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        /* makes it act like a background image */
        object-fit: cover;
    }
    #why-choose-369 .cs-person {
        width: 24.125em;
        height: auto;
        position: absolute;
        right: 2.875em;
        bottom: 4.0625em;
    }
    #why-choose-369 .cs-person img {
        width: 100%;
        height: auto;
    }
    #why-choose-369 .cs-mask {
        width: 23.9375em;
        height: 10.8125em;
        position: absolute;
        right: -2.0625em;
        bottom: 2.6875em;
        z-index: 2;
    }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #why-choose-369 .cs-container {
        max-width: 80rem;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
    }
    #why-choose-369 .cs-ul {
        margin-top: 1rem;
    }
    #why-choose-369 .cs-image-group {
        font-size: min(1.1vw, 1em);
        /* prevents flexbox from squishing it */
        flex: none;
    }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #why-choose-369 .cs-topper {
        color: var(--primaryLight);
    }
    body.dark-mode #why-choose-369 .cs-title,
    body.dark-mode #why-choose-369 .cs-h3,
    body.dark-mode #why-choose-369 .cs-li-text {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #why-choose-369 .cs-li-text {
        opacity: 0.8;
    }
    body.dark-mode #why-choose-369 .cs-left-image,
    body.dark-mode #why-choose-369 .cs-bottom-image {
        border-color: var(--accent);
    }
    body.dark-mode #why-choose-369 .cs-splash {
        filter: grayscale(0.5) brightness(220%);
    }
    body.dark-mode #why-choose-369 .cs-mask path {
        fill: var(--dark);
    }
}

/*************** ABOUT *******************/
/*****************************************/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #sbs-363 {
        padding: var(--sectionPadding);
        overflow: hidden;
    }
    #sbs-363 .cs-container {
        width: 100%;
        /* changes to 1280px at desktop */
        max-width: 34.375rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
        position: relative;
    }
    #sbs-363 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: left;
        width: 100%;
        max-width: 32.625rem;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: flex-start;
    }
    #sbs-363 .cs-text {
        margin-bottom: 1rem;
    }
    #sbs-363 .cs-text:last-of-type {
        margin-bottom: 2rem;
    }
    #sbs-363 .cs-ul {
        width: 100%;
        margin: 0 0 2rem 0;
        padding: 0 0 0 1.25rem;
        /* prevents padding and border from affecting height and width */
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    #sbs-363 .cs-li {
        font-size: 1rem;
        line-height: 1.5em;
        list-style: none;
        margin-right: 0;
        color: var(--bodyTextColor);
        position: relative;
    }
    #sbs-363 .cs-li:before {
        /* bullets */
        content: "";
        width: 0.25rem;
        height: 0.25rem;
        border-radius: 50%;
        background: currentColor;
        opacity: 1;
        position: absolute;
        display: block;
        top: 0.5625rem;
        left: -0.9375rem;
    }
    #sbs-363 .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(--primaryAccent);
        border-radius: 0.25rem;
        display: inline-block;
        position: relative;
        z-index: 1;
        /* prevents padding from adding to the width */
        box-sizing: border-box;
    }
    #sbs-363 .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;
    }
    #sbs-363 .cs-button-solid:hover:before {
        width: 100%;
    }
    #sbs-363 .cs-image-group {
        /* scale down the whole section */
        font-size: min(1.6vw, 0.6em);
        /* aligns the .cs-image-group to the right */
        text-align: right;
        /* using ems so we can scale this container with a font size */
        width: auto;
        min-width: 37.5em;
        /* changes auto at desktop */
        height: 47.4375em;
        position: relative;
    }
    #sbs-363 .cs-splash {
        position: absolute;
        width: 120%;
        height: auto;
        display: block;
        top: 1.25em;
        left: 50%;
        transform: translateX(-54%);
    }
    #sbs-363 .cs-person {
        height: 100%;
        width: auto;
        /* allows text align to move it left or right */
        display: inline-flex;
        align-items: flex-end;
        justify-content: center;
        position: relative;
    }
    #sbs-363 .cs-person img {
        width: auto;
        height: 100%;
        margin: 0;
        display: block;
    }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #sbs-363 .cs-container {
        max-width: 80rem;
        flex-direction: row;
        justify-content: space-between;
        position: relative;
    }
    #sbs-363 .cs-content {
        width: 50%;
    }
    #sbs-363 .cs-image-group {
        font-size: min(1vw, 1em);
        flex: none;
    }
}
/* Large Desktop 1300px */
@media only screen and (min-width: 81.25rem) {
    #sbs-363 .cs-image-group {
        font-size: min(1.2vw, 1em);
        height: auto;
        margin-right: 0em;
        display: flex;
        /* pushes person image to the right of the container */
        justify-content: flex-end;
        /* pushed person image to the bottom of the container */
        align-items: flex-end;
        position: absolute;
        right: 50%;
        top: 0;
        /* same amount as the padding bottom on the #sbs*/
        bottom: -6.25rem;
    }
    #sbs-363 .cs-content {
        /* pushes it to the right side of the container */
        margin-left: auto;
    }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #sbs-363 .cs-topper {
        color: var(--secondary);
    }
    body.dark-mode #sbs-363 .cs-title,
    body.dark-mode #sbs-363 .cs-text,
    body.dark-mode #sbs-363 .cs-li {
        color: var(--bodyTextColorWhite);
    }
}

/*************** STATS *******************/
/*****************************************/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #services-1282 {
        position: relative;
        padding: var(--sectionPadding);

        z-index: 1;
    }
    #services-1282 .cs-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: auto;
        /* changes to 1280px on tablet */
        max-width: 34.375rem;
        width: 100%;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
    }
    #services-1282 .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;
    }
    #services-1282 .cs-flex-group {
        /* prevents flexbox from squishing it */
        flex: none;
    }

    #services-1282 .cs-text {
        max-width: 37.5rem;
    }
    #services-1282 .cs-card-group {
        width: 100%;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
        gap: 1.25rem;
    }
    #services-1282 .cs-item {
        border-radius: 1rem;
        margin-left: 0;
        background-color: #fff;
        width: 100%;
        box-sizing: border-box;
        /* 20px - 24px */
        padding: clamp(1.25rem, 2.4vw, 1.5rem);
        list-style: none;
        box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.1);
    }
    #services-1282 .cs-h3 {
        font-size: 1.25rem;
        line-height: 1.2em;
        margin: 0 0 1.25rem 0;
        color: var(--headerColor);
        display: flex;
        align-items: center;
        gap: 1rem;
    }
    #services-1282 .cs-picture {
        width: 2.25rem;
        height: 2.25rem;
        border-radius: 50%;
        background-color: var(--primaryLight);
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #services-1282 .cs-icon {
        height: 0.75rem;
        width: auto;
        filter: grayscale(1) brightness(1000%);
    }
    #services-1282 .cs-number {
        display: block;
        margin: 0 0 0.75rem 0;
        font-size: 1.5625rem;
        font-weight: 700;
        color: var(--primaryAccent);
    }
    #services-1282 .cs-item-text {
        margin: 0;
        font-size: 0.875rem;
        line-height: 1.5em;
        color: var(--bodyTextColor);
    }
    #services-1282 .cs-background {
        z-index: -1;
        position: absolute;
        bottom: 0;
        right: 0;
        height: 65%;
        width: 100%;
    }
    #services-1282 .cs-background img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
    }
}
/* In Between - 500px */
@media only screen and (min-width: 31.25rem) {
    #services-1282 .cs-card-group {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    #services-1282 .cs-background {
        height: 55%;
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #services-1282 .cs-container {
        max-width: 80rem;
    }
    #services-1282 .cs-content {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 3rem;
    }
    #services-1282 .cs-flex-group {
        width: 50%;
    }
    #services-1282 .cs-title {
        margin: 0;
    }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #services-1282 .cs-card-group {
        grid-template-columns: repeat(4, 1fr);
    }
    #services-1282 .cs-background {
        top: 0;
        left: auto;
        right: 50%;
        /* 90px - 225px */
        margin-right: clamp(5.625rem, 15vw, 14.0625rem);
        height: 100%;
        width: 50vw;
    }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #services-1282 .cs-title,
    body.dark-mode #services-1282 .cs-text,
    body.dark-mode #services-1282 .cs-item-text,
    body.dark-mode #services-1282 .cs-h3 {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #services-1282 .cs-text,
    body.dark-mode #services-1282 .cs-item-text {
        opacity: 0.8;
    }
    body.dark-mode #services-1282 .cs-item {
        background-color: var(--medium);
    }
    body.dark-mode #services-1282 .cs-picture {
        background-color: var(--accent);
    }
    body.dark-mode #services-1282 .cs-icon {
        /* turns it white */
        filter: grayscale(1) brightness(1000%);
    }
}

/*************** STEPS *******************/
/*****************************************/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #steps-1376 {
      padding: var(--sectionPadding);
      /* clips the waves and lines from cause overflow issues */
      overflow: hidden;
      /* setting the row groups to display: contents causes the child cs-items to "appear" as direct children of the parent .cs-card-group */
      /* therefore, we can set the order of the .cs-items between rows, changing it between mobile and desktop */
    }
    #steps-1376 .cs-container {
      width: 100%;
      max-width: 90rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
    }
    #steps-1376 .cs-content {
      /* set text align to left if content needs to be left aligned */
      text-align: center;
      width: 100%;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: center;
    }
    #steps-1376 .cs-title {
      max-width: 25ch;
      margin: 0;
    }
    #steps-1376 .cs-group1,
    #steps-1376 .cs-group2 {
      /* the contents of this div are no longer its children. This div acts as if it doesn't exist and their content is now children of the next level parent, in this case, the cs-card-group. That way they can all be arranged together as children under 1 parent div instead of children in two different parent divs */
      display: contents;
    }
    #steps-1376 .cs-card-group {
      width: 100%;
      margin: 0 auto;
      padding: 0;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      /* 16px - 20px */
      gap: clamp(1rem, 2.3vw, 1.25rem);
      position: relative;
    }
    #steps-1376 .cs-group1 {
      display: contents;
    }
    #steps-1376 .cs-group1 .cs-item:nth-of-type(1) {
      order: 1;
    }
    #steps-1376 .cs-group1 .cs-item:nth-of-type(2) {
      order: 3;
    }
    #steps-1376 .cs-group1 .cs-item:nth-of-type(3) {
      order: 5;
    }
    #steps-1376 .cs-group2 {
      display: contents;
    }
    #steps-1376 .cs-group2 .cs-item:nth-of-type(1) {
      order: 2;
    }
    #steps-1376 .cs-group2 .cs-item:nth-of-type(2) {
      order: 4;
    }
    #steps-1376 .cs-item {
      text-align: center;
      list-style: none;
      width: 100%;
      max-width: 15rem;
      height: 15rem;
      margin: 0;
      /* prevents padding and border from affecting height and width */
      box-sizing: border-box;
      padding: 1.5rem;
      background-color: #f4f4f4;
      /* clips the :before element from being clickable when it's outside the item and triggering the hover animation */
      overflow: hidden;
      border: 1px solid #e8e8e8;
      border-radius: 50%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      position: relative;
      z-index: 1;
      transition: background-color 0.3s, border-color 0.3s;
    }
    #steps-1376 .cs-item:before {
      content: "";
      width: 9.25rem;
      height: 9.25rem;
      background: #fff;
      opacity: 0;
      border-radius: 50%;
      display: block;
      position: absolute;
      bottom: 0;
      left: -7.25rem;
      transform: translateY(6.25rem);
      transition: left 0.3s, transform 0.3s, opacity 0.3s;
    }
    #steps-1376 .cs-item:hover {
      background-color: var(--primary);
      border-color: var(--primary);
    }
    #steps-1376 .cs-item:hover:before {
      opacity: 0.2;
      left: -1rem;
      transform: translateY(0);
    }
    #steps-1376 .cs-item:hover .cs-icon {
      filter: grayscale(1) brightness(1000%);
    }
    #steps-1376 .cs-item:hover .cs-h3,
    #steps-1376 .cs-item:hover .cs-item-text {
      color: var(--bodyTextColorWhite);
    }
    #steps-1376 .cs-item:hover .cs-text {
      opacity: 0.8;
    }
    #steps-1376 .cs-picture {
      width: 6.25rem;
      height: auto;
      margin: 0 0 0.5rem 0;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      /* prevents flexbox from squishing it */
      flex: none;
    }
    #steps-1376 .cs-icon {
      width: 2rem;
      height: auto;
    }
    #steps-1376 .cs-h3 {
      font-size: 1.25rem;
      font-weight: bold;
      line-height: 1.2em;
      text-align: inherit;
      margin: 0 0 0.75rem 0;
      color: var(--headerColor);
      transition: color 0.3s;
    }
    #steps-1376 .cs-item-text {
      font-size: 0.875rem;
      line-height: 1.5em;
      max-width: 28.125rem;
      margin: 0;
      padding: 0;
      color: var(--bodyTextColor);
      transition: color 0.3s, opacity 0.3s;
    }
    #steps-1376 .cs-waves {
      display: none;
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #steps-1376 .cs-card-group {
      justify-content: center;
      align-items: center;
      gap: 2.5rem;
    }
    #steps-1376 .cs-group1 {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: center;
      gap: 3rem;
    }
    #steps-1376 .cs-group2 {
      display: flex;
      flex-direction: column;
      justify-content: space-evenly;
      align-items: center;
      gap: 3rem;
    }
    #steps-1376 .cs-item {
      /* prevents flexbox from squishing it */
      flex: none;
    }
    #steps-1376 .cs-waves {
      width: 4.4375rem;
      height: auto;
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }
    #steps-1376 .cs-waves img {
      width: 100%;
      height: auto;
    }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #steps-1376 .cs-card-group {
      flex-direction: column;
    }
    #steps-1376 .cs-group1 {
      width: 100%;
      /* -8px to -30px, we put the clamp in a calc function to turn it into a negative number and pull down to cause the overlapping effect */
      margin-bottom: calc(clamp(.5rem, 2vw, 1.875rem)*-1);
      flex-direction: row;
    }
    #steps-1376 .cs-group2 {
      width: 100%;
      /* -8px to -30px */
      margin-top: calc(clamp(.5rem, 2vw, 1.875rem)*-1);
      flex-direction: row;
    }
    #steps-1376 .cs-waves {
      width: 110vw;
      max-width: 120rem;
      height: auto;
    }
    #steps-1376 .cs-waves:before {
      /* left continuation line */
      content: "";
      width: 50vw;
      height: 4px;
      background: #e8e8e8;
      opacity: 1;
      display: block;
      position: absolute;
      top: 5.25rem;
      right: 100%;
    }
    #steps-1376 .cs-waves:after {
      /* Right continuation line */
      content: "";
      width: 50vw;
      height: 4px;
      background: #e8e8e8;
      opacity: 1;
      display: block;
      position: absolute;
      top: 5.25rem;
      left: 100%;
    }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #steps-1376 {
      background-color: var(--dark);
    }
    body.dark-mode #steps-1376 .cs-item {
      background-color: var(--medium);
      border-color: rgba(255, 255, 255, 0.2);
    }
    body.dark-mode #steps-1376 .cs-item:hover {
      background-color: var(--accent);
      border-color: var(--accent);
    }
    body.dark-mode #steps-1376 .cs-title,
    body.dark-mode #steps-1376 .cs-text,
    body.dark-mode #steps-1376 .cs-h3,
    body.dark-mode #steps-1376 .cs-item-text,
    body.dark-mode #steps-1376 .cs-link {
      color: var(--bodyTextColorWhite);
    }
    body.dark-mode #steps-1376 .cs-text,
    body.dark-mode #steps-1376 .cs-item-text {
      opacity: 0.8;
    }
    body.dark-mode #steps-1376 .cs-waves {
      opacity: 0.4;
    }
}

/*************** PRICING *****************/
/*****************************************/
/* Mobile */
@media only screen and (min-width: 0rem) {
    #pricing-357 {
        padding: var(--sectionPadding);
    }
    #pricing-357 .cs-container {
        width: 100%;
        max-width: 80rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
    }
    #pricing-357 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: center;
        width: 100%;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: center;
    }
    #pricing-357 .cs-card-group {
        width: 100%;
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        /* 16px - 20px */
        gap: clamp(1rem, 2vw, 1.25rem);
    }
    #pricing-357 .cs-item {
        list-style: none;
        /* 20px - 32px top & bottom */
        /* 16px - 32px left & right */
        padding: clamp(1.25rem, 3vw, 2rem) clamp(1rem, 2.4vw, 2rem);
        width: 100%;
        max-width: 25.8125rem;
        border-radius: 1rem;
        background: #f7f7f7;
        border: 1px solid #e8e8e8;
        /* prevents padding from adding to height and width */
        box-sizing: border-box;
    }
    #pricing-357 .cs-item:nth-of-type(2) .cs-option2-text,
    #pricing-357 .cs-item:nth-of-type(2) .cs-option1-text {
        transition-delay: 0.1s;
    }
    #pricing-357 .cs-item:nth-of-type(3) .cs-option2-text,
    #pricing-357 .cs-item:nth-of-type(3) .cs-option1-text {
        transition-delay: 0.2s;
    }
    #pricing-357 .cs-popular {
        background: var(--primary);
        position: relative;
        /* clips the popular tag */
        overflow: hidden;
        /* send to the top */
        order: -1;
    }
    #pricing-357 .cs-popular:before {
        /* Most Popular Tag */
        content: "Popular";
        font-size: 0.875rem;
        text-align: center;
        line-height: 1.8125em;
        font-weight: 700;
        width: 10.625rem;
        padding: 0 0.75rem;
        color: var(--bodyTextColorWhite);
        background-color: var(--secondary);
        position: absolute;
        display: block;
        top: 1.25rem;
        right: -3.75rem;
        transform: rotate(42deg);
    }
    #pricing-357 .cs-popular .cs-h3,
    #pricing-357 .cs-popular .cs-item-text,
    #pricing-357 .cs-popular .cs-price,
    #pricing-357 .cs-popular .cs-included,
    #pricing-357 .cs-popular .cs-li,
    #pricing-357 .cs-popular .cs-small {
        color: var(--bodyTextColorWhite);
    }
    #pricing-357 .cs-popular .cs-button-solid {
        background-color: #fff;
        color: var(--primary);
        transition: color 0.3s;
    }
    #pricing-357 .cs-popular .cs-button-solid:before {
        background-color: var(--secondary);
    }
    #pricing-357 .cs-popular .cs-button-solid:hover {
        color: #fff;
    }
    #pricing-357 .cs-popular .cs-li-img {
        /* turns the check mark white */
        filter: brightness(900%);
    }
    #pricing-357 .cs-h3 {
        font-size: 1.25rem;
        line-height: 1.2em;
        font-weight: 700;
        margin: 0 0 0.25rem;
        padding: 0;
        color: var(--headerColor);
    }
    #pricing-357 .cs-item-text {
        font-size: 0.875rem;
        line-height: 1.5em;
        /* 16px - 24px */
        margin: 0 0 clamp(1rem, 2vw, 1.5rem);
        padding: 0;
        color: var(--bodyTextColor);
    }
    #pricing-357 .cs-option-group {
        position: relative;
    }
    #pricing-357 .cs-option-group:after {
        /* top right box */
        content: "";
        width: 100%;
        height: 1px;
        /* 32px - 40px */
        margin-bottom: clamp(2rem, 4vw, 2.5rem);
        background: linear-gradient(
            90deg,
            rgba(232, 232, 232, 0.2) 0%,
            #e8e8e8 53.78%,
            rgba(232, 232, 232, 0.2) 100%
        );
        opacity: 1;
        position: relative;
        display: block;
    }
    #pricing-357 .cs-price {
        font-size: 3.0625rem;
        line-height: 1.2em;
        font-weight: 700;
        margin-bottom: 1.5rem;
        color: var(--headerColor);
        /* spans are inline, need to add block for margin to work */
        display: block;
    }
    #pricing-357 .cs-small {
        font-size: 0.875rem;
        font-weight: 400;
        color: #4e4b66;
    }
    #pricing-357 .cs-included {
        font-size: 1rem;
        line-height: 1.5em;
        font-weight: 700;
        /* 16px - 24px */
        margin-bottom: clamp(1rem, 3vw, 1.5rem);
        color: var(--headerColor);
        display: block;
    }
    #pricing-357 .cs-ul {
        padding: 0;
        margin: 0;
        /* 32px - 40px */
        margin-bottom: clamp(2rem, 4vw, 2.5rem);
    }
    #pricing-357 .cs-li {
        /* 14px - 16px */
        font-size: clamp(0.875rem, 1.5vw, 1rem);
        line-height: 1.5em;
        list-style: none;
        padding: 0;
        margin: 0 0 0.75rem;
        color: var(--bodyTextColor);
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
    }
    #pricing-357 .cs-li:last-of-type {
        margin-bottom: 0;
    }
    #pricing-357 .cs-disabled {
        /* fades out list items that are disabled from the price tier */
        filter: grayscale(1);
        opacity: 0.3;
    }
    #pricing-357 .cs-li-img {
        width: 1.25rem;
        height: auto;
        margin-top: 0.1875rem;
        margin-right: 0.5rem;
    }
    #pricing-357 .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;
    }
    #pricing-357 .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;
    }
    #pricing-357 .cs-button-solid:hover:before {
        width: 100%;
    }
    #pricing-357 .cs-button-solid {
        /* cs-button-solid override */
        width: 100%;
        margin: 0 0 1rem 0;
    }
}
/* Tablet 768px */
@media only screen and (min-width: 48rem) {
    #pricing-357 .cs-card-group {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        flex-wrap: nowrap;
    }
    #pricing-357 .cs-item {
        width: 100%;
        /* ensures they stay the same height if you add more content */
        align-self: stretch;
    }
    #pricing-357 .cs-popular {
        /* send back to its original order */
        order: unset;
    }
    #pricing-357 #cs-option2-357:before {
        top: -0.625rem;
    }
    #pricing-357 #cs-option2-357:after {
        top: -2.1875rem;
        right: -6.25rem;
    }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #pricing-357 {
        background-color: var(--dark);
    }
    body.dark-mode #pricing-357 .cs-topper {
        color: var(--primaryLight);
    }
    body.dark-mode #pricing-357 .cs-title,
    body.dark-mode #pricing-357 .cs-text {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #pricing-357 .cs-plan {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #pricing-357 .cs-item {
        background: var(--accent);
        border-color: var(--primaryAccent);
    }
    body.dark-mode #pricing-357 .cs-popular {
        background: var(--primary);
    }
    body.dark-mode #pricing-357 .cs-h3,
    body.dark-mode #pricing-357 .cs-item-text,
    body.dark-mode #pricing-357 .cs-price,
    body.dark-mode #pricing-357 .cs-included,
    body.dark-mode #pricing-357 .cs-li,
    body.dark-mode #pricing-357 .cs-small {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #pricing-357 .cs-li-img {
        /* make so bright it turns white */
        filter: brightness(900%) grayscale(1);
    }
    body.dark-mode #pricing-357 .cs-button-solid {
        background-color: var(--accent);
    }
    body.dark-mode #pricing-357 .cs-item {
        background-color: var(--medium);
    }
    body.dark-mode #pricing-357 .cs-popular {
        background-color: var(--accent);
    }
    body.dark-mode #pricing-357 .cs-polular-button {
        background-color: var(--dark);
        color: #FFF;
    }
    body.dark-mode #pricing-357 .cs-popular .cs-button-solid:hover {
        color: #fff;
    }
}

/*************** REVIEWS *****************/
/*****************************************/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #reviews-399 {
      padding: var(--sectionPadding);
    }
    #reviews-399 .cs-container {
      width: 100%;
      max-width: 90rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
    }
    #reviews-399 .cs-content {
      /* set text align to left if content needs to be left aligned */
      text-align: center;
      width: 100%;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: center;
    }
    #reviews-399 .cs-card-group {
      width: 100%;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      /* 16px - 20px */
      gap: clamp(1rem, 2.5vw, 1.15rem);
    }
    #reviews-399 .cs-item {
      list-style: none;
      width: 100%;
      max-width: 39.375rem;
      /* prevents padding from adding to height and width */
      box-sizing: border-box;
      /* 20px - 40px top & bottom */
      /* 20px - 40px left & right */
      padding: clamp(1.25rem, 3.15vw, 2.5rem) clamp(1.25rem, 3.15vw, 2.5rem);
      background-color: #f7f7f7;
      border-radius: 1rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      position: relative;
    }
    #reviews-399 .cs-quote {
      width: 2.5rem;
      height: auto;
      margin-bottom: 2rem;
      display: block;
    }
    #reviews-399 .cs-quote-white {
      width: 3.75rem;
      height: auto;
      display: block;
      position: absolute;
      right: 1.5rem;
      bottom: 0;
      z-index: 1;
    }
    #reviews-399 .cs-review {
      /* 14px - 20px */
      font-size: clamp(0.875rem, 1.6vw, 1.25rem);
      line-height: 1.5em;
      margin: 0;
      /* 20px - 40px */
      margin-bottom: clamp(1.25rem, 3vw, 2.5rem);
      color: var(--bodyTextColor);
    }
    #reviews-399 .cs-flex-group {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      gap: 0.75rem;
    }
    #reviews-399 .cs-profile {
      width: 3.125rem;
      height: 3.125rem;
      /* clips image corners to make circle */
      overflow: hidden;
      border: 4px solid #fff;
      border-radius: 50%;
      display: block;
      position: relative;
    }
    #reviews-399 .cs-profile img {
      width: 100%;
      height: 100%;
      /* makes the image behave like a background image */
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
    }
    #reviews-399 .cs-name {
      /* 20px - 25px */
      font-size: clamp(1.25rem, 3vw, 1.5625rem);
      font-weight: 700;
      line-height: 1.2em;
      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: var(--headerColor);
      display: block;
      z-index: 2;
    }
    #reviews-399 .cs-job {
      /* 14px - 16px */
      font-size: clamp(0.875rem, 1.6vw, 1rem);
      font-weight: 400;
      line-height: 1.5em;
      margin: 0;
      color: var(--bodyTextColor);
      display: block;
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #reviews-399 .cs-card-group {
      flex-direction: row;
      justify-content: center;
      align-items: stretch;
      flex-wrap: wrap;
    }
    #reviews-399 .cs-item {
      width: clamp(31.5%, 30vw, 32.3%);
    }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #reviews-399 .cs-topper {
      color: var(--primaryLight);
    }
    body.dark-mode #reviews-399 .cs-title,
    body.dark-mode #reviews-399 .cs-text {
      color: var(--bodyTextColorWhite);
    }
    body.dark-mode #reviews-399 .cs-item {
      background-color: var(--accent);
    }
    body.dark-mode #reviews-399 .cs-quote-white {
      opacity: 0.2;
    }
    body.dark-mode #reviews-399 .cs-review,
    body.dark-mode #reviews-399 .cs-name {
      color: var(--bodyTextColorWhite);
    }
    body.dark-mode #reviews-399 .cs-job {
      color: var(--bodyTextColorWhite);
      opacity: 0.7;
    }
}