/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #hero-1467 {
    /* 200px - 350px top - leaving extra space for the navigation */
    /* 100px - 200px bottom */
    padding: clamp(12.5rem, 25.95vw, 15.875em) 1rem clamp(6.25rem, 7vw, 12.5rem);
    /* prevents the topper line from causing an overflow */
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #hero-1467 .cs-container {
    width: 100%;
    /* changes to 1280px at desktop */
    max-width: 44rem;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 3rem;
  }
  #hero-1467 .cs-content {
    text-align: center;
    width: 100%;
    max-width: 42rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
  }
  #hero-1467 .cs-flex {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
  }
  #hero-1467 .cs-title {
    /* 39px - 49px */
    font-size: var(--headerFontSize);
    font-weight: 700;
    line-height: 1.2em;
    text-align: inherit;
    max-width: 42rem;
    color: #fff;
    position: relative;
    z-index: 1;
  }
  #hero-1467 .cs-title span {
    display: block;
  }
  #hero-1467 .cs-text {
    /* 16px - 20px */
    font-size: clamp(1rem, 1.95vw, 1.25rem);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    /* 464px - 622px */
    max-width: none;
    margin: 0;
    margin-bottom: 2rem;
    color: #fff;
  }
  #hero-1467 .cs-icon {
    width: 1rem;
    height: auto;
  }
  #hero-1467 .cs-desc {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    max-width: 20ch;
    margin: 0;
    color: #f7f7f7;
  }
  #hero-1467 .cs-right {
    text-align: center;
    width: 100%;
    max-width: 39.375rem;
    /* 16px - 48px left & right */
    /* 32px - 48px top & bottom */
    padding: clamp(2rem, 5vw, 3rem) clamp(1rem, 4vw, 3rem);
    box-sizing: border-box;
    border-top: 8px solid var(--primary);
    background-color: #fff;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
  }
  #hero-1467 .cs-tag {
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.75rem;
    padding: 0 2rem 0 1.75rem;
    overflow: hidden;
    color: var(--headerColor);
    border-radius: 2.5rem;
    display: inline-block;
    position: absolute;
    top: 0.5rem;
    right: 0;
    z-index: 1;
    transform: rotate(14deg);
    transform-origin: right;
    background-color: var(--primary);
  }
  #hero-1467 .cs-tag:before {
    /* background color */
    content: "";
    height: 100%;
    background: var(--primary);
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    right: 20px;
    z-index: -1;
  }
  #hero-1467 .cs-tag:after {
    /* triangle */
    content: "";
    width: 1.5625rem;
    height: 1.5625rem;
    background-color: var(--primary);
    opacity: 1;
    overflow: hidden;
    position: absolute;
    display: block;
    top: 50%;
    right: 0.375rem;
    z-index: -1;
    transform: translateY(-50%) rotate(45deg);
  }
  #hero-1467 .cs-dot {
    width: 0.5rem;
    height: 0.5rem;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    right: 0.9375rem;
    top: 50%;
    transform: translateY(-50%);
  }
  #hero-1467 .cs-h3 {
    /* 31px - 39px */
    font-size: clamp(1.9375rem, 4vw, 2.4375rem);
    font-weight: 700;
    text-align: inherit;
    max-width: 20ch;
    margin: 0 0 0.5rem 0;
    text-transform: uppercase;
    color: var(--headerColor);
  }
  #hero-1467 .cs-expires {
    font-size: 1rem;
    line-height: 1.5em;
    text-align: inherit;
    margin: 0 0 1rem 0;
    color: var(--secondary);
    display: block;
  }
  #hero-1467 .cs-form-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 40.625rem;
    margin: 0 0 1.5rem 0;
    color: var(--bodyTextColor);
  }
  #hero-1467 .cs-form {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
  }
  #hero-1467 .cs-label {
    font-size: 0.875rem;
    width: 100%;
    color: #767676;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0.25rem;
  }
  #hero-1467 .cs-input,
  #hero-1467 select {
    font-size: 1rem;
    width: 100%;
    height: 3.5rem;
    padding: 0;
    padding-left: 1.5rem;
    color: var(--bodyTextColor);
    background-color: #f7f7f7;
    border: none;
    /* prevents padding from adding to height and width */
    box-sizing: border-box;
    transition: border-color 0.3s;
  }
  #hero-1467 .cs-input:hover,
  #hero-1467 select:hover {
    border-color: var(--secondary);
  }
  #hero-1467 .cs-input:focus,
  #hero-1467 select:focus {
    outline: 1px solid var(--secondary);
  }
  #hero-1467 .cs-input::placeholder,
  #hero-1467 select::placeholder {
    color: #7d799c;
    opacity: 0.6;
  }
  #hero-1467 .cs-textarea {
    min-height: 5.9375rem;
    padding-top: 1.5rem;
    margin-bottom: 0.75rem;
    font-family: inherit;
  }
  #hero-1467 .cs-submit {
    text-transform: uppercase;
    max-width: 12.9375rem;
    margin: 0 0 1rem 0;
    border: none;
  }
  #hero-1467 .cs-submit:hover {
    cursor: pointer;
  }
  #hero-1467 .cs-disclaimer {
    font-size: 0.875rem;
    text-align: left;
    line-height: 1.5em;
    margin: 0 auto 0 0;
    color: var(--bodyTextColor);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.25rem;
  }
  #hero-1467 .cs-disclaimer-icon {
    width: 1.25rem;
    height: auto;
  }
  #hero-1467 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
  }
  #hero-1467 .cs-background:before {
    /* Overlay */
    content: "";
    width: 100%;
    height: 100%;
    background: #1a1a1a;
    opacity: 0.88;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
    /* prevents the cursor from interacting with it */
    pointer-events: none;
  }
  #hero-1467 .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) {
  #hero-1467 .cs-form {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
  }
  #hero-1467 .cs-label {
    grid-column: span 12;
  }
  #hero-1467 .cs-label:nth-of-type(1),
  #hero-1467 .cs-label:nth-of-type(2),
  #hero-1467 .cs-label:nth-of-type(3),
  #hero-1467 .cs-label:nth-of-type(4) {
    grid-column: span 6;
  }
  #hero-1467 .cs-submit {
    grid-column: span 12;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #hero-1467 .cs-container {
    max-width: 86.375rem;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  #hero-1467 .cs-right {
    align-items: flex-start;
  }
  #hero-1467 .cs-title:before {
    margin-left: 0;
  }
  #hero-1467 .cs-content {
    text-align: left;
    align-items: flex-start;
  }
  #hero-1467 .cs-flex {
    text-align: left;
    align-items: flex-start;
  }
}
/* Desktop Parallax Effect - 1600px */
@media only screen and (min-width: 100rem) {
  #hero-1467 {
    background: url("/assets/images/epoxy-flooring2.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }
  #hero-1467 .cs-background img {
    display: none;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #hero-1467 .cs-right {
    background-color: var(--medium);
  }
  body.dark-mode #hero-1467 .cs-h3,
  body.dark-mode #hero-1467 .cs-form-text,
  body.dark-mode #hero-1467 .cs-label,
  body.dark-mode #hero-1467 .cs-disclaimer {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #hero-1467 .cs-disclaimer-icon {
    /* turns it white */
    filter: grayscale(1) brightness(1000%);
  }
  body.dark-mode #hero-1467 .cs-input,
  body.dark-mode #hero-1467 select {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #hero-1467 option {
    background-color: #3a3a3a;
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #hero-1467 .cs-form-text {
    opacity: 0.8;
  }
}
/* Mobile - 360px */
/* you can copy and paste these styles into the section CSS where you placed the #list-1405 HTML, or you can place it in your global stylesheet so you can reuse the HTML in any Side By Side section on your site. That way when you make changes to it, it will also change everywhere in the site */
@media only screen and (min-width: 0rem) {
  #list-1405 {
    width: 100%;
    margin: 1.5rem 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  #list-1405 .cs-li {
    font-size: var(--bodyFontSize);
    list-style: none;
    line-height: 1.5em;
    width: 100%;
    color: var(--bodyTextColorWhite);
    display: flex;
    justify-content: flex-start;
    /* push icon top the top so if the list item goes to two lines the icon stays at the top */
    align-items: flex-start;
    gap: 0.5rem;
  }
  #list-1405 .cs-icon {
    width: 1.5rem;
    height: auto;
    /* adds extra space between the icon and top of parent so it's more centered */
    margin-top: 1px;
    display: block;
  }
}
/* Dark Mode, copy and paste only the styles inside the #list-1405 brackets into your section's dark mode media query */
@media only screen and (min-width: 0rem) {
  body.dark-mode #list-1405 .cs-li {
    color: var(--bodyTextColorWhite);
    opacity: 0.8;
  }
  body.dark-mode #list-1405 .cs-icon {
    filter: grayscale(1) brightness(1000%);
  }
}
/*-- -------------------------- -->
<---          Reviews           -->
<--- -------------------------- -*/
@media only screen and (min-width: 0rem) {
  #reviews-1234 {
    padding: var(--sectionPadding);
    background-color: rgba(219, 122, 10, 0.05);
  }
  #reviews-1234 .cs-container {
    width: 94%;
    max-width: 70rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  #reviews-1234 .cs-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 2.5rem;
  }
  #reviews-1234 .cs-title {
    max-width: 100%;
  }
  #reviews-1234 .cs-review-group {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  #reviews-1234 .cs-review {
    background-color: #ffffff;
    padding: 1.5rem;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
  }
  #reviews-1234 .cs-review-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
  }
  #reviews-1234 .cs-name {
    font-weight: 600;
    margin: 0;
  }
  #reviews-1234 .cs-date {
    font-size: 0.875rem;
    color: #777;
    margin: 0;
  }
  #reviews-1234 .cs-google-icon {
    width: 2rem;
    height: 2rem;
  }
  #reviews-1234 .cs-stars {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-bottom: 1rem;
  }
  #reviews-1234 .cs-stars img {
    width: 1rem;
    height: 1rem;
  }
  #reviews-1234 .cs-review-text {
    font-size: 1rem;
    color: #333;
    line-height: 1.5;
  }
  #reviews-1234 .cs-button-solid {
    margin-top: 1.5rem;
  }
}
@media only screen and (min-width: 48rem) {
  #reviews-1234 .cs-review-group {
    grid-template-columns: repeat(2, 1fr);
  }
  #reviews-1234 .cs-review {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  #reviews-1234 .cs-review:hover {
    transform: translateY(-0.5rem);
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.1);
  }
}
@media only screen and (min-width: 48rem) {
  #reviews-1234 .cs-container {
    max-width: 80rem;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #reviews-1234 {
    background-color: #1a1a1a;
  }
  body.dark-mode #reviews-1234 .cs-review {
    background-color: #2a2a2a;
  }
  body.dark-mode #reviews-1234 .cs-name,
  body.dark-mode #reviews-1234 .cs-review-text {
    color: #f1f1f1;
  }
  body.dark-mode #reviews-1234 .cs-date {
    color: #aaa;
  }
  body.dark-mode #reviews-1234 .cs-topper,
  body.dark-mode #reviews-1234 .cs-title {
    color: #ffffff;
  }
}
/*-- -------------------------- -->
<---          Services          -->
<--- -------------------------- -*/
/* Mobile */
@media only screen and (min-width: 0em) {
  #home-services {
    /* 60px - 100px top and bottom */
    padding: clamp(3.75em, 7.82vw, 6.25em) 1rem;
  }
  #home-services .container {
    max-width: 82.5rem;
    width: 100%;
  }
  #home-services .title {
    margin-bottom: 1em;
    text-align: left;
  }
  #home-services .title:before {
    bottom: -0.3125em;
    left: 0;
    transform: none;
  }
  #home-services .text {
    margin-bottom: 3rem;
    max-width: 21.875rem;
    color: #1a1a1a;
  }
  #home-services .content-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
  }
  #home-services .services-group {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0;
    margin-top: 3em;
    padding: 0;
    gap: 1rem;
  }
  #home-services .services-group li {
    position: relative;
    display: block;
    max-height: 15.625rem;
    height: 60vw;
    width: 100%;
    padding: 1.125rem 1.75rem;
    list-style: none;
    font-size: clamp(1rem, 1.7vw, 1.5rem);
    color: #fff;
  }
  #home-services .services-group li .heading {
    display: block;
    width: 50%;
    line-height: 1.2em;
  }
  #home-services .services-group li picture {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    height: 100%;
    width: 100%;
  }
  #home-services .services-group li picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  #home-services .services-group li picture:before {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    /* top right box */
    content: "";
    opacity: 0.3;
    display: block;
    background: #000;
    height: 100%;
    width: 100%;
    transition: opacity 0.3s;
  }
  #home-services .cs-button-solid {
    display: none;
  }
}
/* Tablet */
@media only screen and (min-width: 700px) {
  #home-services .services-group {
    flex-direction: row;
  }
  #home-services .services-group li {
    max-height: 29.125rem;
    height: 50vw;
  }
  #home-services .cs-button-solid {
    display: block;
  }
}
/* Small Desktop */
@media only screen and (min-width: 64em) {
  #home-services .container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #home-services .content-left {
    flex: none;
    padding-right: 1rem;
  }
  #home-services .services-group {
    margin: 0;
    width: 100%;
  }
  #home-services .services-group li {
    height: 35vw;
    max-width: 19.6875rem;
    width: 33%;
  }
  #home-services .services-group li picture {
    overflow: hidden;
  }
  #home-services .services-group li picture img {
    transition: transform 0.6s;
  }
  #home-services .services-group li:hover picture img {
    transform: scale(1.2);
  }
  #home-services .services-group li:hover picture:before {
    opacity: 0.7;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0em) {
  body.dark-mode #home-services .text {
    color: #fff;
  }
}
/*-- -------------------------- -->
<---          Services          -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-2279 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
  }
  #services-2279 .cs-container {
    width: 100%;
    /* changes to 1280px at tablet */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #services-2279 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    max-width: 50rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }
  #services-2279 .cs-topper {
    color: var(--primary);
  }
  #services-2279 .cs-title {
    color: var(--bodyTextColorWhite);
    margin: 0;
    max-width: none;
  }
  #services-2279 .cs-text {
    opacity: 0.8;
  }
  #services-2279 .cs-card-group {
    margin: 0;
    padding: 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: clamp(0.5rem, 2vw, 1.25rem);
  }
  #services-2279 .cs-item {
    /* place this in a variable to reuse for the s-icon-wrapper placement */
    --itemPadding: clamp(1rem, 3.5vw, 3rem);
    width: 100%;
    text-align: left;
    list-style: none;
    margin: 0;
    /* 16px - 48px */
    padding: var(--itemPadding);
    background-color: #fff;
    border: 1px solid #e7e7e8;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    grid-column: span 12;
    grid-row: span 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    z-index: 1;
    transition: scale 0.3s;
  }
  #services-2279 .cs-item::before {
    width: 100%;
    height: 0px;
    background-color: var(--primary);
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    transition: height 0.3s;
  }
  #services-2279 .cs-item:hover .cs-background {
    opacity: 1;
  }
  #services-2279 .cs-item:hover::before {
    height: 4px;
  }
  #services-2279 .cs-icon-wrapper {
    /* 48px - 100px */
    width: clamp(3rem, 7vw, 6.25rem);
    height: clamp(3rem, 7vw, 6.25rem);
    margin: 0;
    background-color: rgba(219, 122, 10, 0.1);
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: var(--itemPadding);
    right: var(--itemPadding);
    z-index: 1;
    transition: transform 0.5s, border-radius 0.5s;
  }
  #services-2279 .cs-icon-wrapper:before {
    content: "";
    width: 100%;
    height: 100%;
    background: var(--primary);
    opacity: 0.1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #services-2279 .cs-icon {
    /* 24px - 48px */
    width: clamp(1.5rem, 4vw, 3rem);
    height: auto;
    transition: transform 0.5s;
  }
  #services-2279 .cs-h3 {
    /* 20px - 25px */
    font-size: 1.25rem;
    line-height: 1.2em;
    text-align: inherit;
    margin: 0 0 0.75rem 0;
    color: var(--headerColor);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 1rem;
    position: relative;
    z-index: 1;
  }
  #services-2279 .cs-h3:before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    background: var(--primary);
    opacity: 1;
    display: block;
  }
  #services-2279 .cs-item-text {
    font-size: 1rem;
    line-height: 1.5em;
    max-width: 18.75rem;
    /* 56px - 108px */
    padding: 0;
    color: var(--bodyTextColor);
  }
  #services-2279 .cs-link {
    text-decoration: none;
    font-size: 1rem;
    line-height: 1.2em;
    text-transform: uppercase;
    font-family: var(--headerFontFamily);
    font-weight: bold;
    margin: 0;
    padding: 0 0 0.375rem 0;
    color: var(--headerColor);
    display: inline-flex;
    justify-content: space-between;
    gap: 0.75rem;
    position: relative;
    transition: color 0.3s;
  }
  #services-2279 .cs-link:hover .cs-arrow {
    transform: rotate(45deg);
  }
  #services-2279 .cs-link:before {
    /* underline */
    content: "";
    width: 100%;
    height: 1px;
    background: currentColor;
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 0rem;
    left: 0;
  }
  #services-2279 .cs-arrow {
    width: 1.25rem;
    height: auto;
    display: block;
    transition: transform 0.3s;
  }
  #services-2279 .cs-background {
    width: 100%;
    height: 100%;
    opacity: 0;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: opacity 0.3s;
  }
  #services-2279 .cs-background:before {
    /* background color overlay */
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #1a1a1a;
    opacity: 0.84;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #services-2279 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes img tag act as a background image */
    object-fit: cover;
  }
  #services-2279 .cs-accent {
    width: 100%;
    height: 21.6875rem;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #services-2279 .cs-accent:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #111418;
    opacity: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
  }
  #services-2279 .cs-accent img {
    width: 100%;
    height: 100%;
    opacity: 0.24;
    mix-blend-mode: soft-light;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  #services-2279 .cs-button-solid {
    margin-top: 1.5rem;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-2279 .cs-container {
    max-width: 80rem;
  }
  #services-2279 .cs-item {
    grid-column: span 6;
    justify-content: flex-start;
  }
  #services-2279 .cs-link {
    margin-top: auto;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-2279 .cs-item {
    grid-column: span 4;
  }
  #services-2279 .cs-accent {
    /* 435px - 526px */
    height: clamp(27.1875rem, 41vw, 32.875rem);
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #services-2279 .cs-item {
    background-color: var(--dark);
    border-color: rgba(255, 255, 255, 0.2);
  }
  body.dark-mode #services-2279 .cs-item:hover .cs-icon-wrapper:before {
    background-color: var(--primary);
    opacity: 0.2;
  }
  body.dark-mode #services-2279 .cs-h3,
  body.dark-mode #services-2279 .cs-item-text,
  body.dark-mode #services-2279 .cs-link {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #services-2279 .cs-icon-wrapper {
    background-color: var(--dark);
  }
  body.dark-mode #services-2279 .cs-icon-wrapper:before {
    background-color: #000;
    opacity: 0.3;
    transition: background-color 0.3s, opacity 0.3s;
  }
  body.dark-mode #services-2279 .cs-arrow,
  body.dark-mode #services-2279 .cs-icon {
    filter: grayscale(1) brightness(10000%);
  }
}
/*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #RPsbs-2278,
  #RPsbs-2278a,
  #RPsbsr-2278 {
    background-color: #f8f8f8;
    padding: var(--sectionPadding);
    /* clips the green background pseudo from overflowing the section */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px, changed clamp at Desktop */
    gap: clamp(3rem, 6vw, 4rem);
    position: relative;
    z-index: 1;
  }
  #RPsbs-2278 .cs-header,
  #RPsbs-2278a .cs-header,
  #RPsbsr-2278 .cs-header {
    width: 100%;
    /* changes to 1280px at Desktop */
    max-width: 43.75rem;
    margin: auto;
  }
  #RPsbs-2278 .cs-container,
  #RPsbs-2278a .cs-container,
  #RPsbsr-2278 .cs-container {
    width: 100%;
    /* changes to 1280px at tablet */
    max-width: 43.75rem;
    margin: auto;
    padding: var(--sectionPadding);
    padding-left: 0;
    padding-right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px, changed clamp at tablet */
    gap: clamp(3rem, 6vw, 4.5rem);
    position: relative;
    z-index: 1;
  }
  #RPsbs-2278 .cs-container:before,
  #RPsbs-2278a .cs-container:before,
  #RPsbsr-2278 .cs-container:before {
    /* green background */
    content: "";
    width: 100vw;
    height: 100%;
    background: #ffffff;
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
  }
  #RPsbs-2278 .cs-content,
  #RPsbs-2278a .cs-content,
  #RPsbsr-2278 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 42.875rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #RPsbs-2278 .cs-title,
  #RPsbs-2278a .cs-title,
  #RPsbsr-2278 .cs-title {
    margin: 0;
    max-width: 25ch;
    width: 100%;
  }
  #RPsbs-2278 .cs-title span,
  #RPsbs-2278a .cs-title span,
  #RPsbsr-2278 .cs-title span {
    display: block;
  }
  #RPsbs-2278 .cs-h3-og,
  #RPsbs-2278a .cs-h3-og,
  #RPsbsr-2278 .cs-h3-og {
    font-size: 1.875rem;
    line-height: 1.2em;
    font-weight: 700;
    margin: 0 0 1rem;
    color: var(--headerColor);
  }
  #RPsbs-2278 .cs-h3,
  #RPsbs-2278a .cs-h3,
  #RPsbsr-2278 .cs-h3 {
    /* 25px - 39px */
    font-size: var(--headerFontSize);
    line-height: 1.2em;
    margin: 0 0 1rem;
    font-weight: 700;
    font-family: var(--headerFontFamily);
    color: var(--headerColor);
  }
  #RPsbs-2278 .cs-text,
  #RPsbs-2278a .cs-text,
  #RPsbsr-2278 .cs-text {
    margin-bottom: 1rem;
    width: 100%;
    max-width: none;
    /* uncomment this style if you remove the list for consistent styling*/
  }
  #RPsbs-2278 .cs-heading,
  #RPsbs-2278a .cs-heading,
  #RPsbsr-2278 .cs-heading {
    font-size: 1.25rem;
    line-height: 1.2em;
    font-weight: 700;
    margin: 0 0 1rem;
    color: var(--headerColor);
    font-family: var(--headerFontFamily);
    text-transform: uppercase;
  }
  #RPsbs-2278 .cs-ul,
  #RPsbs-2278a .cs-ul,
  #RPsbsr-2278 .cs-ul {
    width: 100%;
    margin: 0 0 2rem 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  #RPsbs-2278 .cs-li,
  #RPsbs-2278a .cs-li,
  #RPsbsr-2278 .cs-li {
    list-style: none;
    font-size: 1rem;
    line-height: 1.5em;
    color: var(--bodyTextColor);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.75rem;
    position: relative;
    z-index: 1;
  }
  #RPsbs-2278 .cs-li:before,
  #RPsbs-2278a .cs-li:before,
  #RPsbsr-2278 .cs-li:before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    margin-top: 0.4375rem;
    background: var(--primary);
    opacity: 1;
    display: block;
    flex: none;
    transform: rotate(45deg);
  }
  #RPsbs-2278 .cs-number,
  #RPsbs-2278a .cs-number,
  #RPsbsr-2278 .cs-number {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.6vw, 1rem);
    font-weight: 700;
    /* 24px - 28px */
    width: clamp(1.5rem, 2.9vw, 1.75rem);
    height: clamp(1.5rem, 2.9vw, 1.75rem);
    margin-right: 0.75rem;
    border-radius: 50%;
    background: var(--headerColor);
    color: var(--primary);
    display: flex;
    justify-content: center;
    align-items: center;
    /* we set this element to align to the top of the li, so if there's 
            multiple lines it will stay at the top instead of the center of the text */
    align-self: flex-start;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #RPsbs-2278 .cs-picture,
  #RPsbs-2278a .cs-picture,
  #RPsbsr-2278 .cs-picture {
    width: 100%;
    height: 91.14vw;
    max-height: 22.5rem;
    margin: 0;
    position: relative;
    display: block;
  }
  #RPsbs-2278 .cs-picture img,
  #RPsbs-2278a .cs-picture img,
  #RPsbsr-2278 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}
/* Desktop - 768px */
@media only screen and (min-width: 64rem) {
  #RPsbs-2278 .cs-header,
  #RPsbs-2278a .cs-header,
  #RPsbsr-2278 .cs-header {
    max-width: 80rem;
  }
  #RPsbs-2278 .cs-container,
  #RPsbs-2278a .cs-container,
  #RPsbsr-2278 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
  #RPsbs-2278 .cs-container:before,
  #RPsbs-2278a .cs-container:before,
  #RPsbsr-2278 .cs-container:before {
    /* 110px - 335px */
    margin-left: calc(clamp(110px, 14vw, 335px) * -1);
    left: 50%;
    transform: none;
  }
  #RPsbs-2278 .cs-picture,
  #RPsbs-2278a .cs-picture,
  #RPsbsr-2278 .cs-picture {
    max-width: 32.625rem;
    height: auto;
    max-height: 100%;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #RPsbs-2278,
  body.dark-mode #RPsbs-2278a,
  body.dark-mode #RPsbsr-2278 {
    background-color: rgba(0, 0, 0, 0.2);
  }
  body.dark-mode #RPsbs-2278 .cs-container:before,
  body.dark-mode #RPsbs-2278a .cs-container:before,
  body.dark-mode #RPsbsr-2278 .cs-container:before {
    background-color: var(--dark);
  }
  body.dark-mode #RPsbs-2278 .cs-title,
  body.dark-mode #RPsbs-2278a .cs-title,
  body.dark-mode #RPsbsr-2278 .cs-title,
  body.dark-mode #RPsbs-2278 .cs-li,
  body.dark-mode #RPsbs-2278a .cs-li,
  body.dark-mode #RPsbsr-2278 .cs-li,
  body.dark-mode #RPsbs-2278 .cs-h3,
  body.dark-mode #RPsbs-2278a .cs-h3,
  body.dark-mode #RPsbsr-2278 .cs-h3,
  body.dark-mode #RPsbs-2278 .cs-heading,
  body.dark-mode #RPsbs-2278a .cs-heading,
  body.dark-mode #RPsbsr-2278 .cs-heading,
  body.dark-mode #RPsbs-2278 .cs-h3-og,
  body.dark-mode #RPsbs-2278a .cs-h3-og,
  body.dark-mode #RPsbsr-2278 .cs-h3-og {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #RPsbs-2278 .cs-text,
  body.dark-mode #RPsbs-2278a .cs-text,
  body.dark-mode #RPsbsr-2278 .cs-text,
  body.dark-mode #RPsbs-2278 .cs-li,
  body.dark-mode #RPsbs-2278a .cs-li,
  body.dark-mode #RPsbsr-2278 .cs-li {
    opacity: 0.8;
  }
}
/*-- -------------------------- -->
<---      Side By Side A        -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #RPsbs-2278a {
    padding-top: 0;
  }
}
/*-- -------------------------- -->
<---   Side By Side Reverse     -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #RPsbsr-2278 {
    padding-top: 0;
    padding-bottom: 0;
  }
}
/* Desktop - 768px */
@media only screen and (min-width: 64em) {
  #RPsbsr-2278 {
    padding: var(--sectionPadding);
    padding-top: 0;
  }
  #RPsbsr-2278 .cs-container {
    justify-content: flex-end;
  }
  #RPsbsr-2278 .cs-container:before {
    margin-left: 0;
    /* 110px - 335px */
    margin-right: calc(clamp(110px, 14vw, 335px) * -1);
    right: 50%;
    left: auto;
    transform: none;
  }
  #RPsbsr-2278 .cs-picture {
    /* sends it to the right in the 2nd position */
    order: 2;
  }
}
/*-- -------------------------- -->
<---           Video            -->
<--- -------------------------- -*/
/* Mobile */
@media only screen and (min-width: 0rem) {
  #video-2280 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
  }
  #video-2280 .cs-container {
    max-width: 80rem;
    margin: auto;
  }
  #video-2280 .cs-content {
    /* 317px - 524px */
    padding-top: clamp(19.8125rem, 32vw, 24rem);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }
  #video-2280 .cs-title {
    max-width: 46.125rem;
    margin: 0;
    color: var(--bodyTextColorWhite);
  }
  #video-2280 .cs-title span {
    display: block;
  }
  #video-2280 .cs-text {
    color: var(--bodyTextColorWhite);
    margin-top: 1.5rem;
  }
  #video-2280 .cs-link {
    font-size: 1.25rem;
    line-height: 1.2em;
    text-transform: uppercase;
    text-decoration: none;
    font-family: var(--headerFontFamily);
    font-weight: 700;
    margin: 0;
    color: var(--bodyTextColorWhite);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
  }
  #video-2280 .cs-link:hover .cs-wrapper {
    transform: scale(1.1);
  }
  #video-2280 .cs-wrapper {
    width: 5rem;
    height: 5rem;
    background-color: var(--primary);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    order: -1;
    transition: transform 0.3s;
  }
  #video-2280 .cs-icon {
    width: 1.5rem;
    height: 1.5rem;
    margin-left: 0.25rem;
    display: block;
  }
  #video-2280 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #video-2280 .cs-background:before {
    /* background color overlay */
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: linear-gradient(to bottom, transparent, #000000);
    opacity: 0.72;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #video-2280 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes img tag act as a background image */
    object-fit: cover;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #video-2280 .cs-content {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
  #video-2280 .cs-link,
  #video-2280 .cs-wrapper {
    order: initial;
  }
}
