/*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #sbs-1308 {
    padding: var(--sectionPadding);
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #sbs-1308:before {
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: url("https://csimg.nyc3.cdn.digitaloceanspaces.com/Icons/chevron-pattern-light2.svg");
    background-position: center;
    background-size: auto;
    background-repeat: repeat;
    opacity: 1;
    filter: brightness(50%);
    top: 0;
    left: 0;
    z-index: -1;
  }
  #sbs-1308 .cs-container {
    width: 100%;
    /* changes to 1280px at desktop */
    max-width: 36.5rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: clamp(3rem, 4vw, 4rem);
  }
  #sbs-1308 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 33.875rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
    position: relative;
    z-index: 10;
  }
  #sbs-1308 .cs-text {
    margin-bottom: 1rem;
  }
  #sbs-1308 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #sbs-1308 .cs-ul {
    width: 100%;
    padding: 0;
    /* 32px - 48px */
    margin: clamp(2rem, 5vw, 3rem) 0 0 0;
    /* 32px - 48px */
    padding: clamp(2rem, 5vw, 3rem) 0 0 0;
    border-top: 1px solid #e8e8e8;
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 0.75rem;
  }
  #sbs-1308 .cs-item {
    list-style: none;
    width: 32%;
    /* making flex so we can align a heading with 1 line to the bottom */
    display: flex;
    flex-direction: column;
    align-self: stretch;
    align-content: space-between;
  }
  #sbs-1308 .cs-number {
    font-size: 1.5625rem;
    line-height: 1.2em;
    font-weight: 700;
    text-align: left;
    color: var(--primary);
    display: block;
    margin: 0 0 0.5rem 0;
  }
  #sbs-1308 .cs-h3 {
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 400;
    text-align: left;
    /* auto margin top will push text to bottom if there's only one line */
    margin: 0;
    color: var(--bodyTextColor);
  }
  #sbs-1308 .cs-job {
    font-size: 1rem;
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColor);
    display: block;
  }
  #sbs-1308 .cs-image-group {
    width: 100%;
    max-width: 41.875rem;
    height: 100vw;
    max-height: 39.375rem;
    position: relative;
    display: block;
    z-index: 1;
  }
  #sbs-1308 .cs-picture {
    /* big background image */
    width: 93%;
    height: 93%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: 1;
  }
  #sbs-1308 .cs-picture:before {
    content: '';
    width: 100%;
    height: 100%;
    background: var(--primary);
    opacity: 1;
    position: absolute;
    display: block;
    top: -1.25rem;
    right: -1.25rem;
  }
  #sbs-1308 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  #sbs-1308 .cs-box {
    text-align: left;
    width: 70%;
    max-width: 19rem;
    /* 20px - 40px */
    padding: clamp(1.25rem, 4vw, 2.5rem);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    background-color: #1a1a1a;
    display: inline-flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 10;
  }
  #sbs-1308 .cs-desc {
    /* 16px - 31px */
    font-size: clamp(1rem, 2.5vw, 1.9375rem);
    line-height: 1.2em;
    font-weight: 700;
    text-align: inherit;
    width: 100%;
    color: var(--bodyTextColorWhite);
    position: relative;
    z-index: 10;
  }
  #sbs-1308 .cs-graphic {
    width: 150%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #sbs-1308 .cs-container {
    max-width: 80rem;
    /* set to horizontal arrangement */
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
  #sbs-1308 .cs-content {
    width: 48%;
    padding: 3rem 0;
    align-self: center;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #sbs-1308 .cs-image-group {
    width: 55%;
    max-width: 41.875rem;
    min-height: 41.875rem;
    max-height: 100%;
    height: auto;
    margin: 0;
  }
  #sbs-1308 .cs-picture {
    width: 93%;
    height: 94%;
  }
  #sbs-1308 .cs-picture:before {
    right: auto;
    left: -1.25rem;
  }
  #sbs-1308 .cs-box {
    bottom: 0rem;
  }
  #sbs-1308 .cs-graphic {
    max-width: 44.6875rem;
    left: auto;
    right: 8.125rem;
    transform: translateY(-50%);
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #sbs-1308 .cs-title,
  body.dark-mode #sbs-1308 .cs-text,
  body.dark-mode #sbs-1308 .cs-h3,
  body.dark-mode #sbs-1308 .cs-job {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #sbs-1308 .cs-link {
    color: var(--secondaryLight);
  }
  body.dark-mode #sbs-1308 .cs-text,
  body.dark-mode #sbs-1308 .cs-h3,
  body.dark-mode #sbs-1308 .cs-job {
    opacity: 0.8;
  }
  body.dark-mode #sbs-1308 .cs-picture:before {
    background-color: var(--secondary);
  }
  body.dark-mode #sbs-1308 .cs-box {
    background-color: var(--medium);
  }
}
/*-- -------------------------- -->
<---          Reviews           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #reviews-354 {
    padding: var(--sectionPadding);
  }
  #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-topper {
    color: var(--primaryLight);
  }
  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;
  }
}
