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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #hero-229 {
    /* changes on tablet */
    padding: 0 1rem;
    position: relative;
    z-index: 1;
    /* prevents overflow from the lines extending past the screen width */
    overflow: hidden;
  }
  #hero-229 .cs-picture {
    /* Background Image */
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
  }
  #hero-229 .cs-picture:before {
    /* Black Color Overlay */
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.6;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
    /* prevents the cursor from interacting with it */
    pointer-events: none;
  }
  #hero-229 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes image act like a background-image */
    object-fit: cover;
  }
  #hero-229 .cs-container {
    width: 100%;
    max-width: 80rem;
    /* we put the padding top and bottom on the container instead of #Hero so the pseudo element lines go to the top and bottom of the section */
    /* 144px - 280px - leaving extra space for the navigation */
    /* changes on tablet */
    padding: clamp(9rem, 25.95vw, 17.5rem) 0;
    margin: auto;
    position: relative;
  }
  #hero-229 .cs-container:before {
    /* Left Line */
    content: "";
    width: 1px;
    height: 100%;
    background: -moz-linear-gradient(
      top,
      rgba(250, 251, 252, 0.5) 0%,
      rgba(250, 251, 252, 0) 100%
    );
    /* FF3.6-15 */
    background: -webkit-linear-gradient(
      top,
      rgba(250, 251, 252, 0.5) 0%,
      rgba(250, 251, 252, 0) 100%
    );
    /* Chrome10-25,Safari5.1-6 */
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
  }
  #hero-229 .cs-flex-group {
    /* 60px - 220px */
    margin-bottom: clamp(3.75rem, 15.5vw, 13.75rem);
    margin: auto;
    margin-top: 3rem;
    width: 80vw;
    /* 464px - 562px */
    max-width: clamp(29rem, 60vw, 35.125rem);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 1.25rem;
    box-sizing: border-box;
  }
  #hero-229 .cs-topper {
    /* 13px - 16px */
    font-size: clamp(0.8125rem, 1.6vw, 1rem);
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 0.1rem;
    font-weight: 700;
    color: var(--primaryLight);
    margin-bottom: 1rem;
    display: block;
  }
  #hero-229 .cs-title {
    /* 39px - 61px */
    font-size: clamp(1.828125rem, 4.8vw, 2.859375rem);
    font-weight: 900;
    line-height: 1.2em;
    text-align: center;
    width: 100%;
    /* 32px - 40px */
    margin: 0 auto clamp(2rem, 4vw, 2.5rem) 0;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #hero-229 .cs-text {
    /* 16px - 20px */
    font-size: clamp(1rem, 1.95vw, 1.25rem);
    line-height: 1.5em;
    text-align: center;
    width: 100%;
    /* 32px - 40px */
    margin: 0 auto clamp(2rem, 4vw, 2.5rem) 0;
    /* 40px - 48px */
    margin-bottom: clamp(2.5rem, 4vw, 3rem);
    color: var(--bodyTextColorWhite);
  }
  #hero-229 .cs-button-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* 16px - 20px */
    gap: clamp(1rem, 2.3vw, 1.25rem);
  }
  #hero-229 .cs-button {
    min-width: 12.3125rem;
  }
  #hero-229 .cs-button-solid {
    font-size: 1rem;
    font-weight: 700;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-align: center;
    text-decoration: none;
    margin: 0;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    padding: 0 3rem;
    background-color: var(--secondary);
    overflow: hidden;
    color: var(--darkText);
    border: none;
    display: inline-block;
    position: relative;
    z-index: 1;
    transition: color 0.3s;
  }
  #hero-229 .cs-button-solid:before {
    content: "";
    width: 0;
    height: 100%;
    background: #000;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #hero-229 .cs-button-solid:hover {
    color: #fff;
  }
  #hero-229 .cs-button-solid:hover:before {
    width: 100%;
  }
  #hero-229 .cs-button-transparent {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    width: 11.25rem;
    /* 46px - 56px */
    height: clamp(2.875rem, 5.5vw, 3.5rem);
    text-decoration: none;
    font-weight: 700;
    margin: 0;
    color: #fff;
    padding: 0;
    background-color: transparent;
    border: 1px solid var(--bodyTextColorWhite);
    box-sizing: border-box;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
  }
  #hero-229 .cs-button-transparent:before {
    content: "";
    position: absolute;
    display: block;
    background: #000;
    opacity: 1;
    /* so it sits on top of the border */
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    z-index: -1;
    transform-origin: left;
    /* this is what creates the grow affect on hover */
    transform: scaleX(0);
    transition: transform 0.3s;
  }
  #hero-229 .cs-button-transparent:hover:before {
    transform: scaleX(1);
  }
  #hero-229 .cs-button-transparent .cs-img {
    display: block;
    margin-right: 0.75rem;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #hero-229 {
    /* 32px - 40px */
    padding: 0 clamp(2rem, 5vw, 2.5rem);
  }

  #hero-229 .cs-container:after {
    /* Right Line */
    content: "";
    width: 1px;
    height: 100%;
    background: -moz-linear-gradient(
      top,
      rgba(250, 251, 252, 0) 0%,
      rgba(250, 251, 252, 0.5) 100%
    );
    /* FF3.6-15 */
    background: -webkit-linear-gradient(
      top,
      rgba(250, 251, 252, 0) 0%,
      rgba(250, 251, 252, 0.5) 100%
    );
    /* Chrome10-25,Safari5.1-6 */
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    right: 0;
  }
  #hero-229 .cs-button-group {
    flex-direction: row;
  }
}
/* Desktop Parallax Effect - 1300px */
@media only screen and (min-width: 81.25rem) {
  #hero-229 {
    background: url("/assets/images/background/src_home_hero_bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* creates parallax effect on background image */
    background-attachment: fixed;
    /* remove img tag so we can make parallax work */
  }
  #hero-229 .cs-picture img {
    display: none;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #hero-229 .cs-background:before {
    opacity: 0.8;
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #sbsr-2296 {
    padding: var(--sectionPadding);
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #sbsr-2296 .cs-container {
    width: 100%;
    /* changes to 1280px at tablet */
    max-width: 44rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 4vw, 4rem);
  }
  #sbsr-2296 .cs-content {
    /* set text align to center if content needs to be centrally aligned */
    text-align: left;
    width: 100%;
    max-width: 36.625rem;
    display: flex;
    flex-direction: column;
    /* aligns content to the left, set to center to centrally align */
    align-items: flex-start;
  }
  #sbsr-2296 .cs-title {
    max-width: 30ch;
  }
  #sbsr-2296 .cs-text {
    margin-bottom: 1rem;
  }
  #sbsr-2296 .cs-text:last-of-type {
    margin-bottom: 1.5rem;
  }
  #sbsr-2296 .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: 9.375rem;
    margin: 0;
    padding: 0 1.5rem;
    background-color: var(--secondary);
    color: var(--textDark);
    display: inline-block;
    position: relative;
    z-index: 1;
  }
  #sbsr-2296 .cs-button-solid:before {
    content: "";
    width: 0%;
    height: 100%;
    background: var(--buttonbg);
    opacity: 1;
    border-radius: 0.25rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #sbsr-2296 .cs-button-solid:hover:before {
    width: 100%;
  }
  #sbsr-2296 .cs-button-solid:hover {
    color: white;
  }
  #sbsr-2296 .cs-h3 {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5em;
    margin: 0;
    color: var(--headerColor);
  }
  #sbsr-2296 .cs-ul {
    margin: 0.75rem 0 2rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  #sbsr-2296 .cs-li {
    font-size: 1rem;
    line-height: 1.5em;
    list-style: none;
    /* 20px - 24px */
    padding-left: clamp(1.25rem, 3vw, 1.5rem);
    color: var(--bodyTextColor);
    position: relative;
  }
  #sbsr-2296 .cs-li strong {
    color: var(--headerColor);
  }
  #sbsr-2296 .cs-li::before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    margin-top: 0.5rem;
    background-color: var(--secondary);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(45deg);
  }
  #sbsr-2296 .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.98vw, 0.802rem);
    /* everything inside this box is in ems so we can scale it all down proportionally with a font size */
    width: 46.125em;
    height: 38.75em;
    order: -1;
    position: relative;
    z-index: 1;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #sbsr-2296 .cs-picture {
    width: 100%;
    height: 100%;
    border: 1em solid #e7e7e8;
    box-sizing: border-box;
    display: block;
  }
  #sbsr-2296 .cs-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
  }
  #sbsr-2296 .cs-picture-wrapper1 {
    width: 25.8125em;
    height: 28.5625em;
    display: flex;
    flex-direction: column-reverse;
    gap: 1rem;
    position: absolute;
    top: 0;
    left: 0;
  }
  #sbsr-2296 .cs-picture-wrapper2 {
    width: 25.8125em;
    height: 24.8125em;
    display: flex;
    flex-direction: column-reverse;
    gap: 1em;
    position: absolute;
    top: 3.25em;
    right: 0;
    z-index: -1;
  }
  #sbsr-2296 .cs-picture-wrapper3 {
    width: 25.75em;
    min-height: 18.375em;
    display: flex;
    flex-direction: column;
    gap: 1em;
    position: absolute;
    bottom: 0;
    left: 9.25em;
  }
  #sbsr-2296 .cs-picture-wrapper3 .cs-picture {
    height: 15.5625em;
  }
  #sbsr-2296 .cs-tag {
    /* 14px - 24px */
    font-size: clamp(0.875rem, 1.5vw, 1.5rem);
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    color: var(--headerColor);
    display: block;
    flex: none;
  }
  #sbsr-2296 .cs-arrow {
    width: 9.25em;
    height: auto;
    position: absolute;
  }
  #sbsr-2296 .cs-arrow-left {
    bottom: 12.5625em;
    left: 4.5em;
    transform: rotate(-120deg);
  }
  #sbsr-2296 .cs-arrow-right {
    right: 7.125em;
    bottom: 11.0625em;
    transform: rotate(300deg);
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #sbsr-2296 .cs-container {
    max-width: 80rem;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #sbsr-2296 .cs-container {
    flex-direction: row;
    align-items: stretch;
  }
  #sbsr-2296 .cs-image-group {
    font-size: min(1.1vw, 1rem);
    height: auto;
    min-height: 38.75em;
    order: initial;
    flex: none;
  }
  #sbsr-2296 .cs-picture-wrapper1 {
    height: auto;
    bottom: 10.1875em;
  }
  #sbsr-2296 .cs-picture-wrapper2 {
    height: auto;
    bottom: 10.625em;
  }
  #sbsr-2296 .cs-picture-wrapper3 .cs-picture {
    height: 15.5625em;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #sbsr-2296 {
    background-color: rgba(0, 0, 0, 0.2);
  }
  body.dark-mode #sbsr-2296 .cs-title,
  body.dark-mode #sbsr-2296 .cs-text,
  body.dark-mode #sbsr-2296 .cs-h3,
  body.dark-mode #sbsr-2296 .cs-li,
  body.dark-mode #sbsr-2296 .cs-tag {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #sbsr-2296 .cs-text,
  body.dark-mode #sbsr-2296 .cs-li {
    opacity: 0.8;
  }
  body.dark-mode #sbsr-2296 .cs-li strong {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #sbsr-2296 .cs-picture {
    border-color: var(--medium);
  }
}

/*-- -------------------------- -->
<---          Services          -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-1626 {
    padding: var(--sectionPadding);
    background-color: #f7f7f7;
  }
  #services-1626 .cs-container {
    width: 100%;
    /* changes to 1280px at tablet */
    max-width: 34.375em;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #services-1626 .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;
  }
  #services-1626 .cs-title {
    max-width: 20ch;
  }
  #services-1626 .cs-text {
    max-width: 40rem;
    position: relative;
    z-index: 1;
  }
  #services-1626 .cs-text:after {
    /* divider line */
    content: "";
    width: 100%;
    height: 1px;
    margin-top: 1.5rem;
    background: var(--primary);
    opacity: 1;
    display: block;
    position: relative;
  }
  #services-1626 .cs-chevron {
    --chevronColor: var(--primary);
    width: 3rem;
    height: auto;
  }
  #services-1626 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 16px - 20px */
    column-gap: clamp(1rem, 2.5vw, 1.25rem);
    /* 28px - 40px */
    row-gap: clamp(1.75rem, 2.5vw, 2.5rem);
  }
  #services-1626 .cs-item {
    list-style: none;
    width: 100%;
    display: flex;
    grid-column: span 12;
    flex-direction: column;
    align-items: flex-start;
  }
  #services-1626 .cs-item:hover .cs-picture img {
    opacity: 0.5;
    transform: scale(1.2);
  }
  #services-1626 .cs-link {
    text-decoration: none;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  #services-1626 .cs-picture {
    width: 100%;
    height: 15rem;
    margin-bottom: 1.5rem;
    background-color: var(--secondary);
    overflow: hidden;
    display: block;
    position: relative;
  }
  #services-1626 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: transform 0.6s, opacity 0.3s;
  }
  #services-1626 .cs-h3 {
    font-size: 1.25rem;
    line-height: 1.2em;
    font-weight: 700;
    text-align: left;
    margin: 0 0 0.75rem 0;
    color: var(--headerColor);
  }
  #services-1626 .cs-item-text {
    font-size: 1rem;
    line-height: 1.5em;
    text-align: left;
    margin: 0 0 1.5rem 0;
    color: var(--bodyTextColor);
  }
  #services-1626 .cs-fake-link {
    font-size: 1rem;
    line-height: 1.2em;
    font-weight: 700;
    margin: 0;
    margin-top: auto;
    color: var(--primary);
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
  }
  #services-1626 .cs-fake-link:hover {
    color: var(--secondary);
  }
  #services-1626 .cs-fake-link:hover .cs-icon {
    transform: translateX(0.5rem);
  }
  #services-1626 .cs-icon {
    width: 1.25rem;
    height: auto;
    display: block;
    transition: transform 0.3s;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-1626 .cs-container {
    max-width: 80rem;
  }
  #services-1626 .cs-content {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
  #services-1626 .cs-flex {
    text-align: left;
    width: 40vw;
    max-width: 40rem;
    flex: none;
  }
  #services-1626 .cs-title {
    margin: 0;
  }
  #services-1626 .cs-text {
    padding: 0.75rem 0 0.75rem 1.5rem;
  }
  #services-1626 .cs-text:after {
    width: 1px;
    height: 100%;
    margin: 0 1.5rem 0 0;
    order: -1;
    position: absolute;
    left: 0;
    top: 0;
  }
  #services-1626 .cs-item {
    grid-column: span 4;
  }
  #services-1626 .cs-picture {
    /* 240px - 420px */
    height: clamp(15rem, 33vw, 26.25rem);
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #services-1626 {
    background-color: rgba(0, 0, 0, 0.2);
  }
  body.dark-mode #services-1626 .cs-title,
  body.dark-mode #services-1626 .cs-text,
  body.dark-mode #services-1626 .cs-h3,
  body.dark-mode #services-1626 .cs-item-text {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #services-1626 .cs-text,
  body.dark-mode #services-1626 .cs-item-text {
    opacity: 0.8;
  }
}

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

.review-section {
  margin-bottom: 3rem;
}

/*-- -------------------------- -->
<---           Steps            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #steps-276 {
    padding: var(--sectionPadding);
  }
  #steps-276 .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);
  }
  #steps-276 .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;
  }

  #steps-276 .cs-title {
    max-width: 20ch;
  }
  #steps-276 .cs-card-group {
    padding: 0;
    margin: 0;
    width: 100%;
    /* changes to 1100px at tablet */
    max-width: 25rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    position: relative;
  }
  #steps-276 .cs-card-group:before {
    /* list line connector */
    content: "";
    width: 1px;
    background: #1a1a1a;
    opacity: 1;
    position: absolute;
    display: block;
    /* no height, set it as a top to bottom.  
                It will grow with newly added text in the .cs-item-text */
    top: 1rem;
    bottom: 1.5rem;
    left: 3.5rem;
  }
  #steps-276 .cs-item {
    text-align: left;
    list-style: none;
    margin: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  #steps-276 .cs-number {
    /* 16px - 20px */
    font-size: clamp(1rem, 2vw, 1.25rem);
    font-weight: 700;
    margin-right: 2.75rem;
    /* 40px - 52px */
    width: clamp(2.5rem, 5.1vw, 3.25rem);
    height: clamp(2.5rem, 5.1vw, 3.25rem);
    border-radius: 50%;
    color: var(--bodyTextColorWhite);
    background-color: var(--primary);
    display: flex;
    justify-content: center;
    align-items: center;
    /* prevents flexbox from squishing it */
    flex: none;
    position: relative;
  }
  #steps-276 .cs-number:before {
    /* list circle */
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    background: #1a1a1a;
    border-radius: 50%;
    opacity: 1;
    position: absolute;
    display: block;
    top: 50%;
    right: -1.25rem;
    transform: translateY(-50%);
  }
  #steps-276 .cs-item-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 2vw, 1rem);
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColor);
    text-align: left;
  }
  #steps-276 .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: var(--textDark);
    min-width: 9.375rem;
    padding: 0 1.5rem;
    background-color: var(--secondary);
    border-radius: 0.25rem;
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
  }
  #steps-276 .cs-button-solid:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0%;
    background: var(--primary);
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: 0.25rem;
    transition: width 0.3s;
  }
  #steps-276 .cs-button-solid:hover:before {
    width: 100%;
  }
  #steps-276 .cs-button-solid:hover {
    color: white;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #steps-276 .cs-container {
    max-width: 80rem;
  }
  #steps-276 .cs-card-group {
    max-width: 68.75rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    column-gap: 2em;
  }
  #steps-276 .cs-card-group:before {
    /* reset width */
    width: auto;
    height: 1px;
    /* 60px - 76px */
    top: clamp(3.75rem, 7.5vw, 4.75rem);
    /* 80px - 110px */
    left: clamp(5rem, 10.5vw, 6.875rem);
    right: clamp(5rem, 10.5vw, 6.875rem);
  }
  #steps-276 .cs-item {
    text-align: center;
    width: 13.625rem;
    /* remove margin from mobile */
    margin: 0;
    /* orient to vertical spacing */
    flex-direction: column;
    align-items: center;
  }
  #steps-276 .cs-number {
    margin: 0;
    /* 40px - 60px */
    margin-bottom: clamp(2.5rem, 6vw, 3.75rem);
  }
  #steps-276 .cs-number:before {
    top: auto;
    left: 50%;
    /* -24px to -28px */
    /* use calc() to multiply clamp value by -1 to get a negative clamp value */
    bottom: calc(clamp(1.5rem, 2.9vw, 1.75rem) * -1);
    transform: translateX(-50%);
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #steps-276 .cs-topper {
    color: var(--primaryLight);
  }
  body.dark-mode #steps-276 .cs-title,
  body.dark-mode #steps-276 .cs-text,
  body.dark-mode #steps-276 .cs-item-text {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #steps-276 .cs-text {
    opacity: 0.8;
  }
  body.dark-mode #steps-276 .cs-card-group:before {
    background: var(--bodyTextColorWhite);
  }
  body.dark-mode #steps-276 .cs-number:before {
    background-color: var(--bodyTextColorWhite);
  }
}

/*-- -------------------------- -->
<---            CTA             -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cta-1071 {
    padding: var(--sectionPadding);
    background-color: var(--primary);
    position: relative;
    z-index: 1;
  }
  #cta-1071 .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-1071 .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;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #cta-1071 .cs-flex {
    max-width: 39.375rem;
  }

  #cta-1071 .cs-title {
    margin: 0;

    color: var(--bodyTextColorWhite);
  }
  #cta-1071 .cs-button-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }
  #cta-1071 .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: var(--textDark);
    min-width: 9.375rem;
    padding: 0 1.5rem;
    background-color: var(--secondary);
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
  }

  #cta-1071 .cs-button-solid:hover {
    color: white;
  }
  #cta-1071 .cs-button-solid:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0%;
    background: var(--buttonbg);
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #cta-1071 .cs-button-solid:hover:before {
    width: 100%;
  }
  #cta-1071 .cs-button-transparent {
    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: transparent;
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    transition: color 0.3s;
  }
  #cta-1071 .cs-button-transparent:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0%;
    background: #fff;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #cta-1071 .cs-button-transparent:after {
    /* border */
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: transparent;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    border: 1px solid #fff;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
    pointer-events: none;
  }
  #cta-1071 .cs-button-transparent:hover {
    color: var(--primary);
  }
  #cta-1071 .cs-button-transparent:hover:before {
    width: 100%;
  }
  #cta-1071 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #cta-1071 .cs-background:before {
    /* background color overlay */
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #1a1a1a;
    opacity: 0.88;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #cta-1071 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes img tag act as a background image */
    object-fit: cover;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #cta-1071 .cs-content {
    text-align: left;
    flex-direction: row;
    justify-content: space-between;
  }
  #cta-1071 .cs-button-box {
    flex-wrap: nowrap;
    align-items: center;
    flex: none;
  }
}
/*-- -------------------------- -->
<---            FAQ             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #faq-1346 {
    padding: var(--sectionPadding);
    position: relative;
  }
  #faq-1346 .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;
    z-index: 1;
  }
  #faq-1346 .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;
  }
  #faq-1346 .cs-flex-group {
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    /* 16px - 20px */
    gap: clamp(1rem, 2.3vw, 1.25rem);
    position: relative;
  }
  #faq-1346 .cs-wrapper {
    position: relative;
  }
  #faq-1346 .cs-button-group {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #faq-1346 .cs-option {
    /* 16px - 20px */
    font-size: clamp(1rem, 2vw, 1.25rem);
    /* 50px - 72px */
    line-height: clamp(3.125rem, 5vw, 4.5rem);
    font-weight: 700;
    padding: 0;
    /* prevents border from affecting height and width */
    box-sizing: border-box;
    background-color: #fff;
    color: var(--headerColor);
    border: 1px solid #e8e8e8;
    position: relative;
    z-index: 1;
    transition: border-color 0.3s;
  }
  #faq-1346 .cs-option:before {
    /* background color */
    content: "";
    width: 100%;
    height: 100%;
    background: var(--primary);
    opacity: 0;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: -1;
    transition: opacity 0.3s;
  }
  #faq-1346 .cs-option:hover:hover {
    border-color: var(--primary);
    cursor: pointer;
  }
  #faq-1346 .cs-option:hover:hover:before {
    opacity: 0.1;
  }
  #faq-1346 .cs-option.cs-active {
    border-color: var(--primary);
  }
  #faq-1346 .cs-option.cs-active:before {
    opacity: 0.1;
  }
  #faq-1346 .cs-faq-group {
    width: 100%;
    max-width: 52.9375rem;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 0.5rem;
    transition: transform 0.7s, opacity 0.3s, visibility 0.5s, top 0.3s,
      left 0.3s;
    /* makes the transfrom scaling orgin the top left corner, dictates the direction by which the scale transforms animate towards */
    transform-origin: top;
    transform-style: preserve-3d;
    perspective: 900px;
  }
  #faq-1346 .cs-faq-group.cs-hidden {
    /* by using visibility:hidden instead of display:none, we can see the animations from the opacity and transforms, display:none won't render animations. */
    visibility: hidden;
    /* prevents the mouse from interacting with it */
    pointer-events: none;
    /* hidden galleries have a 0 opacity, and we animate the opacity to 1 when they become active */
    opacity: 0;
    /* this top and left value help control the animation, by setting it to position absolute and left 0, the FAQ won't fly off screen to the left, it will stop its position to be at the left edge of the .cs-flex-group (left: 0). Same for the bottom:0 value, the FAQ won't go past that position when it animates */
    top: 0;
    left: 0;
    position: absolute;
    /* prevents the hidden galleries from overflowing the section, and makes a nice animations to transition to and from */
    transform: scaleY(0);
  }
  #faq-1346 .cs-faq-group.cs-hidden .cs-faq-item {
    transform: rotateX(270deg);
    opacity: 0;
  }
  #faq-1346 .cs-faq-item {
    list-style: none;
    width: 100%;
    border: 1px solid #e8e8e8;
    /* clips all corners of the button that overlap the rounded border */
    overflow: hidden;
    opacity: 1;
    top: 0;
    transform: rotateX(0deg);
    transition: transform 0.6s, opacity 0.3s;
  }
  #faq-1346 .cs-faq-item:nth-of-type(2) {
    transition-delay: 0.1s;
  }
  #faq-1346 .cs-faq-item:nth-of-type(3) {
    transition-delay: 0.2s;
  }
  #faq-1346 .cs-faq-item:nth-of-type(4) {
    transition-delay: 0.3s;
  }
  #faq-1346 .cs-faq-item:nth-of-type(5) {
    transition-delay: 0.4s;
  }
  #faq-1346 .cs-faq-item:nth-of-type(6) {
    transition-delay: 0.5s;
  }
  #faq-1346 .cs-faq-item:nth-of-type(7) {
    transition-delay: 0.6s;
  }
  #faq-1346 .cs-faq-item:nth-of-type(8) {
    transition-delay: 0.7s;
  }
  #faq-1346 .cs-faq-item:nth-of-type(9) {
    transition-delay: 0.8s;
  }
  #faq-1346 .cs-faq-item:nth-of-type(10) {
    transition-delay: 0.9s;
  }
  #faq-1346 .cs-faq-item.active .cs-button {
    color: var(--primary);
  }
  #faq-1346 .cs-faq-item.active .cs-button:before {
    background-color: var(--primary);
    transform: rotate(315deg);
  }
  #faq-1346 .cs-faq-item.active .cs-button:after {
    background-color: var(--primary);
    transform: rotate(-315deg);
  }
  #faq-1346 .cs-faq-item.active .cs-item-p {
    height: auto;
    /* 20px - 24px bottom */
    /* 16px - 24px left & right */
    padding: 0 clamp(1rem, 2vw, 1.5rem) clamp(1.25rem, 1.3vw, 1.5rem);
    opacity: 1;
  }
  #faq-1346 .cs-button {
    /* 16px - 20px */
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.2em;
    text-align: left;
    font-weight: bold;
    /* 16px - 24px top & bottom */
    /* 16px - 20px left & right */
    padding: clamp(1rem, 2vw, 1.5rem) clamp(1rem, 2vw, 1.25rem);
    background-color: #fff;
    border: none;
    color: var(--headerColor);
    display: block;
    width: 100%;
    position: relative;
    transition: background-color 0.3s, color 0.3s;
  }
  #faq-1346 .cs-button:hover {
    cursor: pointer;
  }
  #faq-1346 .cs-button:before {
    /* left line */
    content: "";
    width: 0.5rem;
    height: 0.125rem;
    background-color: var(--headerColor);
    opacity: 1;
    border-radius: 50%;
    position: absolute;
    display: block;
    top: 50%;
    right: 1.5rem;
    transform: rotate(45deg);
    /* animate the transform from the left side of the x axis, and the center of the y */
    transform-origin: left center;
    transition: transform 0.5s;
  }
  #faq-1346 .cs-button:after {
    /* right line */
    content: "";
    width: 0.5rem;
    height: 0.125rem;
    background-color: var(--headerColor);
    opacity: 1;
    border-radius: 50%;
    position: absolute;
    display: block;
    top: 50%;
    right: 1.3125rem;
    transform: rotate(-45deg);
    /* animate the transform from the right side of the x axis, and the center of the y */
    transform-origin: right center;
    transition: transform 0.5s;
  }
  #faq-1346 .cs-button-text {
    width: 80%;
    display: block;
  }
  #faq-1346 .cs-item-p {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    width: 90%;
    height: 0;
    margin: 0;
    /* 16px - 24px */
    padding: 0 clamp(1rem, 2vw, 1.5rem);
    opacity: 0;
    color: var(--bodyTextColor);
    /* clips the text so it doesn't show up */
    overflow: hidden;
    transition: opacity 0.3s, padding-bottom 0.3s;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 48rem) {
  #faq-1346 .cs-container {
    max-width: 80rem;
  }
  #faq-1346 .cs-flex-group {
    flex-direction: row;
  }
  #faq-1346 .cs-button-group {
    width: 31%;
    max-width: 25.8125rem;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #faq-1346 .cs-title,
  body.dark-mode #faq-1346 .cs-item-p,
  body.dark-mode #faq-1346 .cs-text {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #faq-1346 .cs-text {
    opacity: 0.8;
  }
  body.dark-mode #faq-1346 .cs-option {
    border-color: rgba(255, 255, 255, 0.3);
    background-color: transparent;
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #faq-1346 .cs-option.cs-active,
  body.dark-mode #faq-1346 .cs-option:hover {
    border-color: var(--secondary);
  }
  body.dark-mode #faq-1346 .cs-faq-item {
    border-color: rgba(255, 255, 255, 0.3);
    transition: border-color 0.3s, transform 0.6s;
  }
  body.dark-mode #faq-1346 .cs-faq-item.active .cs-button {
    background-color: var(--secondary);
    color: var(--headerColor);
  }
  body.dark-mode #faq-1346 .cs-faq-item.active .cs-button:before,
  body.dark-mode #faq-1346 .cs-faq-item.active .cs-button:after {
    background-color: var(--headerColor);
  }
  body.dark-mode #faq-1346 .cs-faq-item.active .cs-item-p {
    /* 20px - 24px */
    padding-top: clamp(1.25rem, 1.3vw, 1.5rem);
  }
  body.dark-mode #faq-1346 .cs-faq-item:nth-of-type(2) {
    transition-delay: 0.1s;
  }
  body.dark-mode #faq-1346 .cs-faq-item:nth-of-type(3) {
    transition-delay: 0.2s;
  }
  body.dark-mode #faq-1346 .cs-faq-item:nth-of-type(4) {
    transition-delay: 0.3s;
  }
  body.dark-mode #faq-1346 .cs-faq-item:nth-of-type(5) {
    transition-delay: 0.4s;
  }
  body.dark-mode #faq-1346 .cs-faq-item:nth-of-type(6) {
    transition-delay: 0.5s;
  }
  body.dark-mode #faq-1346 .cs-faq-item:nth-of-type(7) {
    transition-delay: 0.6s;
  }
  body.dark-mode #faq-1346 .cs-faq-item:nth-of-type(8) {
    transition-delay: 0.7s;
  }
  body.dark-mode #faq-1346 .cs-faq-item:nth-of-type(9) {
    transition-delay: 0.8s;
  }
  body.dark-mode #faq-1346 .cs-faq-item:nth-of-type(10) {
    transition-delay: 0.9s;
  }
  body.dark-mode #faq-1346 .cs-faq-item:hover {
    border-color: var(--secondary);
    transition: border-color 0.3s;
  }
  body.dark-mode #faq-1346 .cs-button {
    background-color: var(--dark);
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #faq-1346 .cs-button:before,
  body.dark-mode #faq-1346 .cs-button:after {
    background-color: var(--bodyTextColorWhite);
  }
}
/*-- -------------------------- -->
<---          Contact           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #contact-1750 {
    padding: var(--sectionPadding);
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #contact-1750 .cs-container {
    width: 100%;
    /* changes to 1024 on desktop */
    max-width: 44rem;
    margin: auto;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    /* 48px - 64px */
    gap: clamp(3rem, 5vw, 4rem);
  }
  #contact-1750 .cs-content {
    /* set text align to center if content needs to be centrally aligned */
    text-align: left;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* aligns content to the left, set to center to centrally align */
    align-items: flex-start;
  }
  #contact-1750 .cs-form-group {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    /* resets to 0 at tablet */
    margin: auto;
    /* 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: center;
  }
  #contact-1750 .cs-title {
    margin: 0 0 1.5rem;
  }
  #contact-1750 .cs-form {
    width: 100%;
    /* prevents flexbox from affecting height and width */
    box-sizing: border-box;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1rem;
  }
  #contact-1750 .cs-label {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2em;
    color: var(--headerColor);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    grid-column: span 12;
    gap: 0.5rem;
  }
  #contact-1750 .cs-input {
    font-size: 1rem;
    width: 100%;
    /* 46px - 56px */
    height: clamp(2.875rem, 4.5vw, 3.5rem);
    /* prevents padding from adding to height and width */
    box-sizing: border-box;
    padding: 0;
    padding-left: 1.5rem;
    background-color: #f7f7f7;
    color: var(--headerColor);
    border: none;
  }
  #contact-1750 .cs-input::placeholder {
    color: var(--bodyTextColor);
  }
  #contact-1750 .cs-textarea {
    font-family: inherit;
    min-height: 7.5rem;
    padding-top: 1.5rem;
  }
  #contact-1750 .cs-button-solid {
    font-size: 1rem;
    font-weight: 700;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-align: center;
    text-decoration: none;
    min-width: 9.375rem;
    margin: 0;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    padding: 0 1.5rem;
    background-color: var(--primary);
    overflow: hidden;
    color: #1a1a1a;
    border: none;
    display: inline-block;
    position: relative;
    z-index: 1;
    transition: color 0.3s;
  }
  #contact-1750 .cs-button-solid:before {
    content: "";
    width: 0%;
    height: 100%;
    background: #000;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #contact-1750 .cs-button-solid:hover {
    color: #fff;
  }
  #contact-1750 .cs-button-solid:hover:before {
    width: 100%;
  }
  #contact-1750 .cs-submit {
    margin: 1rem 0 0;
    color: var(--bodyTextColorWhite);
    grid-column: span 12;
    justify-self: flex-start;
  }
  #contact-1750 .cs-submit:hover {
    cursor: pointer;
  }
  #contact-1750 .cs-info-group {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
  #contact-1750 .cs-detail {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2em;
    color: var(--bodyTextColor);
    display: block;
  }
  #contact-1750 .cs-picture-group {
    width: 110%;
    height: 100vw;
    /* removed at desktop */
    max-height: 31.375rem;
    margin-top: 3rem;
    overflow: hidden;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  #contact-1750 .cs-iframe {
    width: 100%;
    height: 100%;
    display: block;
  }
  #contact-1750 .cs-graphic {
    width: 100%;
    min-width: 80rem;
    height: auto;
    object-fit: cover;
    position: absolute;
    left: 50%;
    z-index: 0;
    transform: translateX(-50%);
  }
  #contact-1750 .cs-top {
    top: 0;
  }
  #contact-1750 .cs-left {
    left: 4%;
    transform: rotate(270deg);
    transform-origin: left;
  }
  #contact-1750 .cs-bottom {
    bottom: 0;
    left: 0;
    transform: rotateX(180deg);
  }
  #contact-1750 .cs-dark {
    display: none;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #contact-1750 .cs-container {
    flex-direction: row;
    align-items: center;
  }
  #contact-1750 .cs-form-group {
    flex: 1;
  }
  #contact-1750 .cs-info-group {
    flex: 1;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #contact-1750 .cs-container {
    width: 65%;
    max-width: 64rem;
    margin: 0 auto 0 0;
    padding: 2.5rem 1.5rem;
  }
  #contact-1750 .cs-picture-group {
    width: 90%;
    height: 100%;
    max-height: 100%;
    margin: 0;
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    z-index: -1;
    transform: none;
  }
  #contact-1750 .cs-picture-group {
    margin-left: -12.75rem;
    left: 50%;
  }
}
/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #contact-1750 .cs-label:nth-of-type(2),
  #contact-1750 .cs-label:nth-of-type(3) {
    grid-column: span 6;
  }
}
/* Largest Desktop - 1920px */
@media only screen and (min-width: 120rem) {
  #contact-1750 {
    padding-top: 7vw;
    padding-bottom: 9vw;
  }
  #contact-1750 .cs-container {
    margin: 0 auto;
    transform: translateX(-22rem);
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #contact-1750 .cs-container {
    background-color: var(--dark);
  }
  body.dark-mode #contact-1750 .cs-label,
  body.dark-mode #contact-1750 .cs-detail {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #contact-1750 .cs-input {
    background-color: var(--medium);
    color: var(--bodyTextColorWhite);
    border-color: rgba(255, 255, 255, 0.2);
  }
  body.dark-mode #contact-1750 .cs-input::placeholder {
    color: #fff;
    opacity: 0.5;
  }
  body.dark-mode #contact-1750 .cs-light {
    display: none;
  }
  body.dark-mode #contact-1750 .cs-dark {
    display: block;
  }
}
