/*-- -------------------------- -->
<---        Content Page        -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #content-page-851 {
    padding: var(--sectionPadding);
    padding-top: clamp(13rem, 20vw, 20rem);
    background-color: #fff;
    /* clips the wave background from causing overflow issues when it goes off screen */
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #content-page-851 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
    position: relative;
  }
  #content-page-851 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 46.125rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #content-page-851 h2,
  #content-page-851 h3,
  #content-page-851 h4,
  #content-page-851 h5,
  #content-page-851 h6 {
    font-weight: 700;
    text-align: inherit;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
  }
  #content-page-851 h2 {
    font-size: 2rem;
    margin-top: 2rem;
  }
  #content-page-851 h3 {
    font-size: 1.5rem;
    color: var(--primary);
  }
  #content-page-851 h4,
  #content-page-851 h5,
  #content-page-851 h6 {
    font-size: 1.25rem;
  }
  #content-page-851 .cs-button-solid {
    margin-bottom: 2rem;
  }
  #content-page-851 .cs-no-margin {
    margin: 0;
  }
  #content-page-851 .cs-color {
    color: var(--primary);
  }
  #content-page-851 p {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    margin: 0 0 1rem 0;
    color: var(--bodyTextColor);
  }
  #content-page-851 p:last-of-type {
    margin-bottom: 2rem;
  }
  #content-page-851 p a {
    font-size: inherit;
    line-height: inherit;
    text-decoration: underline;
    color: var(--primary);
  }
  #content-page-851 ol,
  #content-page-851 ul {
    padding-left: 1.5rem;
    margin: 0 0 2rem 0;
    color: var(--bodyTextColor);
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  #content-page-851 ul li {
    list-style: none;
    color: inherit;
    position: relative;
  }
  #content-page-851 ul li:before {
    /* custom list bullet */
    content: "";
    width: 3px;
    height: 3px;
    background: currentColor;
    opacity: 1;
    border-radius: 50%;
    position: absolute;
    display: block;
    top: 0.625rem;
    left: -0.75rem;
  }
  #content-page-851 ul li p:last-of-type {
    margin: 0;
  }
  #content-page-851 img {
    width: 100%;
    height: auto;
    display: block;
  }
  #content-page-851 .cs-image-group {
    width: 50%;
    max-width: 27.0625rem;
    display: none;
    flex-direction: column;
    gap: 1.25rem;
    position: relative;
    z-index: 1;
  }
  #content-page-851 .cs-image-group:after {
    /* colored box */
    content: "";
    width: 100%;
    height: 100%;
    background: var(--primary);
    opacity: 0.15;
    display: block;
    position: absolute;
    bottom: -2.5rem;
    right: -2.5rem;
    z-index: -1;
  }
  #content-page-851 .cs-picture {
    width: 100%;
    /* 300px - 520px */
    height: clamp(18.75rem, 40vw, 32.5rem);
    box-shadow: 0px 3.3478px 50.2169px rgba(0, 0, 0, 0.16);
    /* prevents border from affecting height and width */
    box-sizing: border-box;
    /* clips img tag corners */
    overflow: hidden;
    display: block;
    position: relative;
  }
  #content-page-851 .cs-picture img {
    width: 100%;
    height: 100%;
    /* makes it act like a background image */
    object-fit: cover;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #content-page-851 .cs-container {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
  #content-page-851 .cs-content {
    flex: none;
    width: 60%;
  }
  #content-page-851 .cs-image-group {
    display: flex;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #content-page-851 {
    background-color: var(--dark);
  }
  body.dark-mode #content-page-851 .cs-title,
  body.dark-mode #content-page-851 .cs-text,
  body.dark-mode #content-page-851 h2,
  body.dark-mode #content-page-851 h3,
  body.dark-mode #content-page-851 h4,
  body.dark-mode #content-page-851 h5,
  body.dark-mode #content-page-851 h6,
  body.dark-mode #content-page-851 li,
  body.dark-mode #content-page-851 p {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #content-page-851 .cs-color,
  body.dark-mode #content-page-851 p a {
    color: var(--primaryLight);
  }
  body.dark-mode #content-page-851 p,
  body.dark-mode #content-page-851 li {
    color: #ebebeb;
  }
  body.dark-mode #content-page-851 .cs-picture {
    border-color: var(--dark);
    background-color: var(--dark);
  }
}
/*-- -------------------------- -->
<---          Reviews           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #reviews-354 {
    padding: var(--sectionPadding);
    padding-top: 0;
  }
  #reviews-354 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #reviews-354 .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-354 .cs-card-group {
    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-354 .cs-item {
    list-style: none;
    width: 100%;
    max-width: 39.375rem;
    /* 24px - 32px top & bottom */
    /* 16px - 40px left & right */
    padding: clamp(1.5rem, 3.15vw, 2rem) clamp(1rem, 3.15vw, 2.5rem);
    background-color: #f7f7f7;
    /* 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-354 .cs-quote {
    width: 2.5rem;
    height: auto;
    margin-bottom: 2rem;
    display: block;
  }
  #reviews-354 .cs-review {
    /* 14px - 20px */
    font-size: clamp(0.875rem, 2vw, 1.25rem);
    line-height: 1.5em;
    margin: 0;
    /* 20px - 40px */
    margin-bottom: clamp(1.25rem, 3vw, 2.5rem);
    color: var(--bodyTextColor);
  }
  #reviews-354 .cs-name {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 3vw, 1.5625rem);
    line-height: 1.2em;
    font-weight: 700;
    margin: 0;
    /* 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;
    color: var(--headerColor);
    display: block;
  }
  #reviews-354 .cs-job {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.6vw, 1rem);
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColor);
    display: block;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #reviews-354 .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-354 .cs-title,
  body.dark-mode #reviews-354 .cs-text {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #reviews-354 .cs-item {
    background-color: var(--accent);
  }
  body.dark-mode #reviews-354 .cs-review,
  body.dark-mode #reviews-354 .cs-name {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #reviews-354 .cs-job {
    color: var(--bodyTextColorWhite);
    opacity: 0.7;
  }
}
