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

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cta-1235 {
    background-color: #040818;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
  }
  #cta-1235 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #cta-1235 .cs-topper,
  #cta-1235 .cs-title,
  #cta-1235 .cs-text {
    color: white;
    position: relative;
    z-index: 20;
  }
  #cta-1235 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    max-width: 39.375rem;
    padding: var(--sectionPadding);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
    z-index: 20;
  }

  #cta-1235 .cs-topper,
  #cta-1235 .cs-text {
    color: var(--headerColor);
  }
  #cta-1235 .cs-text {
    margin-bottom: 1rem;
  }
  #cta-1235 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #cta-1235 .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: #1a1a1a;
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    transition: color 0.3s;
  }
  #cta-1235 .cs-button-solid:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0%;
    background: #fff;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #cta-1235 .cs-button-solid:hover {
    color: #1a1a1a;
  }
  #cta-1235 .cs-button-solid:hover:before {
    width: 100%;
  }
  #cta-1235 .cs-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* 16px - 20px */
    gap: clamp(1rem, 2.3vw, 1.25rem);
  }
  #cta-1235 .cs-input {
    font-size: 1rem;
    width: 100%;
    height: clamp(2.875rem, 5.5vw, 3.5rem);
    margin: 0;
    padding: 0;
    padding-left: 1.25rem;
    border: none;
    /* prevents padding from adding to width and height */
    box-sizing: border-box;
    display: block;
  }
  #cta-1235 .cs-input::placeholder {
    color: #767676;
  }
  #cta-1235 .cs-submit {
    width: 100%;
    padding: 0 2rem;
    border: none;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #cta-1235 .cs-background {
    width: 100%;
    height: 23.75rem;
    overflow: hidden;
    display: hidden;
    position: relative;
  }
  #cta-1235 .cs-background:before {
    /* yellow slants */
    content: "";
    width: 21.875rem;
    height: 300%;
    background: #040818;
    opacity: 1;
    position: absolute;
    display: block;
    top: -12.5rem;
    left: -11.875rem;
    z-index: 10;
    transform: rotate(-30deg);
    outline: 3.125rem solid rgba(24, 30, 66, 0.4);
  }
  #cta-1235 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes img tag act as a background image */
    object-fit: cover;
  }
  #cta-1235 .cs-floater {
    width: 70%;
    max-width: 40.75rem;
    height: auto;
    opacity: 0.1;
    position: absolute;
    top: 1;
    left: 0;
    z-index: 10;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cta-1235 {
    /* moved padding back to the section container */
    padding: var(--sectionPadding);
  }
  #cta-1235 .cs-container {
    align-items: center;
    flex-direction: row;
    justify-content: flex-start;
  }
  #cta-1235 .cs-content {
    text-align: left;
    width: 57%;
    padding: 0;
    align-items: flex-start;
    position: relative;
    z-index: initial;
  }
  #cta-1235 .cs-content:before {
    content: "";
    width: 34.875rem;
    height: 500%;
    background: #040818;
    opacity: 1;
    position: absolute;
    display: block;
    top: -15.25rem;
    right: -4.875rem;
    z-index: 1;
    transform: rotate(-30deg);
    outline: 3.125rem solid rgba(4, 22, 43, 0.09);
  }
  #cta-1235 .cs-topper,
  #cta-1235 .cs-title,
  #cta-1235 .cs-text {
    color: white;
    position: relative;
    z-index: 20;
  }
  #cta-1235 .cs-form {
    flex-direction: row;
    justify-content: flex-start;
    position: relative;
    z-index: 20;
  }
  #cta-1235 .cs-input {
    width: 100%;
  }
  #cta-1235 .cs-submit {
    width: auto;
  }
  #cta-1235 .cs-background {
    width: 60%;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
  }
  #cta-1235 .cs-background:before {
    /* moved it to the cs-content for easier positioning */
    display: none;
  }
}
/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #cta-1235 {
    min-height: 30.5rem;
    display: flex;
    align-items: center;
  }
}
#cta-1235 .cs-topper,
#cta-1235 .cs-title,
#cta-1235 .cs-text {
  color: white;
  position: relative;
  z-index: 20;
}
/*-- -------------------------- -->
<---            CTA             -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cta-403 {
    padding: var(--sectionPadding);
    position: relative;
  }
  #cta-403 .cs-background {
    width: 100%;
    height: 100%;
    background-blend-mode: multiply;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #cta-403 .cs-background:before {
    /* background color overlay */
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #1a1a1a;
    opacity: 0.8;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #cta-403 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes img tag act as a background image */
    object-fit: cover;
    /* positions the image inside the parent */
    object-position: 0% 30%;
  }
  #cta-403 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #cta-403 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    max-width: 32.3125rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }
  #cta-403 .cs-title,
  #cta-403 .cs-text {
    color: var(--bodyTextColorWhite);
  }
  #cta-403 .cs-text {
    opacity: 0.8;
    margin-bottom: 1rem;
  }
  #cta-403 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #cta-403 .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: #000;
    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;
    box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.5);
  }
  #cta-403 .cs-button-solid:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0%;
    background: #fff;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: 0.25rem;
    transition: width 0.3s;
  }
  #cta-403 .cs-button-solid:hover:before {
    width: 100%;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cta-403 .cs-background {
    /* clips the black slant so it doesnt overflow */
    overflow: hidden;
  }
  #cta-403 .cs-background:before {
    width: 40%;
    opacity: 1;
  }
  #cta-403 .cs-background:after {
    /* black slant */
    content: "";
    width: 31.25rem;
    height: 93.75rem;
    margin-right: -3.125rem;
    background: -moz-linear-gradient(
      left,
      #1a1a1a 0%,
      #1a1a1a 57%,
      rgba(26, 26, 26, 0) 100%
    );
    background: -webkit-linear-gradient(
      left,
      #1a1a1a 0%,
      #1a1a1a 57%,
      rgba(26, 26, 26, 0) 100%
    );
    background: linear-gradient(
      to right,
      #1a1a1a 0%,
      #1a1a1a 57%,
      rgba(26, 26, 26, 0) 100%
    );
    opacity: 1;
    position: absolute;
    display: block;
    top: 50%;
    right: 50%;
    transform: rotate(10deg) translateY(-50%);
  }
  #cta-403 .cs-background img {
    width: 60%;
    object-position: right;
    left: auto;
    right: 0;
  }
  #cta-403 .cs-container {
    flex-direction: row;
    justify-content: space-between;
  }
  #cta-403 .cs-content {
    text-align: left;
    align-items: flex-start;
    width: 45%;
  }
  #cta-403 .cs-text,
  #cta-403 .cs-title {
    margin-left: 0;
  }
}

/*-- -------------------------- -->
<---         Why Choose         -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #why-choose-1571 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  #why-choose-1571 .cs-container {
    width: 100%;
    /* changes to 1280px at tablet */
    max-width: 25rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #why-choose-1571 .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;
  }
  #why-choose-1571 .cs-title {
    max-width: 27ch;
    margin: 0;
  }
  #why-choose-1571 .cs-topper {
    color: var(--secondary);
  }
  #why-choose-1571 .cs-card-wrapper {
    width: 100%;
    display: grid;
    grid-auto-flow: row;
    /* 16px - 20px */
    column-gap: clamp(1rem, 2vw, 1.25rem);
    row-gap: 2.5rem;
  }
  #why-choose-1571 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    /* 24px - 60px */
    gap: clamp(1.5rem, 5vw, 3.75rem);
  }
  #why-choose-1571 .cs-item {
    list-style: none;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
  }
  #why-choose-1571 .cs-icon-wrapper {
    /* 60px - 80px */
    width: clamp(3.75rem, 5vw, 5rem);
    height: clamp(3.75rem, 5vw, 5rem);
    border: 1px solid var(--primary);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    aspect-ratio: 1;
  }
  #why-choose-1571 .cs-icon-wrapper::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: var(--primary);
    opacity: 0.1;
    position: absolute;
    top: 0;
    left: 0;
  }
  #why-choose-1571 .cs-icon {
    /* 24px - 36px */
    width: clamp(1.5rem, 3vw, 2.25rem);
    height: auto;
  }
  #why-choose-1571 .cs-h3 {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2em;
    margin: 0 0 0.5rem;
    color: var(--headerColor);
  }
  #why-choose-1571 .cs-item-text {
    font-size: 0.875rem;
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColor);
  }
  #why-choose-1571 .cs-image {
    /* all these change on tablet */
    width: 70vw;
    max-width: 18.75rem;
    height: 70vw;
    max-height: 18.75rem;
    margin: auto;
    display: flex;
    justify-content: center;
    position: relative;
  }
  #why-choose-1571 .cs-image img {
    width: 100%;
    height: 100%;
    max-height: 18.75rem;
    object-fit: contain;
    z-index: 1;
  }
  #why-choose-1571 .cs-image::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: var(--primary);
    opacity: 0.1;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
  }
  #why-choose-1571 .cs-image::after {
    content: "";
    width: 75%;
    height: 75%;
    background-color: var(--primary);
    opacity: 0.3;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #why-choose-1571 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #why-choose-1571 .cs-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #why-choose-1571 .cs-container {
    max-width: 80rem;
  }
  #why-choose-1571 .cs-card-wrapper {
    align-items: center;
    grid-template-columns: repeat(3, 1fr);
  }
  #why-choose-1571 .cs-item {
    text-align: left;
    align-items: start;
  }
  #why-choose-1571 .cs-image {
    width: 30vw;
    max-width: 26.75rem;
    height: 30vw;
    max-height: 26.875rem;
  }
  #why-choose-1571 .cs-image img {
    max-height: 26.875rem;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #why-choose-1571 .cs-item {
    flex-direction: row;
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-1254 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 10;
  }
  #services-1254 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: clamp(3rem, 6vw, 4rem);
  }
  #services-1254 .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-1254 .cs-title {
    max-width: 20ch;
  }
  #services-1254 .cs-card-group {
    margin: 0;
    padding: 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 16px - 20px */
    gap: clamp(1rem, 2vw, 1.25rem);
  }
  #services-1254 .cs-item {
    width: 100%;
    text-align: left;
    list-style: none;
    margin: 0;
    padding: 0;
    background-color: #000;
    border-radius: 0.5rem;
    /* clips background image corners */
    overflow: hidden;
    box-shadow: 0px 12px 80px 0px rgba(26, 26, 26, 0.08);
    /* 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: flex-end;
    position: relative;
    z-index: 1;
  }
  #services-1254 .cs-item:hover .cs-item-background img {
    opacity: 0.4;
    transform: scale(1.3);
  }
  #services-1254 .cs-item:hover .cs-h3 {
    color: var(--primary);
  }
  #services-1254 .cs-item:before {
    content: "";
    width: 100%;
    height: 100%;
    border: 1px solid rgba(255, 255, 255, 0.4);
    /* prevents border from affecting height and width */
    box-sizing: border-box;
    border-radius: 0.5rem;
    /* prevents the mouse from interacting with it so when you hover hover the other elements inside the card it doesn't block your mouse from hovering over them */
    pointer-events: none;
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 10;
  }
  #services-1254 .cs-link {
    text-decoration: none;
    /* 125px - 236px */
    /* padding goes on the link, not the cs-item as is normal. We do this because we want the whole card to be hoverable. So we add the padding to the link tag to create the space inside the card. By adding the space inside the cs-link tag we can make the whole card hoverable since the padding is now contributing to the height and widht of the link */
    padding: clamp(7.8125rem, 19vw, 14.75rem) 1.5rem 1.5rem;
  }
  #services-1254 .cs-h3 {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
    line-height: 1.2em;
    font-weight: bold;
    text-align: inherit;
    margin: 0 0 0.75rem 0;
    color: var(--bodyTextColorWhite);
    transition: color 0.3s;
  }
  #services-1254 .cs-item-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    max-width: 28.125rem;
    margin: 0;
    padding: 0;
    color: var(--bodyTextColorWhite);
  }
  #services-1254 .cs-item-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #services-1254 .cs-item-background:before {
    /* background color overlay */
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #1a1a1a;
    opacity: 0.24;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #services-1254 .cs-item-background:after {
    /* background color overlay */
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000000 100%);
    opacity: 0.4;
    bottom: 0;
    left: 0;
    z-index: 2;
  }
  #services-1254 .cs-item-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes img tag act as a background image */
    object-fit: cover;
    transition: transform 0.6s, opacity 0.3s;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-1254 {
    padding-bottom: 0;
  }
  #services-1254 .cs-content {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
  }
  #services-1254 .cs-title {
    margin: 0;
  }
  #services-1254 .cs-flex-group {
    width: 50%;
  }
  #services-1254 .cs-item {
    grid-column: span 6;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-1254 .cs-item {
    grid-column: span 3;
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-1976 {
    padding: var(--sectionPadding);
    overflow: hidden;
    position: relative;
  }
  #services-1976::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: var(--primary);
    opacity: 0.05;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #services-1976 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #services-1976 .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-1976 .cs-wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #services-1976 .cs-ul {
    width: 100%;
    max-width: 39.375rem;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }
  #services-1976 .cs-li {
    list-style: none;
    margin: 0;
    /* 24px - 32px */
    padding: 0 0 2rem 0;
    border-bottom: 1px solid var(--primaryLight);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    /* 20px - 32px */
    gap: clamp(1.25rem, 3.5vw, 2rem);
  }
  #services-1976 .cs-li:last-of-type {
    padding: 0;
    border: none;
  }
  #services-1976 .cs-li-picture {
    margin: 0;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #services-1976 .cs-li-icon {
    /* 64px - 80px */
    width: clamp(4rem, 8vw, 15rem);
    height: auto;
    display: block;
  }
  #services-1976 .cs-h3 {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
    font-weight: 700;
    line-height: 1.2em;
    text-align: left;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
    transition: color 0.3s;
  }
  #services-1976 .cs-li-text {
    font-size: 1rem;
    line-height: 1.5em;
    text-align: left;
    margin: 0;
    color: var(--bodyTextColor);
  }
  #services-1976 .cs-card-group {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 16px - 20px */
    gap: clamp(1rem, 2vw, 1.25rem);
  }
  #services-1976 .cs-item {
    text-align: left;
    list-style: none;
    width: 100%;
    margin: 0 auto;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    /* 24px - 32px */
    padding: clamp(1.5rem, 3.2vw, 2rem);
    background-color: #fff;
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
    grid-column: span 12;
    grid-row: span 1;
    /* 24px -32px */
    gap: clamp(1.5rem, 3.2vw, 2rem);
    position: relative;
    z-index: 1;
    transition: border 0.3s;
  }
  #services-1976 .cs-item:hover .cs-h3 {
    color: var(--secondary);
  }
  #services-1976 .cs-item-text {
    font-size: 1rem;
    line-height: 1.5em;
    max-width: 28.125rem;
    margin: 0;
    margin-bottom: 1.5rem;
    padding: 0;
    color: var(--bodyTextColor);
  }
  #services-1976 .cs-link {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2em;
    text-align: inherit;
    text-decoration: none;
    margin-top: auto;
    color: var(--primary);
    border-bottom: 1px solid var(--primary);
  }
  #services-1976 .cs-picture {
    margin: 0;
    padding: 2.3125rem 0 0 0;
    overflow: hidden;
    border-radius: 0.5rem;
    display: flex;
    justify-content: flex-end;
    position: relative;
  }
  #services-1976 .cs-picture:before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: var(--primary);
    opacity: 0.05;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #services-1976 .cs-icon {
    width: 11.3125rem;
    height: auto;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-1976 .cs-content {
    text-align: left;
    align-items: flex-start;
  }
  #services-1976 .cs-wrapper {
    flex-direction: row;
  }
  #services-1976 .cs-ul {
    width: 90%;
    max-width: 23.125rem;
  }
  #services-1976 .cs-picture {
    padding: 2.3125rem 0 0 0;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-1976 .cs-ul {
    width: 37vw;
    max-width: 36.625rem;
    flex: none;
  }
  #services-1976 .cs-item {
    grid-column: span 6;
  }
}
/*-- -------------------------- -->
<---   Side By Side Reverse     -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #sbsr-599 {
    position: relative;
  }
  #sbsr-599 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #sbsr-599 .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 cs-content so the cs-background can be full width */
    padding: var(--sectionPadding);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }

  #sbsr-599 .cs-text {
    margin-bottom: 1rem;
  }
  #sbsr-599 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #sbsr-599 .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-599 .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-599 .cs-button-solid:hover:before {
    width: 100%;
  }
  #sbsr-599 .cs-background {
    display: block;
    position: relative;
    width: 100%;
    height: 16rem;
    z-index: 1;
  }
  #sbsr-599 .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) {
  #sbsr-599 {
    /* 90px - 150px */
    /* returned section padding to the section container, this Stitch has 1.5X padding top and bottom than the normal Stitch */
    padding: clamp(5.625rem, 9vw, 9.375rem) 1rem;
  }
  #sbsr-599 .cs-container {
    flex-direction: row;
    justify-content: flex-start;
  }
  #sbsr-599 .cs-background {
    width: 50%;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
  }
  #sbsr-599 .cs-content {
    width: 45%;
    padding: 0;
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-1083 {
    padding: var(--sectionPadding);
    background-color: #f7f7f7;
  }
  #services-1083 .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-1083 .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-1083 .cs-title {
    max-width: 20ch;
  }
  #services-1083 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: stretch;
    /* 16px - 20px */
    gap: clamp(1rem, 2vw, 1.25rem);
  }
  #services-1083 .cs-item {
    text-align: left;
    list-style: none;
    width: 100%;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    grid-column: span 12;
    position: relative;
    z-index: 1;
  }
  #services-1083 .cs-item:hover .cs-picture:before {
    opacity: 0.8;
  }
  #services-1083 .cs-item:hover .cs-picture img {
    transform: scale(1.2);
  }
  #services-1083 .cs-item:hover .cs-h3 {
    background-color: var(--primary);
  }
  #services-1083 .cs-picture {
    width: 100%;
    /* 180px - 240px */
    height: clamp(11.25rem, 24vw, 15rem);
    /* clips the image from overflowing parent on hover */
    overflow: hidden;
    display: block;
    position: relative;
  }
  #services-1083 .cs-picture:before {
    /* black hover overlay */
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    transition: opacity 0.3s;
  }
  #services-1083 .cs-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: transform 0.65s;
  }
  #services-1083 .cs-h3 {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
    line-height: 1.5em;
    font-weight: 700;
    text-align: inherit;
    width: 100%;
    margin: 0;
    /* 12px - 16px top & Bottom */
    /* 16px - 24px left & right */
    padding: clamp(0.75rem, 1.6vw, 1rem) clamp(1rem, 2.5vw, 1.5rem);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    background-color: #1a1a1a;
    color: var(--bodyTextColorWhite);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    /* 8px - 16px */
    gap: clamp(0.5rem, 1.5vw, 1rem);
    transition: background-color 0.3s;
  }
  #services-1083 .cs-item-text {
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    margin: 0 0 1.25rem;
    /* 16px - 24px */
    padding: clamp(1rem, 2.5vw, 1.25rem);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding-bottom: 0;
    color: var(--bodyTextColor);
  }
  #services-1083 .cs-link {
    font-size: 1rem;
    line-height: 1.2em;
    text-align: inherit;
    text-decoration: none;
    font-weight: 700;
    /* 16px - 24px */
    margin: 0 0 clamp(1rem, 2.5vw, 1.5rem) clamp(1rem, 2.5vw, 1.5rem);
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  #services-1083 .cs-link:hover .cs-arrow {
    transform: translateX(0.25rem);
  }
  #services-1083 .cs-arrow {
    width: 1.25rem;
    height: auto;
    display: block;
    transition: transform 0.3s;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-1083 .cs-container {
    max-width: 80rem;
  }
  #services-1083 .cs-item {
    grid-column: span 6;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-1083 .cs-item {
    grid-column: span 4;
  }
}

/*-- -------------------------- -->
<---         Subscribe          -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #subscribe-1719 {
    background-color: var(--primary);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 1;
  }
  #subscribe-1719 .cs-container {
    width: 100%;
    /* changes to 1312px at tablet */
    max-width: 34.375rem;
    margin: auto;
    padding: var(--sectionPadding);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #subscribe-1719 .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;
    position: relative;
    z-index: 1;
  }
  #subscribe-1719 .cs-title {
    max-width: 20ch;
  }
  #subscribe-1719 .cs-text {
    margin-bottom: 1rem;
  }
  #subscribe-1719 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #subscribe-1719 .cs-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
  }
  #subscribe-1719 .cs-input {
    font-size: 1rem;
    width: 100%;
    height: clamp(2.875rem, 5.5vw, 3.5rem);
    margin: 0;
    padding: 0;
    padding-left: 1.25rem;
    border: none;
    /* prevents padding from adding to width and height */
    box-sizing: border-box;
    display: block;
  }
  #subscribe-1719 .cs-input::placeholder {
    color: #767676;
  }
  #subscribe-1719 .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);
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
  }
  #subscribe-1719 .cs-button-solid:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0%;
    background: #000;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #subscribe-1719 .cs-button-solid:hover:before {
    width: 100%;
  }
  #subscribe-1719 .cs-submit {
    width: 100%;
    border: none;
    color: var(--bodyTextColorWhite);
  }
  #subscribe-1719 .cs-background {
    width: 100%;
    height: 100vw;
    max-height: 25rem;
    display: block;
    order: -1;
    position: relative;
    z-index: 2;
  }
  #subscribe-1719 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  #subscribe-1719 .cs-floater {
    /* 296px - 450px */
    width: clamp(18.5rem, 35vw, 28.125rem);
    height: auto;
    mix-blend-mode: soft-light;
    position: absolute;
    right: -8.0625rem;
    top: -9.375rem;
    z-index: -1;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #subscribe-1719 {
    flex-direction: row;
    align-items: stretch;
  }
  #subscribe-1719 .cs-container {
    max-width: 82rem;
    align-items: flex-start;
  }
  #subscribe-1719 .cs-content {
    width: 45vw;
    max-width: 39.375rem;
  }
  #subscribe-1719 .cs-background {
    width: 50%;
    max-height: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #subscribe-1719 .cs-content {
    /* remove the positioning so the cs-floater is now absolutely positioned to the nearest parent that has a declared position relative, which is the section parent */
    position: initial;
  }
  #subscribe-1719 .cs-form {
    flex-direction: row;
  }
  #subscribe-1719 .cs-button-solid {
    width: auto;
  }
  #subscribe-1719 .cs-floater {
    top: 50%;
    left: -12.5rem;
    transform: translateY(-50%);
  }
}
/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #subscribe-1719 .cs-content {
    width: 100%;
  }
  #subscribe-1719 .cs-background {
    margin-left: 7.375rem;
  }
}

#subscribe-1719 .cs-title {
  color: white;
}

#subscribe-1719 .cs-text {
  color: white;
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-1667 {
    padding: var(--sectionPadding);
    background-color: #f7f7f7;
    position: relative;
    overflow: hidden;
    z-index: 1;
  }
  #services-1667 .cs-container {
    width: 100%;
    /* changes to 1280px at small desktop */
    max-width: 36.5rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 40px - 64px */
    gap: clamp(2.5rem, 3.9vw, 4rem);
  }
  #services-1667 .cs-image-group {
    width: 100%;
    height: auto;
    margin: 0;
    position: relative;
  }
  #services-1667 .cs-picture {
    width: 100%;
    min-height: 20.5rem;
    display: block;
    position: relative;
  }
  #services-1667 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #services-1667 .cs-floater {
    width: clamp(20.125rem, 40vw, 28.1875rem);
    height: clamp(20.1875rem, 40vw, 28.25rem);
    position: absolute;
    bottom: 0rem;
    z-index: 1;
    mix-blend-mode: soft-light;
  }
  #services-1667 .cs-content {
    text-align: left;
    width: 100%;
    max-width: 40.625rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    flex: none;
  }
  #services-1667 .cs-title {
    /* 16px - 24px */
    margin: 0 0 clamp(1rem, 1.96vw, 1.5rem) 0;
  }
  #services-1667 .cs-text {
    /* 16px - 24px */
    margin: 0 0 clamp(1rem, 1.96vw, 1.5rem) 0;
  }
  #services-1667 .cs-faq-group {
    width: 100%;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    /* 16px - 20px */
    gap: clamp(1rem, 2.4vw, 1.25rem);
  }
  #services-1667 .cs-faq-item {
    list-style: none;
    width: 100%;
    background-color: white;
    border: 1px solid #e8e8e8;
    padding: 0;
    box-sizing: border-box;
    transition: border-bottom 0.3s;
  }
  #services-1667 .cs-faq-item.active .cs-indicator:before {
    transform: translate(-50%, -50%) rotate(360deg);
  }
  #services-1667 .cs-faq-item.active .cs-indicator:after {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  #services-1667 .cs-faq-item.active .cs-item-p {
    height: auto;
    padding-top: 1rem;
    opacity: 1;
    transform: scaleY(1);
  }
  #services-1667 .cs-faq-item:hover {
    cursor: pointer;
  }
  #services-1667 .cs-button {
    /* 16px - 20px */
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.2em;
    text-align: left;
    font-weight: bold;
    width: 100%;
    padding: 1rem 1rem 0 1rem;
    border: none;
    background: transparent;
    color: var(--headerColor);
    overflow: hidden;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    /* 16px - 24px */
    gap: clamp(1rem, 2.5vw, 1.5rem);
    position: relative;
    transition: background-color 0.3s, color 0.3s;
  }
  #services-1667 .cs-button:hover {
    cursor: pointer;
  }
  #services-1667 .cs-indicator {
    width: 1.5rem;
    height: 1.5rem;
    position: relative;
    z-index: 1;
    filter: invert(49%) sepia(86%) saturate(684%) hue-rotate(180deg)
      brightness(76%) contrast(178%); /* blue filter */
  }
  #services-1667 .cs-indicator:before {
    /* left line */
    content: "";
    width: 1rem;
    height: 0.125rem;
    background-color: #767676;
    opacity: 1;
    border-radius: 2px;
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.5s;
  }
  #services-1667 .cs-indicator:after {
    /* right line */
    content: "";
    width: 1rem;
    height: 0.125rem;
    background-color: #767676;
    opacity: 1;
    border-radius: 2px;
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
    transition: transform 0.5s;
  }
  #services-1667 .cs-button-text {
    width: 90%;
    padding: 0;
    display: block;
  }
  #services-1667 .cs-item-p {
    font-size: 0.875rem;
    line-height: 1.5em;
    width: 100%;
    max-width: none;
    height: 0;
    margin: 0;
    /* 16px - 24px */
    padding: 0 1rem 1rem 1rem;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    opacity: 0;
    color: var(--bodyTextColor);
    /* clips the text so it doesn't show up */
    overflow: hidden;
    position: relative;
    transition: opacity 0.3s, padding-bottom 0.3s, padding-top 0.3s;
  }
  #services-1667 .cs-icon {
    width: 2rem;
    height: 2rem;
    display: block;
    filter: invert(49%) sepia(86%) saturate(684%) hue-rotate(180deg)
      brightness(76%) contrast(178%);
  }
  #services-1667 .cs-button-solid {
    font-size: 1rem;
    font-weight: 700;
    line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    text-align: center;
    text-decoration: none;
    width: clamp(11.625rem, 23vw, 13.625rem);
    /* 28px - 40px */
    margin: clamp(1.75rem, 3.9vw, 2.5rem) 0 0 0;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    padding: 0 1.5rem;
    color: #fff;
    background-color: var(--primary);
    display: inline-block;
    position: relative;
    z-index: 1;
  }
  #services-1667 .cs-button-solid:before {
    content: "";
    width: 0%;
    height: 100%;
    background: #000;
    opacity: 1;
    /* add a border radius below this to round corners */
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #services-1667 .cs-button-solid:hover:before {
    width: 100%;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-1667 .cs-picture {
    height: 100%;
    min-width: 36.5rem;
    width: 48vw;
    right: 0;
    top: 0;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-1667 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
  #services-1667 .cs-content {
    width: 55%;
  }
  #services-1667 .cs-image-group {
    width: 100%;
    max-width: 33.875rem;
    order: 2;
  }
  #services-1667 .cs-picture {
    width: 100%;
    min-width: 100%;
  }
  #services-1667 .cs-floater {
    width: 28.1875rem;
    left: clamp(50%, 18vw, 75%);
    bottom: -6.25rem;
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-2130 {
    padding: var(--sectionPadding);
    /* background-color: #fdfaf8; */
    /* clips the svg wave from overflowing */
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #services-2130 .cs-container {
    width: 100%;
    /* changes to 1280px at tablet */
    max-width: 44rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #services-2130 .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-2130 .cs-title {
    margin: 0;
  }
  #services-2130 .cs-card-group {
    width: 100%;
    /* changes to 100% at tablet */
    max-width: 31.25rem;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 16px - 20px */
    gap: clamp(1rem, 1.5vw, 1.25rem);
  }
  #services-2130 .cs-item {
    text-align: left;
    list-style: none;
    width: 100%;
    height: 17.5rem;
    margin: 0;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0;
    /* clips the image corners */
    overflow: hidden;
    grid-column: span 12;
    grid-row: span 1;
    gap: 0.5rem;
    position: relative;
  }
  #services-2130 .cs-item:hover .cs-h3,
  #services-2130 .cs-item:focus-within .cs-h3 {
    transform: translateY(0);
  }
  #services-2130 .cs-item:hover .cs-fake-link,
  #services-2130 .cs-item:focus-within .cs-fake-link {
    height: auto;
    opacity: 1;
    transform: translateY(0);
  }
  #services-2130 .cs-item:hover .cs-background:before,
  #services-2130 .cs-item:focus-within .cs-background:before {
    height: 180%;
  }
  #services-2130 .cs-item:hover .cs-background img,
  #services-2130 .cs-item:focus-within .cs-background img {
    opacity: 0.5;
    transform: scale(1.1);
  }
  #services-2130 .cs-link {
    text-decoration: none;
    height: 100%;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
  }
  #services-2130 .cs-h3 {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
    font-weight: 700;
    line-height: 1.2em;
    text-align: inherit;
    margin: 0;
    color: var(--bodyTextColorWhite);
    /* transform down the same amount as the flex gap */
    transform: translateY(0.75rem);
    transition: transform 0.3s, color 0.3s;
  }
  #services-2130 .cs-fake-link {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2em;
    text-align: inherit;
    text-decoration: none;
    height: 0;
    margin: 0;
    overflow: hidden;
    color: var(--primary);
    opacity: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.25rem;
    transform: translateY(3.125rem);
    transition: height 0.3s, opacity 0.3s, transform 0.3s;
  }
  #services-2130 .cs-icon {
    width: 1.5rem;
    height: auto;
    display: block;
    transition: transform 0.3s;
  }
  #services-2130 .cs-background {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: #000;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #services-2130 .cs-background:before {
    /* gradient overlay */
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(
      0deg,
      rgba(0, 0, 0, 0.72) 14.59%,
      rgba(0, 0, 0, 0) 43.18%
    );
    opacity: 1;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: height 0.3s;
  }
  #services-2130 .cs-background img {
    width: 100%;
    height: 100%;
    /* Makes img tag act as a background image */
    object-fit: cover;
    position: absolute;
    z-index: -1;
    transition: transform 0.6s, opacity 0.3s;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-2130 .cs-container {
    max-width: 80rem;
  }
  #services-2130 .cs-card-group {
    max-width: 100%;
    grid-template-rows: 1fr;
  }
  #services-2130 .cs-item {
    /* 280px - 440px */
    min-height: clamp(17.5rem, 35vw, 27.5rem);
    grid-column: span 4;
  }
  #services-2130 .cs-item:nth-of-type(4),
  #services-2130 .cs-item:nth-of-type(5) {
    grid-column: span 6;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-2130 .cs-container {
    max-width: 115rem;
  }
  #services-2130 .cs-card-group {
    grid-template-columns: repeat(5, 1fr);
  }
  #services-2130 .cs-item {
    grid-column: span 1;
  }
  #services-2130 .cs-item:nth-of-type(4),
  #services-2130 .cs-item:nth-of-type(5) {
    grid-column: span 1;
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #RPsbs-458,
  #RPsbsr-458 {
    padding: var(--sectionPadding);
  }
  #RPsbs-458 .cs-container,
  #RPsbsr-458 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: center;
  }
  #RPsbs-458 .cs-content,
  #RPsbsr-458 .cs-content {
    text-align: left;
    width: auto;
    max-width: 40.625rem;
    margin: 0 1rem;
    margin-top: -18.75rem;
    /* 40px - 60px top and bottom */
    /* 20px - 60px left and right */
    padding: clamp(2.5rem, 7vw, 3.75rem) clamp(1.25rem, 5.5vw, 3.75rem);
    background-color: #fafbfc;
    /* prevents padding from affecting width and height */
    box-sizing: border-box;
    border-radius: 0.75rem;
    /* clips the pseudo element */
    overflow: hidden;
    box-shadow: 0px 24px 54px rgba(87, 107, 147, 0.12);
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
    position: relative;
    z-index: 10;
  }
  #RPsbs-458 .cs-content:before,
  #RPsbsr-458 .cs-content:before {
    /* green border top */
    content: "";
    width: 100%;
    height: 0.5rem;
    background: var(--primary);
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
  }

  #RPsbs-458 .cs-text,
  #RPsbsr-458 .cs-text {
    margin-bottom: 1rem;
  }
  #RPsbs-458 .cs-text:last-of-type,
  #RPsbsr-458 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #RPsbs-458 .cs-button-solid,
  #RPsbsr-458 .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;
  }
  #RPsbs-458 .cs-button-solid:before,
  #RPsbsr-458 .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;
  }
  #RPsbs-458 .cs-button-solid:hover:before,
  #RPsbsr-458 .cs-button-solid:hover:before {
    width: 100%;
  }
  #RPsbs-458 .cs-picture,
  #RPsbsr-458 .cs-picture {
    width: 100%;
    height: auto;
    height: 27.6875rem;
    /* clips the img corners */
    overflow: hidden;
    border-radius: 1.5rem;
    display: block;
    /* sends it to the top */
    order: -1;
    position: relative;
  }
  #RPsbs-458 .cs-picture img,
  #RPsbsr-458 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: fill;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #RPsbs-458 .cs-container,
  #RPsbsr-458 .cs-container {
    padding: 3.75rem 0;
    position: relative;
    align-items: flex-end;
    justify-content: center;
  }
  #RPsbs-458 .cs-content,
  #RPsbsr-458 .cs-content {
    width: 65%;
    margin: 0;
  }
  #RPsbs-458 .cs-picture,
  #RPsbsr-458 .cs-picture {
    /* 465px - 617px */
    width: clamp(29.0625rem, 53vw, 38.5625rem);
    position: absolute;
    left: 0;
    height: 100%;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #RPsbs-458 .cs-content,
  #RPsbsr-458 .cs-content {
    /* 90px - 108px */
    margin-right: clamp(5rem, 8.5vw, 6.75rem);
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #RPsbsr-458 {
    background-color: #f7f7f7;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #RPsbsr-458 .cs-container {
    align-items: flex-start;
  }
  #RPsbsr-458 .cs-picture {
    left: auto;
    right: 0;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #RPsbsr-458 .cs-content {
    margin-right: 0;
    /* 90px - 108px */
    margin-left: clamp(5rem, 8.5vw, 6.75rem);
  }
}

/*-- -------------------------- -->
<---           Form             -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cs-contact-486 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
  }
  #cs-contact-486 .cs-container {
    width: 100%;
    /* changes to 1440px at tablet */
    max-width: 34.375em;
    margin: auto;
    /* 20px - 80px */
    padding: clamp(1.25rem, 5.5vw, 5rem);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    background-color: #14142b;
    /* 12px - 24px */
    border-radius: clamp(0.75rem, 3vw, 1.5rem);
    /* clips the glowing orb */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3rem;
    position: relative;
    z-index: 1;
  }
  #cs-contact-486 .cs-container:before {
    /* glowing orb */
    content: "";
    width: 77.5rem;
    height: 7.625rem;
    background: #f1f1f4;
    opacity: 0.21;
    -webkit-filter: blur(152px);
    filter: blur(152px);
    transform: translateX(-50%) rotate(-38.5deg);
    position: absolute;
    display: block;
    top: 30%;
    left: 50%;
    z-index: -1;
  }
  #cs-contact-486 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 36.75rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #cs-contact-486 .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;
  }
  #cs-contact-486 .cs-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 40.625rem;
    margin: 0;
    color: var(--bodyTextColor);
  }
  #cs-contact-486 .cs-title {
    max-width: 16ch;
    color: var(--bodyTextColorWhite);
  }
  #cs-contact-486 .cs-color {
    color: var(--primaryLight);
  }
  #cs-contact-486 .cs-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    /* 24px - 36px, matches the padding-bottom */
    margin: 0 0 clamp(1.5rem, 4vw, 2.25rem) 0;
    /* 24px - 36px */
    padding-bottom: clamp(1.5rem, 4vw, 2.25rem);
    color: #b4b2c7;
    position: relative;
  }
  #cs-contact-486 .cs-text:before {
    /* dashed border effect, by using this method we can control the width of the dashed lines */
    content: "";
    width: 100%;
    height: 1px;
    background-image: linear-gradient(
      90deg,
      #b3bac5,
      #b3bac5 50%,
      transparent 50%,
      transparent 0%
    );
    /* change the first left rem value to change the length of the dashes */
    background-size: 0.6rem 1px;
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
  }
  #cs-contact-486 .cs-heading {
    /* 16px - 20px */
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.5em;
    font-weight: 700;
    text-align: left;
    color: var(--bodyTextColorWhite);
    display: block;
  }
  #cs-contact-486 .cs-heading:last-of-type {
    /* make the last one have the margin bottom to create the space between the contact info */
    margin-bottom: 0.75rem;
  }
  #cs-contact-486 .cs-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    font-weight: 400;
    text-align: left;
    text-decoration: none;
    margin: 0;
    color: #b4b2c7;
    display: block;
  }
  #cs-contact-486 #cs-form-486 {
    width: 100%;
    max-width: 38.625rem;
    padding: 2rem 1.5rem;
    background-color: #fff;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    border-radius: 0.75rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 1.25rem;
  }
  #cs-contact-486 .cs-h3 {
    /* 20px - 31px */
    font-size: clamp(1.25rem, 4vw, 1.9375rem);
    line-height: 1.2em;
    font-weight: 700;
    text-align: left;
    width: 100%;
    /* 4px + the 20px gap on the #cs-form */
    margin: 0 0 0.25rem 0;
    color: #14142b;
  }
  #cs-contact-486 .cs-label {
    font-size: 1rem;
    line-height: 1.5em;
    width: 100%;
    margin: 0 0 0.375rem 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #14142b;
  }
  #cs-contact-486 .cs-input,
  #cs-contact-486 .cs-textarea,
  #cs-contact-486 #cs-select-486 {
    font-size: 1rem;
    font-family: inherit;
    width: 100%;
    height: 3rem;
    margin: 0;
    padding: 0 1.25rem;
    /* prevents padding from affecting width and height */
    box-sizing: border-box;
    border-radius: 0.5rem;
    border: 1px solid #b4b2c7;
    background-color: transparent;
  }
  #cs-contact-486 .cs-input::placeholder,
  #cs-contact-486 .cs-textarea::placeholder,
  #cs-contact-486 #cs-select-486::placeholder {
    color: #7d799c;
    font-size: 1rem;
  }
  #cs-contact-486 .cs-textarea {
    min-height: 9.375rem;
    padding-top: 0.625rem;
  }
  #cs-contact-486 .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;
  }
  #cs-contact-486 .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;
  }
  #cs-contact-486 .cs-button-solid:hover:before {
    width: 100%;
  }
  #cs-contact-486 .cs-button-solid {
    /* button override */
    width: 100%;
    border: none;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cs-contact-486 .cs-container {
    max-width: 90rem;
    flex-direction: row;
    justify-content: space-between;
  }
  #cs-contact-486 .cs-label:nth-of-type(1),
  #cs-contact-486 .cs-label:nth-of-type(2) {
    width: clamp(45%, 17vw, 48.5%);
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-1493 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
    background-color: #fff;
    overflow: hidden;
  }
  #services-1493 .cs-container {
    width: 100%;
    /* changes to 1280px at desktop */
    max-width: 56.25rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
    position: relative;
    z-index: 15;
  }
  #services-1493 .cs-content {
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
    width: 100%;
    /* set text align to left if content needs to be left aligned */
    text-align: center;
  }
  #services-1493 .cs-title {
    max-width: 23ch;
  }
  #services-1493 .cs-card-group {
    display: grid;
    align-items: stretch;
    grid-template-columns: repeat(auto-fit, minmax(305px, 1fr));
    margin: 0;
    width: 100%;
    padding: 0;
    /* 16px - 20px */
    gap: clamp(1rem, 2vw, 1.25rem);
  }
  #services-1493 .cs-item {
    text-align: center;
    list-style: none;
    /* 16px - 24px */
    padding: 1.5rem clamp(1rem, 2.4vw, 1.5rem);
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #e8e8e8;
    /* 40px - 60px */
    border-radius: clamp(2.5rem, 5vw, 3.75rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    transition: border-color 0.3s;
  }
  #services-1493 .cs-item:hover {
    border-color: var(--secondary);
  }
  #services-1493 .cs-item:hover .cs-picture img {
    transform: scale(1.2);
  }
  #services-1493 .cs-item:hover .cs-h3,
  #services-1493 .cs-item:hover .cs-link {
    color: var(--primary);
  }
  #services-1493 .cs-item:hover .cs-arrow {
    filter: initial;
  }
  #services-1493 .cs-image-group {
    /* done in ems so we can use font size to scale it on desktop */
    width: 16.0625em;
    height: 12.5em;
    /* 16px - 24px */
    margin: 0 0 clamp(1rem, 2.4vw, 1.5rem);
    position: relative;
    z-index: 1;
  }
  #services-1493 .cs-picture {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    /* clips the image from overflowing parent on hover */
    overflow: hidden;
  }
  #services-1493 .cs-picture img {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: transform 0.65s;
  }
  #services-1493 .cs-mask {
    /* SVG Colors */
    --maskBorder: #e8e8e8;
    --maskBG: #fff;
    position: absolute;
    top: -1px;
    left: -1px;
    bottom: -1px;
    right: -1px;
  }
  #services-1493 .cs-info {
    display: flex;
    flex-direction: column;
  }
  #services-1493 .cs-h3 {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
    text-align: inherit;
    line-height: 1.5em;
    font-weight: 700;
    width: 100%;
    margin: 0 0 0.5rem 0;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    color: var(--headerColor);
    transition: background-color 0.3s;
    transition: color 0.3s;
  }
  #services-1493 .cs-ages {
    font-size: 1rem;
    line-height: 1.2em;
    text-align: inherit;
    font-weight: 700;
    margin: 0 0 1rem 0;
    color: var(--secondary);
  }
  #services-1493 .cs-item-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    text-align: inherit;
    line-height: 1.5em;
    max-width: 50ch;
    /* 16px - 24px */
    margin: 0 0 clamp(1rem, 2.4vw, 1.5rem);
    width: 100%;
    color: var(--bodyTextColor);
  }
  #services-1493 .cs-link {
    font-size: 1rem;
    text-decoration: none;
    text-align: inherit;
    line-height: 1.2em;
    font-weight: 700;
    color: var(--primary);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: color 0.3s;
  }
  #services-1493 .cs-link:hover .cs-arrow {
    transform: translateX(0.25rem);
  }
  #services-1493 .cs-arrow {
    display: block;
    height: auto;
    width: 1.25rem;
    transition: filter 0.3s, transform 0.3s;
  }
  #services-1493 .cs-hills {
    /* hills Color */
    --hillBG: #4486fa1f;

    width: 130%;
    min-width: 120rem;
    height: auto;
    position: absolute;
    /* positions off of the top at desktop */
    bottom: -6.25rem;
    left: 50%;
    transform: translateX(-50%);
  }
  #services-1493 .cs-wrapper {
    width: 110vw;
    max-width: 106.25rem;
    height: 50%;
    display: none;
    position: absolute;
    /* 60px - 100px (same as the padding bottom of the section ) */
    bottom: clamp(3.75rem, 7.82vw, 6.25rem);
    left: 50%;
    z-index: 2;
    transform: translateX(-50%);
  }
  #services-1493 .cs-floater {
    position: absolute;
  }
  #services-1493 .cs-floater1 {
    left: 0;
    top: -13.75rem;
  }
  #services-1493 .cs-floater2 {
    bottom: -3.125rem;
    right: 0;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-1493 .cs-container {
    max-width: 80rem;
  }
  #services-1493 .cs-card-group {
    grid-template-columns: repeat(12, 1fr);
  }
  #services-1493 .cs-item {
    grid-column: span 3;
  }
  #services-1493 .cs-image-group {
    /* scaling it down so it all fits proportionally */
    font-size: min(1.2vw, 1em);
  }
  #services-1493 .cs-wrapper {
    display: block;
  }
  #services-1493 .cs-hills {
    top: 50%;
    bottom: auto;
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-447 {
    padding: var(--sectionPadding);
  }
  #services-447 .cs-container {
    width: 100%;
    /* changes to 1440px at tablet */
    max-width: 34.375em;
    margin: auto;
  }
  #services-447 .cs-container {
    width: 100%;
    /* changes to 1440px at tablet */
    max-width: 34.375em;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #services-447 .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-447 .cs-card-group {
    width: 100%;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
  }
  #services-447 .cs-item {
    list-style: none;
    width: 100%;
    /* changes at desktop */
    padding-top: 9rem;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  #services-447 .cs-item:hover .cs-picture img {
    transform: scale(1.2);
    opacity: 0.4;
  }
  #services-447 .cs-item:hover .cs-box:before {
    opacity: 1;
  }
  #services-447 .cs-picture {
    width: 100%;
    /* changes at desktop */
    height: 15.625rem;
    border-radius: 0.5rem;
    background-color: var(--primary);
    /* clips the corners of the image */
    overflow: hidden;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #services-447 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* makes it behave like a background image */
    object-fit: cover;
    /* positions top of image to the top of the container */
    /* object-position: top; */
    transition: transform 0.9s, opacity 0.5s;
  }
  #services-447 .cs-box {
    text-align: center;
    width: 88%;
    padding: 0 1.5rem 1.5rem 1.5rem;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    border: 1px solid #dad9e3;
    border-radius: 0.75rem;
    background-color: #fff;
    box-shadow: 0px 24px 54px rgba(87, 107, 147, 0.12);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  #services-447 .cs-box:before {
    /* hover border box */
    content: "";
    background: transparent;
    /* prevents the mouse from interacting with it */
    pointer-events: none;
    border: 4px solid var(--primary);
    border-radius: 0.75rem;
    /* prevents border from affecting height and width */
    box-sizing: border-box;
    opacity: 0;
    position: absolute;
    display: block;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    transition: opacity 0.5s;
  }
  #services-447 .cs-wrapper {
    /* 80px - 120px */
    width: clamp(5rem, 9.2vw, 7.5rem);
    height: clamp(5rem, 9.2vw, 7.5rem);
    /* 20px - 24px */
    margin: 0 0 clamp(1.25rem, 1.5vw, 1.5rem);
    /* we use the same clamp value for height & width, but multiple by -.5 so it will be a negative value, and be half of the height.  Negative margins pull things toward the element so they overlap them, in this case we want the .cs-wrapper to overlap .cs-box by half its height, so we use the same clamp for height and half it for the margin top value */
    margin-top: calc(clamp(5rem, 9.2vw, 7.5rem) * -0.5);
    border-radius: 50%;
    border: 4px solid var(--primary);
    background-color: #fff;
    /* prevents border from affecting height and width */
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 10;
  }
  #services-447 .cs-icon {
    /* 48px - 64px */
    width: clamp(3rem, 4.3vw, 4rem);
    height: auto;
    display: block;
  }
  #services-447 .cs-h3 {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 1.9vw, 1.5625rem);
    line-height: 1.2em;
    font-weight: 700;
    margin: 0 0 0.5rem 0;
    color: var(--headerColor);
  }
  #services-447 .cs-item-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    font-weight: 400;
    /* 20px - 24px */
    margin: 0 0 clamp(1.25rem, 1.5vw, 1.5rem);
    color: var(--bodyTextColor);
  }
  #services-447 .cs-link {
    /* 16px - 20px */
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    line-height: 1.5em;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    margin: 0;
    color: var(--primary);
    display: inline-block;
    position: relative;
  }
  #services-447 .cs-link:hover:before {
    width: 100%;
  }
  #services-447 .cs-link:before {
    /* animated underline */
    content: "";
    width: 0%;
    height: 3px;
    background: currentColor;
    opacity: 1;
    position: absolute;
    display: block;
    bottom: -0.125rem;
    left: 0;
    transition: width 0.3s;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-447 .cs-container {
    max-width: 90rem;
  }
  #services-447 .cs-card-group {
    flex-wrap: wrap;
    flex-direction: row;
    /* 16px - 20px */
    column-gap: clamp(1rem, 1.5vw, 1.25rem);
    row-gap: 3.75rem;
  }
  #services-447 .cs-item {
    width: 47%;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-447 .cs-card-group {
    flex-wrap: nowrap;
  }
  #services-447 .cs-item {
    width: 100%;
    /* 144px - 274px */
    padding-top: clamp(9rem, 17.5vw, 19.125rem);
  }
  #services-447 .cs-picture {
    /* 224px - 428px */
    height: clamp(14rem, 28vw, 26.75rem);
  }
}
