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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #sbsr-580 .cs-container {
        width: 100%;
        max-width: 80rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 7vw, 4rem);
        padding: clamp(60px, 7vw, 100px) 0;
    }
    #sbsr-580 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: left;
        width: 100%;
        max-width: 32.625rem;
        /* 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;
    }
    #sbsr-580 .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;
    }
    #sbsr-580 .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;
    }
    #sbsr-580 .cs-text {
        font-size: var(--bodyFontSize);
        line-height: 1.5em;
        text-align: inherit;
        width: 100%;
        max-width: 40.625rem;
        margin: 0;
        color: var(--bodyTextColor);
    }
    #sbsr-580 .cs-text {
        /* Override.  cs-topper cs-title and first cs-text should be removed and put into your global css sheet so it can control every instance of them on your site and is consistent. This selector is a section specific override that stays inside this stitch */
        margin-bottom: 1rem;
    }
    #sbsr-580 .cs-text:last-of-type {
        margin-bottom: 2rem;
    }
    #sbsr-580 .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;
    }
    #sbsr-580 .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;
    }
    #sbsr-580 .cs-button-solid:hover:before {
        width: 100%;
    }
    #sbsr-580 .cs-picture {
        display: block;
        position: relative;
        width: 100%;
        height: 18.75rem;
    }
    #sbsr-580 .cs-picture img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        object-fit: cover;
        border-radius: 1.5em;
    }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #sbsr-580 {
        padding: var(--sectionPadding);
    }
    #sbsr-580 .cs-container {
        flex-direction: row;
        justify-content: flex-end;
        /* 60px - 128px */
        gap: clamp(3.75rem, 10vw, 8rem);
    }
    #sbsr-580 .cs-content {
        width: 53%;
        /* reset the padding, add the section padding back to the section container */
        padding: 0;
    }
    #sbsr-580 .cs-picture {
        width: 47vw;
        max-width: 30.875rem;
        /* 518px - 700px */
        height: clamp(32.375rem, 63vw, 43.75rem);
        /* 16px - 28px, added margin left and bottom to cs-picture so it pushes away by the same amount the yellow box element overlaps it left and bottom. This maintains consistent spacing left and bottom */
        margin: 0 0 clamp(1rem, 2.4vw, 1.75rem) clamp(1rem, 2.4vw, 1.75rem);
        position: relative;
        /* sends it to the right in the 2nd position */
        order: 2;
    }
    #sbsr-580 .cs-picture:before {
        /* yellow box */
        content: '';
        width: 50%;
        height: 60%;
        background: var(--secondary);
        opacity: 1;
        display: block;
        position: absolute;
        /* 16px - 28px, wrapped in calc function to multiple by negative 1 and get a negative clamp value */
        bottom: calc(clamp(1rem, 2.4vw, 1.75rem)*-1);
        right: calc(clamp(1rem, 2.4vw, 1.75rem)*-1);
    }
}

/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #sbsr-580 .cs-topper {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #sbsr-580 .cs-title,
    body.dark-mode #sbsr-580 .cs-text {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #sbsr-580 .cs-text {
        opacity: 0.8;
    }
    body.dark-mode #sbsr-580 .cs-picture:before {
        background-color: var(--accent);
    }
}

/*-- -------------------------- -->
<---         Services           -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0rem) {
    #services-581 {
        padding: var(--sectionPadding);
        background-color: #f7f7f7;
    }
    #services-581 .cs-container {
        width: 100%;
        max-width: 80rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: clamp(3rem, 7vw, 4rem);
    }
    #services-581 .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(--primary);
        margin-bottom: 0.25rem;
        display: block;
    }
    #services-581 .cs-title {
        font-size: var(--headerFontSize);
        font-weight: 900;
        line-height: 1.2em;
        text-align: center;
        max-width: 43.75rem;
        margin: 0 0 1rem 0;
        color: var(--headerColor);
        position: relative;
    }
    #services-581 .cs-text {
        font-size: var(--bodyFontSize);
        line-height: 1.5em;
        text-align: center;
        width: 100%;
        max-width: 40.625rem;
        margin: 0 0 2rem 0;
        color: var(--bodyTextColor);
    }
    #services-581 .cs-text.cs-text-center {
        text-align: center;
        margin-top: 2rem;
    }
    #services-581 .cs-card-group {
        width: 100%;
        max-width: 80rem;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }
    #services-581 .cs-item {
        list-style: none;
        width: 100%;
        max-width: 25rem;
        margin: 0;
        padding: 2rem;
        background-color: #fff;
        border-radius: 0.5rem;
        box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    #services-581 .cs-h3 {
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.2em;
        margin: 0 0 1rem 0;
        color: var(--headerColor);
    }
    #services-581 .cs-feature-list {
        list-style: none;
        padding: 0;
        margin: 0;
        width: 100%;
    }
    #services-581 .cs-feature {
        font-size: var(--bodyFontSize);
        line-height: 1.5em;
        margin: 0 0 0.5rem 0;
        color: var(--bodyTextColor);
        position: relative;
        padding-left: 1.25rem;
    }
    #services-581 .cs-feature:before {
        content: '●';
        position: absolute;
        left: 0;
        color: var(--primary);
        font-weight: bold;
    }
}

/* Tablet */
@media only screen and (min-width: 48rem) {
    #services-581 .cs-card-group {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
        gap: 1.5rem;
    }
    #services-581 .cs-item {
        flex: 1;
        min-width: 18.75rem;
        max-width: 21.875rem;
    }
}

/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #services-581 {
        background-color: var(--medium);
    }
    body.dark-mode #services-581 .cs-item {
        background-color: var(--dark);
    }
    body.dark-mode #services-581 .cs-title,
    body.dark-mode #services-581 .cs-h3 {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #services-581 .cs-text,
    body.dark-mode #services-581 .cs-feature {
        color: var(--bodyTextColorWhite);
        opacity: 0.8;
    }
}

/*-- -------------------------- -->
<---       Packages             -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0rem) {
    #packages-582 {
        padding: var(--sectionPadding);
    }
    #packages-582 .cs-container {
        width: 100%;
        max-width: 80rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: clamp(3rem, 7vw, 4rem);
    }
    #packages-582 .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(--primary);
        margin-bottom: 0.25rem;
        display: block;
    }
    #packages-582 .cs-title {
        font-size: var(--headerFontSize);
        font-weight: 900;
        line-height: 1.2em;
        text-align: center;
        max-width: 43.75rem;
        margin: 0 0 1rem 0;
        color: var(--headerColor);
        position: relative;
    }
    #packages-582 .cs-text {
        font-size: var(--bodyFontSize);
        line-height: 1.5em;
        text-align: center;
        width: 100%;
        max-width: 40.625rem;
        margin: 0 0 2rem 0;
        color: var(--bodyTextColor);
    }
    #packages-582 .cs-text.cs-text-center {
        text-align: center;
        margin-top: 2rem;
    }
    #packages-582 .cs-card-group {
        width: 100%;
        max-width: 80rem;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }
    #packages-582 .cs-item.cs-package {
        list-style: none;
        width: 100%;
        max-width: 25rem;
        margin: 0;
        padding: 2rem;
        background-color: #fff;
        border: 2px solid var(--primary);
        border-radius: 0.5rem;
        box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        position: relative;
    }
    #packages-582 .cs-item.cs-package:nth-child(2) {
        border-color: var(--secondary);
        transform: scale(1.05);
    }
    #packages-582 .cs-h3 {
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.2em;
        margin: 0 0 1rem 0;
        color: var(--headerColor);
    }
    #packages-582 .cs-feature-list {
        list-style: none;
        padding: 0;
        margin: 0;
        width: 100%;
    }
    #packages-582 .cs-feature {
        font-size: var(--bodyFontSize);
        line-height: 1.5em;
        margin: 0 0 0.5rem 0;
        color: var(--bodyTextColor);
        position: relative;
        padding-left: 1.25rem;
    }
    #packages-582 .cs-feature:before {
        content: '✔';
        position: absolute;
        left: 0;
        color: var(--primary);
        font-weight: bold;
    }
}

/* Tablet */
@media only screen and (min-width: 48rem) {
    #packages-582 .cs-card-group {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
        gap: 1.5rem;
    }
    #packages-582 .cs-item.cs-package {
        flex: 1;
        min-width: 18.75rem;
        max-width: 21.875rem;
    }
}

/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #packages-582 .cs-item.cs-package {
        background-color: var(--dark);
    }
    body.dark-mode #packages-582 .cs-title,
    body.dark-mode #packages-582 .cs-h3 {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #packages-582 .cs-text,
    body.dark-mode #packages-582 .cs-feature {
        color: var(--bodyTextColorWhite);
        opacity: 0.8;
    }
}

/*-- -------------------------- -->
<---       What to Expect       -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0rem) {
    #expect-583 {
        padding: var(--sectionPadding);
        background-color: #f7f7f7;
    }
    #expect-583 .cs-container {
        width: 100%;
        max-width: 80rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: clamp(3rem, 7vw, 4rem);
    }
    #expect-583 .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(--primary);
        margin-bottom: 0.25rem;
        display: block;
    }
    #expect-583 .cs-title {
        font-size: var(--headerFontSize);
        font-weight: 900;
        line-height: 1.2em;
        text-align: center;
        max-width: 43.75rem;
        margin: 0 0 1rem 0;
        color: var(--headerColor);
        position: relative;
    }
    #expect-583 .cs-text {
        font-size: var(--bodyFontSize);
        line-height: 1.5em;
        text-align: center;
        width: 100%;
        max-width: 40.625rem;
        margin: 0;
        color: var(--bodyTextColor);
    }
}

/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #expect-583 {
        background-color: var(--medium);
    }
    body.dark-mode #expect-583 .cs-title {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #expect-583 .cs-text {
        color: var(--bodyTextColorWhite);
        opacity: 0.8;
    }
}

/*-- -------------------------- -->
<---         CTA                -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0rem) {
    #cta-584 {
        padding: var(--sectionPadding);
    }
    #cta-584 .cs-container {
        width: 100%;
        max-width: 80rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: clamp(3rem, 7vw, 4rem);
    }
    #cta-584 .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(--primary);
        margin-bottom: 0.25rem;
        display: block;
    }
    #cta-584 .cs-title {
        font-size: var(--headerFontSize);
        font-weight: 900;
        line-height: 1.2em;
        text-align: center;
        max-width: 43.75rem;
        margin: 0 0 1rem 0;
        color: var(--headerColor);
        position: relative;
    }
    #cta-584 .cs-text {
        font-size: var(--bodyFontSize);
        line-height: 1.5em;
        text-align: center;
        width: 100%;
        max-width: 40.625rem;
        margin: 0 0 2rem 0;
        color: var(--bodyTextColor);
    }
    #cta-584 .cs-button-solid {
        font-size: 1rem;
        line-height: clamp(2.875rem, 5.5vw, 3.5rem);
        text-decoration: none;
        font-weight: 700;
        text-align: center;
        margin: 0;
        color: #fff;
        min-width: 12.5rem;
        padding: 0 2rem;
        background-color: var(--primary);
        border-radius: 0.25rem;
        display: inline-block;
        position: relative;
        z-index: 1;
        box-sizing: border-box;
    }
    #cta-584 .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;
    }
    #cta-584 .cs-button-solid:hover:before {
        width: 100%;
    }
}

/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #cta-584 .cs-title {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #cta-584 .cs-text {
        color: var(--bodyTextColorWhite);
        opacity: 0.8;
    }
}

/*-- -------------------------- -->
<---         Add-Ons            -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0rem) {
    #addons-585 {
        padding: var(--sectionPadding);
        background-color: #f7f7f7;
    }
    #addons-585 .cs-container {
        width: 100%;
        max-width: 80rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: clamp(3rem, 7vw, 4rem);
    }
    #addons-585 .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(--primary);
        margin-bottom: 0.25rem;
        display: block;
    }
    #addons-585 .cs-title {
        font-size: var(--headerFontSize);
        font-weight: 900;
        line-height: 1.2em;
        text-align: center;
        max-width: 43.75rem;
        margin: 0 0 1rem 0;
        color: var(--headerColor);
        position: relative;
    }
    #addons-585 .cs-text {
        font-size: var(--bodyFontSize);
        line-height: 1.5em;
        text-align: center;
        width: 100%;
        max-width: 40.625rem;
        margin: 0 0 2rem 0;
        color: var(--bodyTextColor);
    }
    #addons-585 .cs-addon-section {
        width: 100%;
        max-width: 50rem;
        margin-bottom: 2rem;
        padding: 1.5rem;
        background-color: #fff;
        border-radius: 0.5rem;
        box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    }
    #addons-585 .cs-h3 {
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.2em;
        margin: 0 0 1rem 0;
        color: var(--headerColor);
    }
    #addons-585 .cs-h4 {
        font-size: 1.25rem;
        font-weight: 600;
        line-height: 1.2em;
        margin: 0 0 0.5rem 0;
        color: var(--primary);
    }
    #addons-585 .cs-addon-list {
        list-style: none;
        padding: 0;
        margin: 0;
        width: 100%;
    }
    #addons-585 .cs-addon-item {
        margin-bottom: 1rem;
        padding-bottom: 1rem;
        border-bottom: 1px solid #e7e7e7;
    }
    #addons-585 .cs-addon-item:last-child {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }
}

/* Dark Mode */
@media only screen and (min-width: 0rem) {
    body.dark-mode #addons-585 {
        background-color: var(--medium);
    }
    body.dark-mode #addons-585 .cs-addon-section {
        background-color: var(--dark);
    }
    body.dark-mode #addons-585 .cs-title,
    body.dark-mode #addons-585 .cs-h3 {
        color: var(--bodyTextColorWhite);
    }
    body.dark-mode #addons-585 .cs-h4 {
        color: var(--bodyTextColorWhite);
        font-weight: 700;
    }
    body.dark-mode #addons-585 .cs-text {
        color: var(--bodyTextColorWhite);
        opacity: 0.8;
    }
    body.dark-mode #addons-585 .cs-addon-item {
        border-bottom-color: var(--medium);
    }
}
