/*-- -------------------------- -->
<---           Hero             -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #hero-1785 {
    /* 200px - 300px - leaving extra space for the navigation */
    padding: clamp(12.5rem, 25.95vw, 18.75em) 1rem;
    /* prevents the topper line from causing an overflow */
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #hero-1785 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 3rem;
  }
  #hero-1785 .cs-content {
    text-align: center;
    width: 100%;
    max-width: 46.875rem;
  }
  #hero-1785 .cs-title {
    /* 49px - 84px */
    font-size: clamp(3.0625rem, 6vw, 5.25rem);
  }
  #hero-1785 .cs-title,
  #hero-1785 .cs-text {
    color: var(--bodyTextColorWhite);
  }
  #hero-1785 .cs-text {
    margin-bottom: 2rem;
  }
  #hero-1785 .cs-button-group {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  #hero-1785 .cs-button-solid {
    font-size: 1rem;
    font-weight: 700;
    /* 46px - 56px */
    line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    text-align: center;
    text-decoration: none;
    min-width: 12.5rem;
    margin: 0;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    padding: 0 1.5rem;
    background-color: var(--primary);
    color: var(--bodyTextColorWhite);
    border-radius: 0.25rem;
    display: inline-block;
    position: relative;
    z-index: 1;
  }
  #hero-1785 .cs-button-solid:before {
    content: "";
    width: 0%;
    height: 100%;
    background: #000;
    opacity: 1;
    border-radius: 0.25rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #hero-1785 .cs-button-solid:hover:before {
    width: 100%;
  }
  #hero-1785 .cs-graphic {
    width: 100%;
    min-width: 120rem;
    height: auto;
    object-fit: cover;
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 0;
    transform: translateX(-50%);
  }
  #hero-1785 .cs-graphic-dark {
    display: none;
  }
  #hero-1785 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
  }
  #hero-1785 .cs-background:before {
    /* Overlay */
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    /* prevents the cursor from interacting with it */
    pointer-events: none;
    opacity: 0.7;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #hero-1785 .cs-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
}
/* Large Desktop - 1920px */
@media only screen and (min-width: 120rem) {
  #hero-1785 {
    /* this ties the padding bottom value to the size of the screen width. The wider the image gets the taller it gets, meaning it will get clsoer and closer to the content. This makes the padding bottom value grow with the screen size so it accounts for the growing height of the svg graphic getting taller */
    padding-bottom: 14vw;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #hero-1785 .cs-background:before {
    opacity: 0.85;
  }
  body.dark-mode #hero-1785 .cs-graphic {
    display: none;
  }
  body.dark-mode #hero-1785 .cs-graphic-dark {
    display: block;
  }
}
/*-- -------------------------- -->
<---    Side By Side Reverse    -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #sbsr-1810 {
    padding: var(--sectionPadding);
    /* 100px - 200px */
    padding-bottom: clamp(6.25rem, 8vw, 12.5rem);
    /* clips anything overflowing */
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #sbsr-1810 .cs-container {
    width: 100%;
    /* changes to 1280px at desktop */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #sbsr-1810 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 32.625rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
    position: relative;
    z-index: 3;
  }
  #sbsr-1810 .cs-text {
    margin-bottom: 1rem;
  }
  #sbsr-1810 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #sbsr-1810 .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-1810 .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-1810 .cs-button-solid:hover:before {
    width: 100%;
  }
  #sbsr-1810 .cs-image-group {
    /* scales the whole section down and ties the font size to the vw and stops at 75% of the vale of 1em, changes at desktop */
    font-size: min(1.7vw, .60rem);
    /* everything inside this box is in ems so we can scale it all down proportionally with a font size */
    width: 43.6875em;
    height: 40.1875em;
    position: relative;
    z-index: 1;
  }
  #sbsr-1810 .cs-image-group:before {
    /* blur effect */
    content: '';
    width: 125rem;
    height: 125rem;
    margin-left: -18.75rem;
    background-color: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(20px);
    position: absolute;
    display: none;
    top: -12.5em;
    left: 50%;
    transform: skew(-40deg);
    transform-origin: center;
    z-index: -1;
  }
  #sbsr-1810 .cs-picture {
    width: auto;
    height: 40.1875em;
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0em;
    transform: translateX(-50%);
  }
  #sbsr-1810 .cs-picture img {
    width: auto;
    height: 100%;
    object-fit: contain;
  }
  #sbsr-1810 .cs-splatter {
    width: 48.875em;
    height: auto;
    object-fit: cover;
    position: absolute;
    bottom: -2.5em;
    left: 0em;
    z-index: -2;
  }
  #sbsr-1810 .cs-graphic {
    width: 100%;
    min-width: 75rem;
    height: auto;
    object-fit: cover;
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%);
  }
  #sbsr-1810 .cs-dark {
    display: none;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #sbsr-1810 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  #sbsr-1810 .cs-image-group {
    /* set to inherit at Large Desktop */
    font-size: min(1.2vw, 1rem);
    order: 2;
  }
  #sbsr-1810 .cs-image-group:before {
    display: block;
  }
  #sbsr-1810 .cs-content {
    width: 51%;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #sbsr-1810 .cs-title,
  body.dark-mode #sbsr-1810 .cs-text {
    color: var(--bodyTextColorWhite);
    transition: color 0.3s;
  }
  body.dark-mode #sbsr-1810 .cs-text {
    opacity: 0.8;
  }
  body.dark-mode #sbsr-1810 .cs-light {
    display: none;
  }
  body.dark-mode #sbsr-1810 .cs-dark {
    display: block;
  }
}
                                
/*-- -------------------------- -->
<---          About Us          -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #RPsbs-580 .cs-container,
  #RPsbsr-580 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 7vw, 4rem);
  }
  #RPsbs-580 .cs-content,
  #RPsbsr-580 .cs-content {
    /* set text aling to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 32.625rem;
    /* moved section padding to the .cs-content so we can have the cs-picture be full width on mobile without the padding preventing it from doing so */
    padding: var(--sectionPadding);
    padding-top: 0;
    /* prevents padding from affecting width and height */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #RPsbs-580 .cs-text,
  #RPsbsr-580 .cs-text {
    /* Override. */
    margin-bottom: 1rem;
  }
  #RPsbs-580 .cs-text:last-of-type,
  #RPsbsr-580 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #RPsbs-580 .cs-picture,
  #RPsbsr-580 .cs-picture {
    display: block;
    position: relative;
    width: 100%;
    height: 18.75rem;
  }
  #RPsbs-580 .cs-picture img,
  #RPsbsr-580 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #RPsbs-580,
  #RPsbsr-580 {
    padding: var(--sectionPadding);
  }
  #RPsbs-580 .cs-container,
  #RPsbsr-580 .cs-container {
    flex-direction: row;
    justify-content: flex-start;
    /* 60px - 128px */
    gap: clamp(3.75rem, 10vw, 8rem);
  }
  #RPsbs-580 .cs-content,
  #RPsbsr-580 .cs-content {
    width: 53%;
    /* reset the padding, add the section padding back to the section container */
    padding: 0;
  }
  #RPsbs-580 .cs-picture,
  #RPsbsr-580 .cs-picture {
    width: 47vw;
    max-width: 30.875rem;
    /* 518px - 700px */
    height: clamp(32.375rem, 63vw, 43.75rem);
    /* 16px - 28px, added margin left and bottom to cs-picture so it pushes away by the same amount the yellow box element overlaps it left and bottom. This maintains consistent spacing left and bottom */
    margin: 0 0 clamp(1rem, 2.4vw, 1.75rem) clamp(1rem, 2.4vw, 1.75rem);
    position: relative;
  }
  #RPsbs-580 .cs-picture:before,
  #RPsbsr-580 .cs-picture:before {
    /* yellow box */
    content: '';
    width: 50%;
    height: 60%;
    background: var(--secondary);
    opacity: 1;
    display: block;
    position: absolute;
    /* 16px - 28px, wrapped in calc function to multiple by negative 1 and get a negative clamp value */
    bottom: calc(clamp(1rem, 2.4vw, 1.75rem)*-1);
    left: calc(clamp(1rem, 2.4vw, 1.75rem)*-1);
  }
}
/*-- -------------------------- -->
<---     Service Highlight      -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #RPsbsr-580 {
    background-color: #f7f7f7;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #RPsbsr-580 .cs-container {
    justify-content: flex-end;
  }
  #RPsbsr-580 .cs-content {
    /* sends it to the left in the first position */
    order: -1;
  }
  #RPsbsr-580 .cs-picture {
    /* 16px - 28px, added margin left and bottom to cs-picture so it pushes away by the same amount the yellow box element overlaps it left and bottom. This maintains consistent spacing left and bottom */
    margin: 0 clamp(1rem, 2.4vw, 1.75rem) clamp(1rem, 2.4vw, 1.75rem) 0;
  }
  #RPsbsr-580 .cs-picture:before {
    /* yellow box */
    content: '';
    width: 50%;
    height: 60%;
    background: var(--secondary);
    opacity: 1;
    display: block;
    position: absolute;
    left: auto;
    /* 16px - 28px, wrapped in calc function to multiple by negative 1 and get a negative clamp value */
    bottom: calc(clamp(1rem, 2.4vw, 1.75rem)*-1);
    right: calc(clamp(1rem, 2.4vw, 1.75rem)*-1);
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #RPsbsr-580 {
    background-color: rgba(0, 0, 0, 0.2);
  }
}
/*-- -------------------------- -->
<---         Gallery            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #gallery-1716 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  #gallery-1716 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #gallery-1716 .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;
  }
  #gallery-1716 .cs-text {
    margin-bottom: 1rem;
  }
  #gallery-1716 .cs-text:last-of-type {
    /* 32px - 64px */
    margin-bottom: clamp(2rem, 7vw, 4rem);
  }
  #gallery-1716 .cs-text:last-of-type:before {
    /* colored overlay rectangle - positioned absolute to the section tag because it is the nearest parent with a decalred position relative */
    content: '';
    width: 100%;
    height: 80%;
    background: var(--primary);
    opacity: .1;
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    z-index: -1;
  }
  #gallery-1716 .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;
  }
  #gallery-1716 .cs-button-solid:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 0%;
    background: #000;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width .3s;
  }
  #gallery-1716 .cs-button-solid:hover:before {
    width: 100%;
  }
  #gallery-1716 .cs-gallery {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* sends it to the top in the 1st position */
    order: -1;
  }
  #gallery-1716 .cs-picture {
    width: 100%;
    /* changes at tablet */
    height: 100vw;
    max-height: 25rem;
    display: block;
    position: relative;
    z-index: 1;
    grid-column: span 4;
  }
  #gallery-1716 .cs-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #gallery-1716 .cs-container {
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
  #gallery-1716 .cs-content {
    max-width: 19rem;
    /* 32px - 64px, ensures theres always a gap at the bottom to space out the content from the bottom of the container and let the colored rectangle shape be a little bigger and take up more space */
    padding-bottom: clamp(2rem, 7vw, 4rem);
  }
  #gallery-1716 .cs-text:last-of-type {
    /* add position relative so the colored rectangle is now absolutely positioned to the cs-text parent. We also only want these styles on the last paragraph tag */
    position: relative;
    z-index: 1;
  }
  #gallery-1716 .cs-text:last-of-type:before {
    width: 250vw;
    height: 100vw;
    top: calc(100% + 1.8rem);
    left: 50%;
    transform: translateX(-50%);
  }
  #gallery-1716 .cs-gallery {
    height: auto;
  }
  #gallery-1716 .cs-picture {
    height: 100%;
    max-height: 100%;
    /* 280px - 420px */
    min-height: clamp(17.5rem, 37vw, 26.25rem);
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #gallery-1716 .cs-title,
  body.dark-mode #gallery-1716 .cs-text {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #gallery-1716 .cs-text {
    opacity: .8;
  }
  body.dark-mode #gallery-1716 .cs-text:last-of-type:before {
    background-color: rgba(0, 0, 0, 0.3);
    opacity: 1;
  }
}
                                
/*-- -------------------------- -->
<---       Meet The Team        -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #meet-team-221 {
    padding: var(--sectionPadding);
    background: #F1F1F4;
  }
  #meet-team-221 .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);
  }
  #meet-team-221 .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;
  }
  #meet-team-221 .cs-picture {
    /* 160px - 220px */
    width: clamp(10rem, 20vw, 13.75rem);
    height: clamp(10rem, 20vw, 13.75rem);
    margin-bottom: 1rem;
    border-radius: 50%;
    display: block;
    position: relative;
    /* clips the corners off the image tag */
    overflow: hidden;
  }
  #meet-team-221 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes image behave like a background image */
    object-fit: cover;
    transition: transform .7s;
  }
  #meet-team-221 .cs-card-group {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
  }
  #meet-team-221 .cs-item {
    list-style: none;
    /* Changes on tablet */
    width: 100%;
    max-width: 21.25rem;
    /* 16px - 20px */
    padding: clamp(1rem, 2vw, 1.25rem);
    padding-bottom: 1.25rem;
    background: var(--bodyTextColorWhite);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    /* prevents padding from adding to height and width */
    box-sizing: border-box;
  }
  #meet-team-221 .cs-item:hover .cs-picture img {
    transform: scale(1.1);
  }
  #meet-team-221 .cs-name {
    font-size: 1.25rem;
    line-height: 1.2em;
    font-weight: 700;
    margin-bottom: 0.25rem;
    color: var(--headerColor);
    display: block;
  }
  #meet-team-221 .cs-job-title {
    font-size: 1rem;
    margin-bottom: 0.75rem;
    color: var(--primary);
    display: block;
  }
  #meet-team-221 .cs-item-text {
    font-size: 1rem;
    line-height: 1.5em;
    text-align: center;
    margin: 0;
    margin-bottom: 0.75rem;
    color: #7D799C;
  }
  #meet-team-221 .cs-social {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.25rem;
  }
  #meet-team-221 .cs-link {
    /* 28px - 32px */
    width: clamp(1.75rem, 3vw, 2rem);
    /* 28px - 32px */
    height: clamp(1.75rem, 3vw, 2rem);
    /* After making the a tag into a box, we center the image inside of it */
    border-radius: 0.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    /* creates the 3D space for the 3D effect when spinning */
    transform-style: preserve-3d;
    perspective: 700px;
  }
  #meet-team-221 .cs-link:hover .cs-icon {
    transform: translateY(-0.3125rem) rotateY(360deg);
  }
  #meet-team-221 .cs-icon {
    width: 0.875rem;
    height: auto;
    transition: transform .7s;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #meet-team-221 .cs-container {
    max-width: 80em;
  }
  #meet-team-221 .cs-card-group {
    flex-direction: row;
  }
  #meet-team-221 .cs-item {
    width: 31%;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #meet-team-221 {
    background-color: rgba(0, 0, 0, 0.2);
  }
  body.dark-mode #meet-team-221 .cs-title,
  body.dark-mode #meet-team-221 .cs-text,
  body.dark-mode #meet-team-221 .cs-name,
  body.dark-mode #meet-team-221 .cs-item-text,
  body.dark-mode #meet-team-221 .cs-job-title {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #meet-team-221 .cs-item {
    background-color: var(--medium);
  }
  body.dark-mode #meet-team-221 .cs-item-text {
    opacity: .8;
  }
  body.dark-mode #meet-team-221 .cs-icon {
    /* turns icons white */
    filter: grayscale(1) brightness(1000%);
  }
}
/*-- -------------------------- -->
<---          Reviews           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #reviews-566 {
      padding: var(--sectionPadding);
  }
  #reviews-566 .cs-container {
      width: 100%;
      /* changes to 1280px at tablet */
      max-width: 34.375rem;
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      /* 48px - 64px */
      gap: clamp(3rem, 6vw, 4rem);
  }
  #reviews-566 .cs-content {
      /* set text align to left if content needs to be left aligned */
      text-align: left;
      width: 100%;
      max-width: 32.625rem;
      display: flex;
      flex-direction: column;
      /* centers content horizontally, set to flex-start to left align */
      align-items: flex-start;
  }

  #reviews-566 .cs-card-group {
      width: 100%;
      padding: 0;
      margin: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      /* 16px - 20px */
      gap: clamp(1rem, 2.5vw, 1.15rem);
  }
  #reviews-566 .cs-item {
      list-style: none;
      width: 100%;
      max-width: 39.375rem;
      /* 32px - 60px top & bottom */
      /* 16px - 48px left & right */
      padding: clamp(2rem, 6.15vw, 3.75rem) clamp(1rem, 4.15vw, 3rem);
      background-color: #f1f1f4;
      /* prevents padding from adding to height and width */
      box-sizing: border-box;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      flex-direction: column;
      position: relative;
  }
  #reviews-566 .cs-stars {
      /* 169px - 189px */
      width: clamp(10.5625rem, 20vw, 11.8125rem);
      height: auto;
      /* 20px - 24px */
      margin-bottom: clamp(1.25rem, 3vw, 1.5rem);
      display: block;
  }
  #reviews-566 .cs-item-text {
      /* 14px - 16px */
      font-size: clamp(0.875rem, 1.5vw, 1rem);
      line-height: 1.5em;
      margin: 0;
      /* 40px - 64px */
      margin-bottom: clamp(2.5rem, 8vw, 4rem);
      color: var(--bodyTextColor);
  }
  #reviews-566 .cs-flex-group {
      /* in case one card has more text than the other, this pushes up against the review text so the name and title are always at the bottom. Only works if parent is a flexbox */
      margin-top: auto;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      gap: 1.25rem;
  }
  #reviews-566 .cs-profile {
      width: 5rem;
      height: 5rem;
      border-radius: 50%;
      /* clips image corners to make circle */
      overflow: hidden;
      position: relative;
      display: block;
  }
  #reviews-566 .cs-profile img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      /* makes the image behave like a background image */
      object-fit: cover;
  }
  #reviews-566 .cs-name {
      /* 16px - 20px */
      font-size: clamp(1rem, 2vw, 1.25rem);
      line-height: 1.5em;
      font-weight: 700;
      margin: 0 0 0.5rem 0;
      color: var(--headerColor);
      display: block;
  }
  #reviews-566 .cs-job {
      /* 13px - 16px */
      font-size: clamp(0.8125rem, 1.6vw, 1rem);
      line-height: 1.2em;
      font-weight: 400;
      text-transform: uppercase;
      letter-spacing: 0.01em;
      margin: 0;
      color: var(--bodyTextColor);
      display: block;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48em) {
  #reviews-566 .cs-container {
      max-width: 80rem;
  }
  #reviews-566 .cs-card-group {
      flex-direction: row;
      justify-content: space-between;
      align-items: stretch;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #reviews-566 .cs-topper {
      color: var(--primaryLight);
  }
  body.dark-mode #reviews-566 .cs-title,
  body.dark-mode #reviews-566 .cs-text,
  body.dark-mode #reviews-566 .cs-item-text,
  body.dark-mode #reviews-566 .cs-name,
  body.dark-mode #reviews-566 .cs-job {
      color: var(--bodyTextColorWhite);
  }
  body.dark-mode #reviews-566 .cs-text {
      opacity: 0.8;
  }
  body.dark-mode #reviews-566 .cs-item {
      background-color: var(--accent);
  }
}
/*-- -------------------------- -->
<---            CTA             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cta-51 {
    padding: var(--sectionPadding);
    position: relative;
  }
  #cta-51 .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-51 .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;
  }
  #cta-51 .cs-topper {
    color: var(--secondary);
  }
  #cta-51 .cs-title,
  #cta-51 .cs-text {
    color: var(--bodyTextColorWhite);
  }
  #cta-51 .cs-text {
    /* Override.  cs-topper cs-title and first cs-text should be removed and put into your global css sheet so it can control every instance of them on your site and is consistent. This selector is a section specific override that stays inside this stitch */
    margin-bottom: 1rem;
    opacity: .8;
  }
  #cta-51 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #cta-51 .cs-picture {
    height: 100%;
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #cta-51 .cs-picture:before {
    /* black color overlay */
    content: '';
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #000;
    opacity: .8;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #cta-51 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}
