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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #hero-1619 {
    padding: var(--sectionPadding);
    /* 200px - 300px - leaving extra space for the navigation */
    padding-top: clamp(12.5rem, 31.95vw, 18.75rem);
    position: relative;
    z-index: 1;
  }
  #hero-1619 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    /* 60px - 180px */
    gap: clamp(3.75rem, 13vw, 11.25rem);
  }
  #hero-1619 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 48.75rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #hero-1619 .cs-topper {
    /* 13px - 16px */
    font-size: clamp(0.8125rem, 1.5vw, 1rem);
    line-height: 1.2em;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 0.25rem;
    color: var(--primary);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    position: relative;
  }
  #hero-1619 .cs-chevron {
    --chevronColor: var(--primary);
    width: 3rem;
    height: auto;
  }
  #hero-1619 .cs-title {
    /* 39px - 61px */
    font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
    font-weight: 700;
    line-height: 1.2em;
    text-align: inherit;
    max-width: 100%;
    margin: 0 0 2.5rem 0;
    color: #fff;
    position: relative;
  }
  #hero-1619 .cs-text {
    /* 16px - 20px */
    font-size: clamp(1rem, 1.95vw, 1.25rem);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    /* 464px - 622px */
    max-width: clamp(29rem, 60vw, 38.785rem);
    margin: 0 0 2.5rem 0;
    color: #fff;
  }
  #hero-1619 .cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    text-decoration: none;
    font-weight: 700;
    margin: 0;
    color: #fff;
    padding: 0 1.5rem;
    background-color: var(--primary);
    display: inline-block;
    position: relative;
    z-index: 1;
  }
  #hero-1619 .cs-button-solid:before {
    content: '';
    position: absolute;
    display: block;
    height: 100%;
    width: 0%;
    background: #000;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width .3s;
  }
  #hero-1619 .cs-button-solid:hover:before {
    width: 100%;
  }
  #hero-1619 .cs-card-group {
    margin: 0;
    padding: 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 16px - 20px */
    gap: clamp(1rem, 2.3vw, 1.25rem);
  }
  #hero-1619 .cs-item {
    width: 100%;
    text-align: left;
    list-style: none;
    margin: 0;
    /* 24px - 32px */
    padding: clamp(1.5rem, 3vw, 2rem);
    background-color: #fff;
    box-shadow: 0px 12px 80px 0px rgba(26, 26, 26, 0.08);
    /* prevents padding 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-start;
    position: relative;
    z-index: 1;
  }
  #hero-1619 .cs-icon {
    width: 3rem;
    height: auto;
    margin: 0 0 1.5rem 0;
  }
  #hero-1619 .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 1rem 0;
    color: var(--headerColor);
  }
  #hero-1619 .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(--bodyTextColor);
  }
  #hero-1619 .cs-background {
    width: 100%;
    height: 55%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
  }
  #hero-1619 .cs-background:before {
    /* Overlay */
    content: '';
    width: 100%;
    height: 100%;
    background: #111926;
    opacity: .8;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
    /* prevents the cursor from interacting with it */
    pointer-events: none;
  }
  #hero-1619 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    /* makes the top of the image start at the top of the parent */
    object-position: top;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #hero-1619 {
    padding-bottom: 0;
  }
  #hero-1619 .cs-container {
    align-items: flex-start;
  }
  #hero-1619 .cs-content {
    text-align: left;
    margin-left: 0;
    align-items: flex-start;
  }
  #hero-1619 .cs-item {
    grid-column: span 6;
  }
  #hero-1619 .cs-background {
    height: 87%;
  }
  #hero-1619 .cs-background:before {
    background: linear-gradient(90deg, #111926 21.41%, rgba(17, 25, 38, 0.72) 34.98%, rgba(17, 25, 38, 0) 62.53%);
    opacity: 0.6;
  }
}
/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #hero-1619 .cs-item {
    grid-column: span 3;
  }
}
/* Large Desktop Parallax Effect - 100px */
@media only screen and (min-width: 100rem) {
  #hero-1619 .cs-background {
    background: url("/assets/images/offshore-supply-vessel-near-offshore-platform.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* creates the parallax effect */
    background-attachment: fixed;
  }
  #hero-1619 .cs-background img {
    display: none;
  }
}
                                
/*-- -------------------------- -->
<---         Services           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #h-services-81 {
    /* 40px - 100px */
    padding: 0 1rem clamp(2.5rem, 7.9vw, 6.25rem) 1rem;
    position: relative;
    /* give a higher z index than the hero so it can sit on top */
    z-index: 10;
  }
  #h-services-81 .cs-card-group {
    width: 100%;
    max-width: 29.0625rem;
    margin: 0 auto 0;
    /* negative margin pulls it up on top of the hero section */
    /* -46px to -76px - we're calculating whatever clamp is and multiplying by -1
            to make the value negative since clamp doesn't work with negative values */
    margin-top: calc(clamp(5rem, 13vw, 4.75rem)*-1);
    /* 40px - 60px top and bottom, 16px - 60px left & right */
    padding: clamp(2.5rem, 4.7vw, 3.75rem) clamp(1rem, 4vw, 3.75rem);
    box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.05);
    border-top: 8px solid var(--primary);
    background-color: #fff;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
  }
  #h-services-81 .cs-item {
    list-style: none;
    margin: 0 auto 2.5rem;
    width: 100%;
    max-width: 22.5rem;
  }
  #h-services-81 .cs-item:last-of-type {
    margin-bottom: 0;
  }
  #h-services-81 .cs-icon {
    /* 68px - 88px */
    width: clamp(4.25rem, 8.8vw, 5.5rem);
    /* 68px - 88px */
    height: clamp(4.25rem, 8.8vw, 5.5rem);
    margin: auto;
    /* 20px - 24px */
    margin-bottom: clamp(1.25rem, 5vw, 1.5rem);
    background: var(--primary);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #h-services-81 .cs-icon img {
    /* 44px - 52px */
    width: clamp(2.75rem, 5.8vw, 3.25rem);
    height: auto;
  }
  #h-services-81 .cs-title {
    font-size: 1.25rem;
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: center;
    margin: 0 auto 0.5rem;
    color: var(--headerColor);
  }
  #h-services-81 .cs-text {
    font-size: 1rem;
    text-align: center;
    line-height: 1.5em;
    max-width: 22.5rem;
    margin: 0 auto;
    color: var(--bodyTextColor);
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #h-services-81 {
    padding-bottom: 0;
  }
  #h-services-81 .cs-card-group {
    max-width: 80rem;
    /* -76px to -320px - we're calculating whatever clamp is and multiplying by -1
               to make the value negative since clamp doesn't work with negative values */
    margin-top: calc(clamp(4.75rem, 20vw, 20rem)*-1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 2.5rem;
  }
  #h-services-81 .cs-item {
    /* Reset margin so it doesn't interfere with flexbox */
    margin: 0;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #h-services-81 .cs-card-group {
    background: var(--medium);
  }
  body.dark-mode #h-services-81 .cs-icon {
    background: var(--darkTint);
  }
  body.dark-mode #h-services-81 .cs-title {
    color: #fff;
  }
  body.dark-mode #h-services-81 .cs-text {
    color: #fff;
  }
}
/*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #sbs-1591 {
    padding: var(--sectionPadding);
  }
  #sbs-1591 .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);
  }
  #sbs-1591 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 36.625rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #sbs-1591 .cs-text {
    margin-bottom: 1rem;
  }
  #sbs-1591 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #sbs-1591 .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 3rem;
    background-color: var(--primary);
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
  }
  #sbs-1591 .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;
  }
  #sbs-1591 .cs-button-solid:hover:before {
    width: 100%;
  }
  #sbs-1591 .cs-image-group {
    /* scales the whole group based on the view width size and stop when that vales equals .745em, resets at desktop */
    font-size: min(1.959vw, .745em);
    width: 39.375em;
    /* we set a minimum height so it never gets smaller than this value */
    min-height: 39.25em;
    display: block;
    position: relative;
    z-index: 1;
  }
  #sbs-1591 .cs-picture {
    position: absolute;
  }
  #sbs-1591 .cs-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  #sbs-1591 .cs-picture1 {
    /* the percentage heights allow them to be responsive to the height of the parent cs-image-group. On desktop, when the felxbox is set to aling-items: stretch, the cs-image group will stretch to fill the height of the parent container. So when you add more content to the cs-content group and make it taller, the cs-image group will get taller with it and every image will stretch with the parent, making this entire group responsive to the changing amounts of content next to it */
    width: 25.8125em;
    height: 79.617834%;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #sbs-1591 .cs-picture2 {
    width: 25.8125em;
    height: 44.585987%;
    bottom: 0;
    right: 0;
    z-index: 10;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #sbs-1591 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
  #sbs-1591 .cs-content {
    /* this padding sets a minimum gap between the top and bottom of the content div and the top and bottom of the cs-image-group */
    padding: 3.75rem 0;
    /* while the cs-image-group will stretch to fill the height of the parent, this property will ensure that the cs-content group aligns itse;f in the center of the parent div instead of stretching */
    align-self: center;
  }
  #sbs-1591 .cs-image-group {
    font-size: min(1.2vw, 1em);
    flex: none;
  }
}
                                
/*-- -------------------------- -->
<---         Services           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-342 {
      padding: var(--sectionPadding);
  }
  #services-342 .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-342 .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-342 .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, 1.6vw, 1.25rem); 
  }
  #services-342 .cs-item {
      list-style: none;
      width: 100%;
      max-width: 31.25rem;
      border-radius: 0.5rem;
      position: relative;
      z-index: 1;
      transition:
          box-shadow 0.3s,
          transform 0.3s;
  }
  #services-342 .cs-item:hover {
      box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
      transform: translateY(-0.4375rem);
  }
  #services-342 .cs-item:hover .cs-picture img {
      opacity: 0.3;
      transform: scale(1.1);
  }
  #services-342 .cs-item:hover .cs-h3 {
      color: var(--primary);
  }
  #services-342 .cs-item:before {
      /* border, done in pseudo so it can sit under the picture */
      content: "";
      width: 100%;
      height: 100%;
      border-radius: 0.5rem;
      border: 1px solid #e8e8e8;
      /* prevents border from affecting height and width */
      box-sizing: border-box;
      background: transparent;
      opacity: 1;
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      z-index: -1;
  }
  #services-342 .cs-link {
      text-decoration: none;
      /* 16px - 24px */
      padding-bottom: clamp(1rem, 2.2vw, 1.5rem);
      display: block;
  }
  #services-342 .cs-picture {
      width: 100%;
      height: 15rem;
      /* 16px - 24px */
      margin-bottom: clamp(1rem, 2.2vw, 1.5rem);
      border-radius: 0.5rem 0.5rem 0 0;
      background-color: var(--primary);
      /* clips the img tag corners */
      overflow: hidden;
      display: block;
      position: relative;
      z-index: 10;
  }
  #services-342 .cs-picture img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      object-fit: cover;
      transition:
          transform 0.6s,
          opacity 0.3s;
  }
  #services-342 .cs-h3 {
      /* 20px - 25px */
      font-size: clamp(1.25rem, 3vw, 1.5625rem);
      line-height: 1.2em;
      font-weight: 700;
      color: var(--headerColor);
      margin: 0 0 0.75rem 0;
      /* 16px - 24px */
      padding: 0 clamp(1rem, 2vw, 1.5rem);
      transition: color 0.3s;
  }
  #services-342 .cs-item-text {
      /* 14px - 16px  */
      font-size: clamp(0.875rem, 1.5vw, 1rem);
      line-height: 1.5em;
      color: var(--bodyTextColor);
      margin: 0;
      /* 16px - 24px */
      padding: 0 clamp(1rem, 2.2vw, 1.5rem);
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-342 .cs-card-group {
      flex-direction: row;
      flex-wrap: wrap;
      align-items: stretch;
  }
  #services-342 .cs-item {
      /* we do this so it's stackable. You can add any number of reviews you want and they will stack and center in the middle. We don't use grid because if you have an odd number of cards, they don't stay centered, they align with their grid lines. This way its more FLEX-ible*/
      width: clamp(31.85%, 30.5vw, 32.28%);
  }
}
                              
/*-- -------------------------- -->
<---       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-727 {
    padding: var(--sectionPadding);
  }
  #reviews-727 .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);
  }
  #reviews-727 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }
  #reviews-727 .cs-title {
    /* cs-title override */
    max-width: 20ch;
  }
  #reviews-727 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
  }
  #reviews-727 .cs-item {
    list-style: none;
    width: 100%;
    margin: 0;
    /* 32px - 48px top & bottom */
    /* 16px - 32px left & right */
    padding: clamp(2rem, 7vw, 3rem) clamp(1rem, 4vw, 2rem);
    /* makes padding not affect height and width */
    box-sizing: border-box;
    background-color: #F0F0F0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  #reviews-727 .cs-icon {
    /* 30px - 40px */
    width: clamp(1.875rem, 4vw, 2.5rem);
    height: auto;
    margin: 0 0 2rem 0;
    display: block;
  }
  #reviews-727 .cs-h3 {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 4vw, 1.5625rem);
    line-height: 1.2em;
    font-weight: 700;
    margin: 0 0 1.5rem 0;
    color: var(--headerColor);
  }
  #reviews-727 .cs-item-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 4vw, 1rem);
    line-height: 1.5em;
    margin: 0 0 3rem 0;
    color: var(--bodyTextColor);
  }
  #reviews-727 .cs-name {
    font-size: 1.25rem;
    line-height: 1.2em;
    font-weight: 500;
    margin: auto 0 0 0;
    color: var(--headerColor);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    position: relative;
  }
  #reviews-727 .cs-name:before {
    content: '';
    width: 0.5rem;
    height: 1px;
    background: currentColor;
    display: block;
    position: relative;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #reviews-727 .cs-container {
    max-width: 80rem;
  }
  #reviews-727 .cs-card-group {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  #reviews-727 .cs-item {
    width: 48.5%;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #reviews-727 .cs-title,
  body.dark-mode #reviews-727 .cs-text,
  body.dark-mode #reviews-727 .cs-h3,
  body.dark-mode #reviews-727 .cs-item-text,
  body.dark-mode #reviews-727 .cs-name {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #reviews-727 .cs-text {
    opacity: .8;
  }
  body.dark-mode #reviews-727 .cs-item {
    background-color: var(--medium);
  }
}
/*-- -------------------------- -->
<---            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;
  }
}
