/*-- -------------------------- -->
<---          Banner            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0em) {
  #banner-1014 {
    padding: 0 1rem;
    /* 160px - 245px */
    padding-top: clamp(10rem, 25vw, 15.3125rem);
    padding-bottom: 7.5rem;
    background-color: #000;
    position: relative;
    z-index: 1;
  }
  #banner-1014 .cs-container {
    text-align: center;
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  #banner-1014 .cs-picture {
    width: 100%;
    margin: 0 0 0.75rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    position: relative;
  }
  #banner-1014 .cs-picture:before {
    /* left line */
    content: "";
    width: 50%;
    max-width: 9.375rem;
    height: 1px;
    background: #b4b2c7;
    opacity: 1;
    position: relative;
    display: block;
  }
  #banner-1014 .cs-picture:after {
    /* right line */
    content: "";
    width: 50%;
    max-width: 9.375rem;
    height: 1px;
    background: #b4b2c7;
    opacity: 1;
    position: relative;
    display: block;
  }
  #banner-1014 .cs-icon {
    width: 40%;
    /* 100px - 180px */
    max-width: clamp(6.25rem, 18vw, 11.25rem);
    height: auto;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #banner-1014 .cs-int-title {
    /* 39px - 61px */
    font-size: clamp(2.4375rem, 6.5vw, 3.8125rem);
    font-weight: 900;
    line-height: 1.2em;
    text-align: center;
    max-width: 43.75rem;
    margin: 0 0 1rem 0;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #banner-1014 .cs-text {
    color: var(--bodyTextColorWhite);
  }
  #banner-1014 .cs-background {
    width: 100%;
    height: 100%;
    opacity: 0.9;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: -1;
  }
  #banner-1014 .cs-background:before {
    /* black overlay box */
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.72;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #banner-1014 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}
/*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #sbs-1014 {
    padding: var(--sectionPadding);
    background-color: #f7f7f7;
  }

  #sbs-1014 .cs-content .cs-topper {
    font-size: var(--topperFontSize);
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: inherit;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.25rem;
    display: block;
    z-index: 10;
  }
  #sbs-1014 .cs-content .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;
    z-index: 1000;
  }
  #sbs-1014 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
    z-index: 1000;
  }
  #sbs-1014 .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;
  }
  #sbs-1014 .cs-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 40.625rem;
    margin: 0;
    color: var(--bodyTextColor);
    z-index: 1000;
  }
  #sbs-1014 .cs-text {
    margin-bottom: 1rem;
  }
  #sbs-1014 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #sbs-1014 .cs-quote {
    margin: 0 0 2rem 0;
    /* 16px - 32px */
    padding: clamp(1rem, 3vw, 2rem);
    background-color: #1a1a1a;
    position: relative;
  }
  #sbs-1014 .cs-quote-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    margin: 0 0 1rem;
    color: var(--bodyTextColorWhite);
    display: block;
  }
  #sbs-1014 .cs-name {
    font-size: 1rem;
    line-height: 1.2em;
    text-transform: uppercase;
    font-weight: bold;
    margin: 0 0 0.25rem;
    color: var(--primary);
    display: block;
  }
  #sbs-1014 .cs-job {
    font-size: 0.875rem;
    line-height: 1.5em;
    color: var(--bodyTextColorWhite);
    display: block;
  }
  #sbs-1014 .cs-quote-icon {
    /* 60px - 136px */
    width: clamp(3.75rem, 10vw, 8.5rem);
    height: auto;
    position: absolute;
    bottom: 0rem;
    /* 16px - 32px */
    right: clamp(1rem, 4vw, 2rem);
  }
  #sbs-1014 .cs-image-group {
    /* scaling the font size with the view width */
    font-size: min(2.31vw, 0.7em);
    /* using ems so we can use font size to scale the whole section */
    width: 39.4375em;
    height: 39.75em;
    position: relative;
  }
  #sbs-1014 .cs-picture {
    position: absolute;
    display: block;
  }
  #sbs-1014 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* makes image act like a background image */
    object-fit: cover;
    z-index: 1000;
  }
  #sbs-1014 .cs-picture1 {
    width: 32.625em;
    height: 36.3125em;
    left: 0;
    top: 0;
  }
  #sbs-1014 .cs-picture2 {
    width: 25.875em;
    height: 25em;
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 40px;
    /* 6px - 12px */
    border: clamp(0.375em, 1.5vw, 0.75em) solid #fff;
    right: 0;
    bottom: 0;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #sbs-1014 .cs-container {
    flex-flow: row;
    justify-content: space-between;
    gap: 3.25rem;
  }
  #sbs-1014 .cs-image-group {
    font-size: min(1.2vw, 1em);
    flex: none;
  }
  #sbs-1014 .cs-content {
    margin: 0;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #sbs-1014 {
    background-color: rgba(0, 0, 0, 0.2);
  }
  body.dark-mode #sbs-1014 .cs-image-group:before,
  body.dark-mode #sbs-1014 .cs-image-group:after {
    background: var(--accent);
  }
  body.dark-mode #sbs-1014 .cs-picture2 {
    background-color: var(--dark);
    /* 6px - 12px */
    border: clamp(0.375em, 1.5vw, 0.75em) solid var(--dark);
  }
  body.dark-mode #sbs-1014 .cs-title,
  body.dark-mode #sbs-1014 .cs-text,
  body.dark-mode #sbs-1014 .cs-h3,
  body.dark-mode #sbs-1014 .cs-quote-text,
  body.dark-mode #sbs-1014 .cs-name {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #sbs-1014 .cs-quote {
    background-color: rgba(0, 0, 0, 0.6);
  }
  body.dark-mode #sbs-1014 .cs-job {
    color: var(--bodyTextColorWhite);
    opacity: 0.8;
  }
  body.dark-mode #sbs-1014 .cs-quote-icon {
    opacity: 0.2;
  }
}
/*-- -------------------------- -->
<---    Final Call To Action    -->
<--- -------------------------- -*/
/* Mobile */
@media only screen and (min-width: 0em) {
  #cta {
    position: relative;
    padding: 3.125rem 0;
  }
  #cta:before {
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #000;
    opacity: 0.7;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #cta .container {
    text-align: center;
  }
  #cta picture {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -2;
  }
  #cta picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  #cta .title {
    font-weight: 900;
    font-size: min(9vw, 3rem);
    line-height: 1.20833333;
    color: #fff;
    position: relative;
    margin-bottom: 2.25rem;
    text-align: center;
  }
  #cta p {
    color: #fff;
    text-align: center;
    opacity: 1;
    margin: auto;
    margin-bottom: 2.25rem;
    width: 96%;
    max-width: 37.375rem;
  }
}
/* Small Desktop */
@media only screen and (min-width: 64em) {
  #cta {
    padding: 10.5rem 0;
  }
}
/* Large Desktop */
@media only screen and (min-width: 1300px) {
  #cta {
    position: relative;
    margin-top: 6.25rem;
  }
  #cta:before {
    display: none;
  }
  #cta:after {
    content: "";
    position: absolute;
    display: block;
    height: 69.25rem;
    width: 125rem;
    background: url("/assets/svgs/cta-squares.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -3;
  }
  #cta .container {
    width: 90.0625%;
    margin: auto;
  }
  #cta picture {
    width: 90.0625%;
    left: 50%;
    transform: translateX(-50%);
  }
  #cta picture:before {
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #000;
    opacity: 0.7;
    top: 0;
    left: 0;
    z-index: 1;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0em) {
  body.dark-mode #cta:after {
    display: none;
  }
}

/*-- -------------------------- -->
<---           Stats            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #stats-1576 {
    padding: var(--sectionPadding);
    background-color: #1a1a1a;
    position: relative;
    z-index: 1;
  }
  #stats-1576 .cs-container {
    width: 100%;
    /* Changes to 1280px at small desktop */
    max-width: 59.6875rem;
    margin: auto;
  }
  #stats-1576 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 3.75rem;
  }
  #stats-1576 .cs-item {
    text-align: center;
    list-style: none;
    width: 47%;
    max-width: 15rem;
    margin: 0;
    padding: 0 0.75rem;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #stats-1576 .cs-icon {
    width: 3rem;
    height: auto;
    margin: 0 0 1.5rem;
    display: block;
  }
  #stats-1576 .cs-number {
    /* 31px - 61px */
    font-size: clamp(1.9375rem, 4.3vw, 2.4375rem);
    line-height: 1.2em;
    text-align: inherit;
    font-weight: 400;
    margin: 0 0 0.25rem 0;
    color: var(--bodyTextColorWhite);
    display: block;
  }
  #stats-1576 .cs-desc {
    /* 16px - 20px */
    font-size: clamp(1rem, 2vw, 1.15rem);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    color: var(--bodyTextColorWhite);
  }
  #stats-1576 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #stats-1576 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes img tag act as a background image */
    object-fit: cover;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #stats-1576 .cs-card-group {
    justify-content: space-between;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #stats-1576 .cs-container {
    max-width: 80rem;
  }
  #stats-1576 .cs-card-group {
    max-width: 39.375rem;
    margin-left: auto;
    justify-content: flex-end;
  }
  #stats-1576 .cs-item {
    text-align: left;
    max-width: 12.5rem;
    align-items: flex-start;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #stats-1576 {
    background-color: rgba(0, 0, 0, 0.6);
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #sbsr-1576 {
    padding: var(--sectionPadding);
  }
  #sbsr-1576 .cs-container {
    width: 100%;
    /* changes to 1280px at small desktop */
    max-width: 36.5rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #sbsr-1576 .cs-content {
    text-align: center;
    max-width: 39.375rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #sbsr-1576 .cs-title {
    /* 20 characters wide including spaces */
    max-width: 20ch;
    margin: 0 0 2rem 0;
  }
  #sbsr-1576 .cs-faq-group {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 0.75rem;
  }
  #sbsr-1576 .cs-faq-item {
    text-align: left;
    list-style: none;
    width: 100%;
    background-color: #f7f7f7;
    /* 12px - 16px */
    padding: clamp(0.75rem, 2vw, 1rem) 1rem;
    box-sizing: border-box;
    transition: border-bottom 0.3s;
  }
  #sbsr-1576 .cs-faq-item.active {
    border-color: var(--primaryLight);
  }
  #sbsr-1576 .cs-faq-item.active .cs-button {
    color: var(--primary);
  }
  #sbsr-1576 .cs-faq-item.active .cs-button .cs-indicator:before {
    transform: translate(-50%, -50%) rotate(360deg);
  }
  #sbsr-1576 .cs-faq-item.active .cs-button .cs-indicator:after {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  #sbsr-1576 .cs-faq-item.active .cs-item-p {
    height: auto;
    padding-top: 1rem;
    opacity: 1;
    transform: scaleY(1);
  }
  #sbsr-1576 .cs-button {
    /* 16px - 20px */
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.2em;
    text-align: left;
    font-weight: bold;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--headerColor);
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    position: relative;
    transition: background-color 0.3s, color 0.3s;
  }
  #sbsr-1576 .cs-button:hover {
    cursor: pointer;
  }
  #sbsr-1576 .cs-button .cs-indicator {
    width: 1.5rem;
    height: 1.5rem;
    position: relative;
    z-index: 1;
  }
  #sbsr-1576 .cs-button .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;
  }
  #sbsr-1576 .cs-button .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;
  }
  #sbsr-1576 .cs-button-text {
    width: 90%;
    display: block;
  }
  #sbsr-1576 .cs-item-p {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    width: 90%;
    max-width: 33.8125rem;
    height: 0;
    margin: 0;
    padding: 0;
    opacity: 0;
    color: var(--bodyTextColor);
    /* clips the text so it doesn't show up */
    overflow: hidden;
    transform: scaleY(0);
    transform-origin: top;
    transition: opacity 0.3s, transform 0.3s, padding-bottom 0.3s;
  }
  #sbsr-1576 .cs-image-group {
    /* everything inside the image group is in ems so the font size will scale them down.  Font size minimum is tied to view width size, and grows until it reaches 75% of the value on em */
    font-size: min(2.3vw, 0.89em);
    width: 39.375em;
    min-height: 63.125em;
    display: flex;
    gap: 1.25em;
    position: relative;
    z-index: 1;
  }
  #sbsr-1576 .cs-picture {
    overflow: hidden;
    display: block;
    position: relative;
    z-index: 1;
  }
  #sbsr-1576 .cs-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  #sbsr-1576 .cs-row {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25em;
  }
  #sbsr-1576 .cs-picture1 {
    width: 19.0625em;
    height: 40.594059%;
    margin-top: 7.125em;
  }
  #sbsr-1576 .cs-picture2 {
    width: 19.0625em;
    height: 60.891089%;
  }
  #sbsr-1576 .cs-picture3 {
    width: 19.0625em;
    height: 60%;
  }
  #sbsr-1576 .cs-picture4 {
    width: 19.0625em;
    height: 27.425743%;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #sbsr-1576 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
  #sbsr-1576 .cs-content {
    text-align: left;
    align-items: flex-start;
  }
  #sbsr-1576 .cs-image-group {
    font-size: min(1.2vw, 1em);
    height: auto;
    /* -210px to -384px */
    margin-top: calc(clamp(13.125rem, 20vw, 24rem) * -1);
    flex: none;
  }
}
/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #sbsr-1576 .cs-image-group {
    margin-top: -23.875rem;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #sbsr-1576 .cs-title,
  body.dark-mode #sbsr-1576 .cs-text,
  body.dark-mode #sbsr-1576 .cs-item-p,
  body.dark-mode #sbsr-1576 .cs-button {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #sbsr-1576 .cs-item-p {
    opacity: 0.8;
  }
  body.dark-mode #sbsr-1576 .cs-faq-item {
    background-color: rgba(0, 0, 0, 0.2);
  }
  body.dark-mode #sbsr-1576 .cs-icon {
    filter: brightness(125%);
  }
}

/*-- -------------------------- -->
<---          Reviews           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #reviews-1088 {
    padding: var(--sectionPadding);
    background-color: #f7f7f7;
  }
  #reviews-1088 .cs-content .cs-topper {
    font-size: var(--topperFontSize);
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: inherit;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.25rem;
    display: block;
    z-index: 10;
  }
  #reviews-1088 .cs-content .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;
    z-index: 1000;
  }
  #reviews-1088 .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-1088 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 39.375rem;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #reviews-1088 .cs-title {
    max-width: 25ch;
    margin: 0;
  }
  #reviews-1088 .cs-card-group {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: stretch;
    /* 16px - 20px */
    gap: clamp(1rem, 2vw, 1.25rem);
  }
  #reviews-1088 .cs-item {
    list-style: none;
    padding: 0;
    /* 46px - 56px, pushes up by the same amount the cs-image margin-top pulld it up for proper spacing */
    margin: clamp(2.5rem, 5vw, 3.5rem) 0 0;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    grid-column: span 12;
    position: relative;
  }
  #reviews-1088 .cs-item:hover .cs-flex {
    background-color: var(--primary);
  }
  #reviews-1088 .cs-icon {
    width: 3.25rem;
    height: auto;
    display: block;
    position: absolute;
    /* 24px - 36px, same values as the padding on cs-item-text */
    top: clamp(1.5rem, 3vw, 2.25rem);
    right: clamp(1.5rem, 3vw, 2.25rem);
  }
  #reviews-1088 .cs-image {
    /* 80px - 112px */
    width: clamp(5rem, 10vw, 7rem);
    height: auto;
    /* 40px - 56px, same growth rate as the cs-image */
    /* 24px - 36px marign left, same value as the padding on cs-item-text */
    margin: calc(clamp(2.5rem, 5vw, 3.5rem) * -1) 0 2.25rem
      clamp(1.25rem, 3vw, 2.25rem);
    border-radius: 50%;
    display: block;
  }
  #reviews-1088 .cs-item-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    text-align: left;
    margin: 0;
    /* 24px - 36px */
    padding: 0 clamp(1.5rem, 3vw, 2.25rem) clamp(1.25rem, 3vw, 2.25rem);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    color: var(--bodyTextColor);
  }
  #reviews-1088 .cs-flex {
    text-align: center;
    padding: 1.5rem;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    width: 100%;
    /* pushes up against the cs-item-text so if there's a different amount of content from the other cards, it will push down and stretch the card to fill the container vertically. This makes all the cards the same height no matter how much content each one has */
    margin-top: auto;
    background-color: #1a1a1a;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    transition: background-color 0.3s;
  }
  #reviews-1088 .cs-name {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
    line-height: 1.2em;
    text-align: inherit;
    margin: 0;
    font-weight: 700;
    padding: 0;
    color: var(--bodyTextColorWhite);
  }
  #reviews-1088 .cs-desc {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 2.5vw, 1rem);
    line-height: 1.5em;
    text-align: inherit;
    margin: 0;
    padding: 0;
    color: var(--bodyTextColorWhite);
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #reviews-1088 .cs-container {
    max-width: 80rem;
  }
  #reviews-1088 .cs-item {
    grid-column: span 4;
  }
}

/*-- -------------------------- -->
<---          Contact           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #contact-1093 {
    background-color: #f7f7f7;
    position: relative;
    z-index: 1;
  }
  #contact-1093 .cs-container {
    width: 100%;
    /* chnaged to 1280px at large desktop */
    max-width: 96.875rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  #contact-1093 .cs-content {
    /* set text aling to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 49rem;
    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;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #contact-1093 .cs-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 40.625rem;
    margin: 0;
    color: var(--bodyTextColor);
  }
  #contact-1093 .cs-topper {
    color: #767676;
  }
  #contact-1093 .cs-title {
    max-width: 20ch;
  }
  #contact-1093 .cs-text {
    margin-bottom: 1rem;
  }
  #contact-1093 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #contact-1093 .cs-form-group {
    width: 100%;
    /* moved section padding to the content so the picture 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;
    align-items: center;
    gap: 3rem;
    position: relative;
  }
  #contact-1093 .cs-form-content {
    /* set text aling 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;
  }
  #contact-1093 .cs-form-content .cs-topper {
    color: var(--secondary);
  }
  #contact-1093 .cs-form-content .cs-title {
    color: var(--bodyTextColorWhite);
    /* 36px - 48px */
    margin-bottom: clamp(2.25rem, 4vw, 3rem);
  }
  #contact-1093 .cs-form {
    width: 100%;
    max-width: 49rem;
    /* 32px - 48px top & bottom */
    /* 16px - 48px left & right */
    padding: clamp(2rem, 4vw, 3rem) clamp(1rem, 4vw, 3rem);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    background-color: rgba(26, 26, 26, 0.72);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
  }
  #contact-1093 .cs-label {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    width: 100%;
    color: var(--bodyTextColorWhite);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0.25rem;
  }
  #contact-1093 .cs-input {
    font-size: 1rem;
    width: 100%;
    height: 3.5rem;
    padding: 0;
    padding-left: 1.5rem;
    color: var(--bodyTextColorWhite);
    background-color: #595756;
    border: none;
    /* prevents padding from adding to height and width */
    box-sizing: border-box;
    transition: border-color 0.3s;
  }
  #contact-1093 .cs-input:hover {
    border-color: var(--secondary);
  }
  #contact-1093 .cs-input:focus {
    outline: 1px solid var(--secondary);
  }
  #contact-1093 .cs-input::placeholder {
    color: #bababa;
    opacity: 0.6;
  }
  #contact-1093 .cs-textarea {
    min-height: 7.5rem;
    padding-top: 1.5rem;
    margin: 0;
    font-family: inherit;
  }
  #contact-1093 .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;
  }
  #contact-1093 .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;
  }
  #contact-1093 .cs-button-solid:hover:before {
    width: 100%;
  }
  #contact-1093 .cs-submit {
    min-width: 15.0625rem;
    /* 36px - 48px */
    margin-top: clamp(2.25rem, 4vw, 3rem);
    border: none;
    border-radius: 0;
  }
  #contact-1093 .cs-submit:hover {
    cursor: pointer;
  }
  #contact-1093 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #contact-1093 .cs-background:before {
    /* background color overlay */
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #1a1a1a;
    opacity: 0.72;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #contact-1093 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes img tag act as a background image */
    object-fit: cover;
  }
  #contact-1093 .cs-icon {
    /* 48px - 72px */
    width: clamp(3rem, 6vw, 4.5rem);
    height: auto;
    /* 28px - 40px */
    margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
    display: block;
  }
  #contact-1093 .cs-review-group {
    /* 24px - 32px top & bottom */
    /* 16px - 32px left & right */
    padding: clamp(1.5rem, 4vw, 2rem) clamp(1rem, 5vw, 2rem);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(1.75rem, 4vw, 2.5rem);
  }
  #contact-1093 .cs-picture {
    /* dimensions change at tablet */
    width: 100%;
    height: 15rem;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #contact-1093 .cs-picture img {
    width: 100%;
    max-width: 18.75rem;
    height: 100%;
    object-fit: cover;
    /* places the top of the image to the top of the parent */
    object-position: top;
  }
  #contact-1093 .cs-review-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    text-align: left;
    /* 16px - 28px */
    margin: 0 0 clamp(1rem, 3vw, 1.75rem);
    color: var(--bodyTextColor);
  }
  #contact-1093 .cs-name {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 3vw, 1.5625rem);
    line-height: 1.2em;
    font-weight: bold;
    text-align: left;
    margin: 0;
    display: block;
  }
  #contact-1093 .cs-desc {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    text-align: left;
    margin: 0;
    color: var(--bodyTextColor);
    display: block;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #contact-1093 .cs-review-group {
    flex-direction: row;
    justify-content: space-between;
  }
  #contact-1093 .cs-picture {
    width: 11.1875rem;
    height: 12.625rem;
  }
}
/* Large Desktop - 1500px */
@media only screen and (min-width: 93.75rem) {
  #contact-1093 {
    padding: var(--sectionPadding);
    position: relative;
  }
  #contact-1093 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
    gap: 5.625rem;
  }
  #contact-1093 .cs-content {
    max-width: 39.375rem;
    padding: 0;
  }
  #contact-1093 .cs-form-group {
    padding: 0;
    /*sends it to the right in the 2nd position */
    order: 2;
    /* undo the position, so the cs-background will position itself relative to the next parent that has a decalred position relative, which we added to the #content parent div. Now we can position it relative to the whole section, allowing us to have more control on how it covers the section. */
    position: initial;
  }
  #contact-1093 .cs-form {
    transform: translateX(5rem);
  }
  #contact-1093 .cs-background {
    width: 50vw;
    margin-left: 5rem;
    left: 50%;
    right: auto;
    background: url("https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/People/mechanic16.jpg");
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
    /* makes a parallax scroll effect */
    background-attachment: fixed;
  }
  #contact-1093 .cs-background img {
    display: none;
  }
}

.cs-graphic {
  height: auto;
  position: absolute;
}
.cs-graphic1 {
  width: 72.125em;
  top: 5em;
  right: -3.75em;
  transform: rotate(-15deg);
}

/*-- -------------------------- -->
<---          Contact           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #contact-1093 {
    background-color: #f7f7f7;
    position: relative;
    z-index: 1;
  }
  #contact-1093 .cs-container {
    width: 100%;
    /* chnaged to 1280px at large desktop */
    max-width: 96.875rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  #contact-1093 .cs-content {
    /* set text aling to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 49rem;
    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;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #contact-1093 .cs-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 40.625rem;
    margin: 0;
    color: var(--bodyTextColor);
  }
  #contact-1093 .cs-topper {
    color: #767676;
  }
  #contact-1093 .cs-title {
    max-width: 20ch;
  }
  #contact-1093 .cs-text {
    margin-bottom: 1rem;
  }
  #contact-1093 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #contact-1093 .cs-form-group {
    width: 100%;
    /* moved section padding to the content so the picture 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;
    align-items: center;
    gap: 3rem;
    position: relative;
  }
  #contact-1093 .cs-form-content {
    /* set text aling 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;
  }

  #contact-1093 .cs-topper {
        font-size: var(--topperFontSize);
        line-height: 1.2em;
        text-transform: uppercase;
        text-align: inherit;
        letter-spacing: 0.1em;
        font-weight: 700;
        color: var(--primary);
        margin-bottom: 0.25rem;
        display: block;
        
    }
    #contact-1093 .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;
    }
    #contact-1093 .cs-text {
        font-size: var(--bodyFontSize);
        line-height: 1.5em;
        text-align: inherit;
        width: 100%;
        max-width: 40.625rem;
        margin: 0;
        color: var(--bodyTextColor);
    }
  #contact-1093 .cs-form-content .cs-topper {
    color: var(--primary);
  }
  #contact-1093 .cs-form-content .cs-title {
    color: var(--bodyTextColorWhite);
    /* 36px - 48px */
    margin-bottom: clamp(2.25rem, 4vw, 3rem);
  }
  #contact-1093 .cs-form {
    width: 100%;
    max-width: 49rem;
    /* 32px - 48px top & bottom */
    /* 16px - 48px left & right */
    padding: clamp(2rem, 4vw, 3rem) clamp(1rem, 4vw, 3rem);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    background-color: rgba(26, 26, 26, 0.72);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
  }
  #contact-1093 .cs-label {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    width: 100%;
    color: var(--bodyTextColorWhite);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0.25rem;
  }
  #contact-1093 .cs-input {
    font-size: 1rem;
    width: 100%;
    height: 3.5rem;
    padding: 0;
    padding-left: 1.5rem;
    color: var(--bodyTextColorWhite);
    background-color: #595756;
    border: none;
    /* prevents padding from adding to height and width */
    box-sizing: border-box;
    transition: border-color 0.3s;
  }
  #contact-1093 .cs-input:hover {
    border-color: var(--secondary);
  }
  #contact-1093 .cs-input:focus {
    outline: 1px solid var(--secondary);
  }
  #contact-1093 .cs-input::placeholder {
    color: #bababa;
    opacity: 0.6;
  }
  #contact-1093 .cs-textarea {
    min-height: 7.5rem;
    padding-top: 1.5rem;
    margin: 0;
    font-family: inherit;
  }
  #contact-1093 .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;
  }
  #contact-1093 .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;
  }
  #contact-1093 .cs-button-solid:hover:before {
    width: 100%;
  }
  #contact-1093 .cs-submit {
    min-width: 15.0625rem;
    /* 36px - 48px */
    margin-top: clamp(2.25rem, 4vw, 3rem);
    border: none;
    border-radius: 0;
  }
  #contact-1093 .cs-submit:hover {
    cursor: pointer;
  }
  #contact-1093 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #contact-1093 .cs-background:before {
    /* background color overlay */
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #1a1a1a;
    opacity: 0.72;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #contact-1093 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes img tag act as a background image */
    object-fit: cover;
  }
  #contact-1093 .cs-icon {
    /* 48px - 72px */
    width: clamp(3rem, 6vw, 4.5rem);
    height: auto;
    /* 28px - 40px */
    margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
    display: block;
  }
  #contact-1093 .cs-review-group {
    /* 24px - 32px top & bottom */
    /* 16px - 32px left & right */
    padding: clamp(1.5rem, 4vw, 2rem) clamp(1rem, 5vw, 2rem);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(1.75rem, 4vw, 2.5rem);
  }
  #contact-1093 .cs-picture {
    /* dimensions change at tablet */
    width: 100%;
    height: 15rem;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #contact-1093 .cs-picture img {
    width: 100%;
    max-width: 18.75rem;
    height: 100%;
    object-fit: cover;
    /* places the top of the image to the top of the parent */
    object-position: top;
    border-radius: 50%; 
  }
  #contact-1093 .cs-review-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    text-align: left;
    /* 16px - 28px */
    margin: 0 0 clamp(1rem, 3vw, 1.75rem);
    color: var(--bodyTextColor);
  }
  #contact-1093 .cs-name {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 3vw, 1.5625rem);
    line-height: 1.2em;
    font-weight: bold;
    text-align: left;
    margin: 0;
    display: block;
  }
  #contact-1093 .cs-desc {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    text-align: left;
    margin: 0;
    color: var(--bodyTextColor);
    display: block;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #contact-1093 .cs-review-group {
    flex-direction: row;
    justify-content: space-between;
  }
  #contact-1093 .cs-picture {
    width: 11.1875rem;
    height: 12.625rem;
  }
}
/* Large Desktop - 1500px */
@media only screen and (min-width: 93.75rem) {
  #contact-1093 {
    padding: var(--sectionPadding);
    position: relative;
  }
  #contact-1093 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
    gap: 5.625rem;
  }
  #contact-1093 .cs-content {
    max-width: 39.375rem;
    padding: 0;
  }
  #contact-1093 .cs-form-group {
    padding: 0;
    /*sends it to the right in the 2nd position */
    order: 2;
    /* undo the position, so the cs-background will position itself relative to the next parent that has a decalred position relative, which we added to the #content parent div. Now we can position it relative to the whole section, allowing us to have more control on how it covers the section. */
    position: initial;
  }
  #contact-1093 .cs-form {
    transform: translateX(5rem);
  }
  #contact-1093 .cs-background {
    width: 50vw;
    margin-left: 5rem;
    left: 50%;
    right: auto;
    background: url("https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/People/mechanic16.jpg");
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
    /* makes a parallax scroll effect */
    background-attachment: fixed;
  }
  #contact-1093 .cs-background img {
    display: none;
  }
}