:root {
  --primary: var(--sremain);
  --secondary: var(--srcsecond);
}

/*-- -------------------------- -->
<---           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;
    padding-top: 15rem;
  }
  #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 */

/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #hero-229 .cs-background:before {
    opacity: 0.8;
  }
}

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

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-1303 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 10;
  }
  #services-1303 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #services-1303 .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-1303 .cs-title {
    max-width: 20ch;
  }
  #services-1303 .cs-card-group {
    width: 100%;
    max-width: 80rem;
    margin: 0;
    padding: 0 1rem;
    /* prevents padding and border from affecting height and width */
    background-color: #fff;
    box-shadow: 0px 4px 35px 0px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    position: relative;
    z-index: 15;
  }
  #services-1303 .cs-item {
    text-align: left;
    list-style: none;
    width: 100%;
    border-bottom: 1px solid #e8e8e8;
    box-sizing: border-box;
    grid-column: span 12;
    transition: background-color 0.3s, border-color 0.3s;
  }
  #services-1303 .cs-item:last-of-type {
    border-bottom: none;
  }
  #services-1303 .cs-link {
    text-decoration: none;
    /* 24px - 60px top & Bottom */
    /* 24px - 16px top & Bottom */
    padding: clamp(1.5rem, 5.3vw, 3.75rem) clamp(1rem, 2.7vw, 2.5rem);
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
  }
  #services-1303 .cs-icon {
    /* 32px - 40px */
    height: clamp(2rem, 4vw, 2.5rem);
    width: auto;
    margin: 0 0 1rem 0;
  }
  #services-1303 .cs-h3 {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 2vw, 1.5625rem);
    font-weight: 700;
    text-align: inherit;
    line-height: 1.2em;
    margin: 0 0 0.75rem 0;
    color: var(--headerColor);
    transition: color 0.3s;
  }
  #services-1303 .cs-item-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    text-align: inherit;
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColor);
    transition: color 0.3s, opacity 0.3s;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-1303 .cs-content {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
  }
  #services-1303 .cs-title {
    margin: 0;
  }
  #services-1303 .cs-flex-group {
    width: 50%;
    /* prevents flexbox from squishing it */
    flex: none;
  }
  #services-1303 .cs-item {
    grid-column: span 4;
    border-right: 1px solid #e8e8e8;
  }
  #services-1303 .cs-item:nth-of-type(3),
  #services-1303 .cs-item:nth-of-type(6) {
    border-right: none;
  }
  #services-1303 .cs-item:nth-of-type(4),
  #services-1303 .cs-item:nth-of-type(5) {
    border-bottom: none;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-1303 .cs-card-group {
    padding: 0;
  }
  #services-1303 .cs-item:hover {
    background-color: #1a1a1a;
    border-color: #1a1a1a;
  }
  #services-1303 .cs-item:hover .cs-h3,
  #services-1303 .cs-item:hover .cs-item-text {
    color: var(--bodyTextColorWhite);
  }
  #services-1303 .cs-item:hover .cs-item-text {
    opacity: 0.8;
  }
  #services-1303 .cs-item:last-of-type {
    border: none;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #services-1303 .cs-title,
  body.dark-mode #services-1303 .cs-text {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #services-1303 .cs-text {
    opacity: 0.8;
  }
  body.dark-mode #services-1303 .cs-card-group {
    background-color: rgba(0, 0, 0, 0.3);
  }
  body.dark-mode #services-1303 .cs-item {
    border-color: rgba(255, 255, 255, 0.1);
  }
  body.dark-mode #services-1303 .cs-item:hover {
    background-color: rgba(0, 0, 0, 0.6);
    border-color: rgba(0, 0, 0, 0.6);
  }
  body.dark-mode #services-1303 .cs-h3,
  body.dark-mode #services-1303 .cs-item-text {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #services-1303 .cs-item-text {
    opacity: 0.8;
  }
}

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

.review-section {
  margin-bottom: 3rem;
}
/*-- -------------------------- -->
<---          Contact           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #steps-2330 {
    padding: var(--sectionPadding);
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #steps-2330 .cs-container {
    width: 100%;
    /* changes to 1280px at desktop */
    max-width: 36.5rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2rem;
  }
  #steps-2330 .cs-wrapper {
    display: contents;
  }
  #steps-2330 .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;
  }
  #steps-2330 .cs-topper {
    color: var(--secondary);
  }
  #steps-2330 .cs-title {
    margin: 0;
    max-width: 20ch;
  }
  #steps-2330 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    /* 32px - 60px */
    gap: clamp(2rem, 6vw, 3.75rem);
  }
  #steps-2330 .cs-item {
    list-style: none;
    display: flex;
    align-items: flex-start;
    /* 16px - 24px */
    gap: clamp(1rem, 2vw, 1.5rem);
    position: relative;
  }
  #steps-2330 .cs-item:last-of-type {
    border-bottom: none;
  }
  #steps-2330 .cs-number {
    /* 39px - 61px */
    font-size: clamp(2.4375rem, 7vw, 3.8125rem);
    font-weight: 900;
    line-height: 1.1875em;
    color: #e7e7e8;
    display: block;
  }
  #steps-2330 .cs-h3 {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.125em;
    margin: 0 0 0.75rem 0;
    color: var(--headerColor);
  }
  #steps-2330 .cs-item-text {
    font-size: 1rem;
    line-height: 1.5em;
    text-align: left;
    margin: 0;
    color: var(--bodyTextColor);
  }
  #steps-2330 .cs-picture {
    width: 100%;
    height: auto;
    order: 3;
  }
  #steps-2330 .cs-picture img {
    width: 100%;
    height: auto;
    display: block;
  }
  #steps-2330 .cs-floater {
    display: none;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #steps-2330 .cs-floater {
    font-size: 11.25rem;
    text-transform: uppercase;
    line-height: 1.2em;
    font-weight: 900;
    color: #f3f3f3;
    display: block;
    position: absolute;
    top: 50%;
    right: -21.875rem;
    z-index: -2;
    transform: translateY(-50%) rotate(-90deg);
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #steps-2330 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    align-items: stretch;
  }
  #steps-2330 .cs-wrapper {
    max-width: 46.75rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 2rem;
  }
  #steps-2330 .cs-title {
    width: 80%;
  }
  #steps-2330 .cs-card-group {
    max-width: 36.125rem;
    align-items: flex-end;
  }
  #steps-2330 .cs-item {
    position: relative;
    z-index: 1;
  }
  #steps-2330 .cs-item:nth-of-type(2) {
    width: 33.625rem;
  }
  #steps-2330 .cs-item:nth-of-type(3) {
    width: 31.125rem;
  }
  #steps-2330 .cs-item:nth-of-type(4) {
    width: 28.625rem;
  }
  #steps-2330 .cs-picture {
    width: 120%;
    max-height: 26.25rem;
    max-width: 42.8125rem;
  }
  #steps-2330 .cs-picture img {
    height: 100%;
    width: 100%;
    object-fit: contain;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #steps-2330 {
    background-color: rgba(0, 0, 0, 0.2);
  }
  body.dark-mode #steps-2330 .cs-number {
    color: var(--primaryLight);
    opacity: 0.6;
  }
  body.dark-mode #steps-2330 .cs-title,
  body.dark-mode #steps-2330 .cs-h3,
  body.dark-mode #steps-2330 .cs-item-text {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #steps-2330 .cs-item {
    border-color: rgba(255, 255, 255, 0.2);
  }
  body.dark-mode #steps-2330 .cs-item-text {
    opacity: 0.8;
  }
  body.dark-mode #steps-2330 .cs-floater {
    opacity: 0.1;
  }
}

/*-- -------------------------- -->
<---            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(--primary);
    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;
  }
}
