/* STYLES FOR ABOVE THE FOLD */
/*-- -------------------------- -->
<---           Hero             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #hero {
    z-index: 1;
    position: relative;
    /* prevents overflow from the lines extending past the screen width */
    overflow: hidden;
    /* changes on tablet */
    padding: 0 1rem;
    padding-bottom: 6.25rem;
    font-family: "Montserrat", sans-serif;
    /* Centers button */
    text-align: center;
    border-bottom-right-radius: 180px;
    background-image: linear-gradient(290deg, rgba(0, 67, 105, 0.76) 50%, rgba(0, 0, 0, 0.91) 100%);
  }
  #hero .hero-bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
  }
  #hero .hero-bg-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.55) 100%);
    z-index: 1;
  }
  #hero #hero .cs-container {
    position: relative;
    z-index: 2;
  }
  #hero .cs-picture {
    z-index: -2;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    height: 100%;
    /* Background Image */
    width: 100%;
  }
  #hero .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes image act like a background-image */
    object-fit: cover;
  }
  #hero .cs-picture:before {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    /* Black Color Overlay */
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    /* prevents the cursor from interacting with it */
    pointer-events: none;
  }
  #hero .cs-container {
    position: relative;
    margin: auto;
    max-width: 80em;
    width: 100%;
    /* 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(9em, 25.95vw, 17.5em) 0;
  }
  #hero .cs-container:before {
    position: absolute;
    top: 0;
    left: 0;
    /* Left Line */
    content: "";
    opacity: 1;
    display: block;
    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 */
    height: 100%;
    width: 1px;
  }
  #hero .cs-flex-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    margin: auto;
    /* 60px - 220px */
    margin-bottom: clamp(3.75em, 15.5vw, 13.75em);
    /* 464px - 562px */
    max-width: clamp(29em, 60vw, 35.125em);
    width: 80vw;
    box-sizing: border-box;
  }
  #hero .cs-topper {
    margin-bottom: 1rem;
    color: var(--primary);
    text-align: center;
  }
  #hero .cs-title {
    width: 100%;
    color: var(--bodyTextColorWhite);
    text-align: center;
  }
  #hero .cs-text {
    /* 32px - 40px */
    margin: 0 auto clamp(2rem, 4vw, 2.5rem) 0;
    /* 40px - 48px */
    margin-bottom: clamp(2.5rem, 4vw, 3rem);
    color: var(--bodyTextColorWhite);
    text-align: center;
  }
  #hero .cs-button-solid {
    margin-bottom: 1rem;
    height: initial;
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    border: 1px solid #9c1535;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
  }
  #hero .cs-button-solid:hover {
    color: #fff;
  }
  #hero .cs-button-solid:hover:before {
    width: 100%;
  }
  #hero .cs-button-solid:before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    opacity: 1;
    display: block;
    background-color: #000;
    height: 100%;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    width: 0;
    transition: width 0.3s;
  }
  #hero .cs-button-transparent {
    z-index: 1;
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--bodyTextColorWhite);
    margin: 0 0.5rem;
    background-color: transparent;
    /* 46px - 56px */
    height: clamp(2.875em, 5.5vw, 3.5em);
    width: 11.25rem;
    box-sizing: border-box;
    padding: 0;
    text-decoration: none;
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    font-weight: 700;
    color: #fff;
  }
  #hero .cs-button-transparent .cs-img {
    display: block;
    margin-right: 0.75rem;
  }
  #hero .cs-button-transparent:before {
    z-index: -1;
    position: absolute;
    /* so it sits on top of the border */
    top: -1px;
    bottom: -1px;
    left: -1px;
    right: -1px;
    content: "";
    opacity: 1;
    /* this is what creates the grow affect on hover */
    transform: scaleX(0);
    display: block;
    background: #000;
    transition: transform 0.3s;
    transform-origin: left;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
  }
  #hero .cs-button-transparent:hover:before {
    transform: scaleX(1);
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #hero {
    /* 32px - 40px */
    padding: 0 clamp(2em, 5vw, 2.5em);
  }
  #hero .cs-container {
    padding: clamp(7em, 27.95vw, 17.5em) 0 clamp(9em, 30.95vw, 23.5em) 0;
  }
  #hero .cs-container:after {
    position: absolute;
    top: 0;
    right: 0;
    /* Right Line */
    content: "";
    opacity: 1;
    display: block;
    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 */
    height: 100%;
    width: 1px;
  }
  #hero .cs-button-solid {
    margin-right: 1.25rem;
    margin-bottom: 0;
  }
}
/* Desktop Parallax Effect - 1300px */
@media only screen and (min-width: 81.25em) {
  #hero {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    /* creates parallax effect on background image */
    background-attachment: fixed;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #hero {
    background-color: rgba(0, 0, 0, 0.2);
  }
  body.dark-mode #hero .cs-background:before {
    opacity: 0.8;
  }
  body.dark-mode #hero .hero-bg-overlay {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.7) 100%);
  }
}
/*-- -------------------------- -->
<---          Services          -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-885 {
    padding: var(--sectionPadding);
    /* clips the svg wave from overflowing */
    overflow: hidden;
    position: relative;
    background-image: #f7f7f7;
    z-index: 1;
  }
  #services-885 .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);
  }
  #services-885 .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;
  }
  #services-885 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 16px - 20px */
    gap: clamp(1rem, 2vw, 1.25rem);
    row-gap: clamp(2rem, 4vw, 2.5rem);
    /* Increase the gap between rows */
    position: relative;
    z-index: 1;
  }
  #services-885 .cs-item {
    list-style: none;
    width: 90%;
    margin: 0 auto;
    /* Center horizontally */
    padding: 0;
    grid-column: span 3;
    border-radius: 1rem;
    background-color: rgba(0, 67, 105, 0.8);
    box-shadow: #26394d 0px 20px 30px -10px;
  }
  #services-885 .cs-link {
    text-align: center;
    text-decoration: none;
    width: 100%;
    height: 26.25rem;
    padding: 1.25rem;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    border-radius: 1rem;
    /* clips img corners around the border */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.75rem;
    position: relative;
  }
  #services-885 .cs-h3 {
    font-size: 1.875rem;
    line-height: 1.2em;
    text-align: center;
    font-weight: 500;
    margin: 0 auto;
    color: var(--bodyTextColorWhite);
  }
  #services-885 .cs-item-p {
    font-size: 1rem;
    line-height: 1.5em;
    text-align: inherit;
    margin: 0;
    color: var(--bodyTextColorWhite);
  }
  #services-885 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    object-fit: cover;
  }
  #services-885 .cs-background:before {
    /* gradient overlay */
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, #000000 10.13%, rgba(0, 0, 0, 0) 40.71%);
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    transition: height 0.3s;
  }
  #services-885 .cs-background img {
    height: 100%;
    width: 100%;
    /* Makes img tag act as a background image */
    object-fit: cover;
    position: relative;
    z-index: -1;
    transition: transform 0.6s;
  }
  #services-885 .cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    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;
  }
  #services-885 .cs-button-solid:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 0%;
    background: #000;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: 0.25rem;
    transition: width 0.3s;
  }
  #services-885 .cs-button-solid:hover:before {
    width: 100%;
  }
  #services-885 .cs-wave {
    /* we're stretching the svg wider than the viewport so it's taller and has more of a presence */
    width: 320%;
    height: auto;
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: -1;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-885 .cs-container {
    max-width: 80rem;
  }
  #services-885 .cs-item {
    grid-column: span 2;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-885 {
    /* the padding grows with the screen width so as the svg gets taller it doesn't overlap the section */
    padding-bottom: 14vw;
  }
  #services-885 .cs-item {
    grid-column: span 1;
  }
  #services-885 .cs-link:hover .cs-h3,
  #services-885 .cs-link:focus-within .cs-h3 {
    color: var(--primary);
    transform: translateY(0);
  }
  #services-885 .cs-link:hover .cs-item-p,
  #services-885 .cs-link:focus-within .cs-item-p {
    height: auto;
    opacity: 1;
    transform: translateY(0);
  }
  #services-885 .cs-link:hover .cs-background:before,
  #services-885 .cs-link:focus-within .cs-background:before {
    height: 180%;
  }
  #services-885 .cs-link:hover .cs-background img,
  #services-885 .cs-link:focus-within .cs-background img {
    transform: scale(1.1);
  }
  #services-885 .cs-h3 {
    /* transform down the same amount as the flex gap */
    transform: translateY(0.75rem);
    transition: transform 0.3s, color 0.3s;
  }
  #services-885 .cs-item-p {
    height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(3.125rem);
    transition: height 0.3s, opacity 0.3s, transform 0.3s;
  }
  #services-885 .cs-wave {
    width: 100%;
    left: 0;
    transform: none;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #services-885 {
    background-color: rgba(0, 0, 0, 0.2);
  }
  body.dark-mode #services-885 .cs-topper {
    color: var(--primaryLight);
  }
  body.dark-mode #services-885 .cs-title,
  body.dark-mode #services-885 .cs-text {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #services-885 .cs-text {
    opacity: 0.8;
  }
  body.dark-mode #services-885 .cs-wave path {
    fill: var(--dark);
  }
}
/*-- -------------------------- -->
<---           Steps            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #steps-1173 {
    padding: var(--sectionPadding);
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #steps-1173 .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, 6vw, 4rem);
  }
  #steps-1173 .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-1173 .cs-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 40.625rem;
    margin: 0;
    color: var(--bodyTextColor);
  }
  #steps-1173 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1.25rem;
  }
  #steps-1173 .cs-item {
    text-align: center;
    list-style: none;
    display: flex;
    grid-column: span 12;
    flex-direction: column;
    align-items: center;
    position: relative;
  }
  #steps-1173 .cs-item:last-of-type:after {
    display: none;
  }
  #steps-1173 .cs-item:nth-of-type(even):after {
    /* scaleX -1 flips it horizontally */
    transform: rotate(-135deg) scaleX(-1);
  }
  #steps-1173 .cs-item:after {
    content: "";
    position: relative;
    display: block;
    /* 54px - 84px */
    width: clamp(3.375rem, 6vw, 5.25rem);
    height: clamp(3.375rem, 6vw, 5.25rem);
    margin-top: 1.25rem;
    background: url("https://csimg.nyc3.cdn.digitaloceanspaces.com/Icons/curved-arrow-light.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
    transform: rotate(135deg);
  }
  #steps-1173 .cs-picture {
    margin-bottom: 1.5rem;
    width: 5.5rem;
    height: 5.5rem;
    border: 1px solid #858585;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #steps-1173 .cs-icon {
    width: 2.5rem;
    height: auto;
    display: block;
  }
  #steps-1173 .cs-h3 {
    font-size: 1.25rem;
    line-height: 1.2em;
    text-align: inherit;
    margin: 0 0 0.75rem 0;
    color: var(--headerColor);
  }
  #steps-1173 .cs-item-text {
    font-size: 1rem;
    line-height: 1.5em;
    text-align: inherit;
    max-width: 25.8125rem;
    margin: 0;
    color: var(--bodyTextColor);
  }
  #steps-1173 .cs-graphic {
    width: 12.5rem;
    height: auto;
    opacity: 0.3;
    position: absolute;
    top: -1.875rem;
    left: -0.3125rem;
    z-index: -1;
    transform: rotate(-10deg);
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #steps-1173 .cs-container {
    max-width: 80rem;
  }
  #steps-1173 .cs-item {
    grid-column: span 4;
  }
  #steps-1173 .cs-item:nth-of-type(1):after {
    transform: rotate(45deg);
  }
  #steps-1173 .cs-item:nth-of-type(2):after {
    transform: rotate(135deg) scaleX(-1);
  }
  #steps-1173 .cs-item:after {
    margin: 0;
    position: absolute;
    right: -2.5rem;
    top: 0;
    transform: rotate(45deg);
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #steps-1173 .cs-title,
  body.dark-mode #steps-1173 .cs-text,
  body.dark-mode #steps-1173 .cs-item-text,
  body.dark-mode #steps-1173 .cs-h3 {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #steps-1173 .cs-text,
  body.dark-mode #steps-1173 .cs-item-text {
    opacity: 0.8;
  }
  body.dark-mode #steps-1173 .cs-graphic {
    opacity: 0.7;
  }
}
/*-- -------------------------- -->
<---         Services           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-1644 {
    padding: var(--sectionPadding);
  }
  #services-1644 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(2.5rem, 4vw, 4rem);
  }
  #services-1644 .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;
  }
  #services-1644 .cs-title {
    max-width: none;
  }
  #services-1644 .cs-text {
    max-width: 60ch;
  }
  #services-1644 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  #services-1644 .cs-item {
    list-style: none;
    width: 100%;
    box-sizing: border-box;
    /* resets at tablet */
    padding: 2rem 1rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /* 24px - 40px */
    gap: clamp(1.5rem, 3vw, 2.5rem);
    position: relative;
    z-index: 1;
  }
  #services-1644 .cs-item:last-of-type:before {
    display: none;
  }
  #services-1644 .cs-item:before {
    /* gradient line divider */
    content: '';
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #bababa 50%, rgba(255, 255, 255, 0) 100%);
    opacity: 0.6;
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
  }
  #services-1644 .cs-item:first-of-type {
    padding-top: 0;
  }
  #services-1644 .cs-item:last-of-type {
    padding-bottom: 0;
    border: none;
  }
  #services-1644 .cs-image-group {
    position: relative;
  }
  #services-1644 .cs-icon {
    width: 3rem;
    height: auto;
  }
  #services-1644 .cs-h2 {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
    text-align: inherit;
    line-height: 1.2em;
    font-weight: 700;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
  }
  #services-1644 .cs-item-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.6vw, 1rem);
    text-align: inherit;
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColor);
  }
  #services-1644 .cs-button-solid {
    margin-bottom: 1rem;
    height: initial;
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    border: 1px solid #9c1535;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
  }
  #services-1644 .cs-button-solid:hover {
    color: #fff;
  }
  #services-1644 .cs-button-solid:hover:before {
    width: 100%;
  }
  #services-1644 .cs-button-solid:before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    opacity: 1;
    display: block;
    background-color: #000;
    height: 100%;
    border-radius: 4px;
    width: 0;
    transition: width 0.3s;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-1644 .cs-container {
    max-width: 120rem;
  }
  #services-1644 .cs-card-group {
    flex-direction: row;
    justify-content: center;
  }
  #services-1644 .cs-item {
    /* 24px - 60px */
    padding: 0rem clamp(1.5rem, 3vw, 3.75rem);
  }
  #services-1644 .cs-item:before {
    width: 1px;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #bababa 50%, rgba(255, 255, 255, 0) 100%);
    left: auto;
    right: 0;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #services-1644 .cs-title,
  body.dark-mode #services-1644 .cs-text,
  body.dark-mode #services-1644 .cs-h2,
  body.dark-mode #services-1644 .cs-item-text {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #services-1644 .cs-text,
  body.dark-mode #services-1644 .cs-item-text {
    opacity: 0.8;
  }
}
/* Mobile - 360px */
/* you can copy and paste these styles into the section CSS where you placed the #list-893 HTML, or you can place it in your global stylesheet so you can reuse the HTML in any Side By Side section on your site. That way when you make changes to it, it will also change everywhere in the site */
#list-893 {
  max-width: 39.375rem;
  margin: 0 auto 2rem auto;
  /* Center the element */
  padding: 0;
  columns: 2;
}
#list-893 .cs-li {
  list-style: none;
  margin: 0 0 0.5rem 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.25rem;
  position: relative;
  font-size: 1.15rem;
}
#list-893 .cs-li:before {
  /* accent shape */
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.5rem;
  background: #bababa;
  border-radius: 0.25rem 0 0.25rem 0;
  display: block;
  /* prevents flexbox from squishing it */
  flex: none;
}
/* Dark Mode, copy and paste only the styles inside the #list-893 brackets into your section's dark mode media query */
body.dark-mode #list-893 .cs-li {
  color: var(--bodyTextColorWhite);
  opacity: 0.8;
}
/*-- -------------------------- -->
<---            FAQ             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #faq-326 {
    padding: var(--sectionPadding);
  }
  #faq-326 .cs-container {
    width: 100%;
    max-width: 43.75rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #faq-326 .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-326 .cs-title {
    margin: 0;
  }
  #faq-326 .cs-faq-group {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 0.75rem;
  }
  #faq-326 .cs-faq-item {
    list-style: none;
    width: 100%;
    background-color: #f7f7f7;
    /* clips all corners of the button that overlap the rounded border */
    overflow: hidden;
    border-radius: 0.75rem;
    transition: border-bottom 0.3s;
  }
  #faq-326 .cs-faq-item.active .cs-button {
    background-color: var(--primary);
    color: var(--bodyTextColorWhite);
  }
  #faq-326 .cs-faq-item.active .cs-button:before {
    background-color: var(--secondaryLight);
    transform: rotate(315deg);
  }
  #faq-326 .cs-faq-item.active .cs-button:after {
    background-color: var(--secondaryLight);
    transform: rotate(-315deg);
  }
  #faq-326 .cs-faq-item.active .cs-item-p {
    height: auto;
    /* 20px - 24px top & bottom */
    /* 16px - 24px left & right */
    padding: clamp(1.25rem, 1.3vw, 1.5rem) clamp(1rem, 2vw, 1.5rem);
    opacity: 1;
  }
  #faq-326 .cs-button {
    font-size: 1rem;
    line-height: 1.2em;
    text-align: left;
    font-weight: bold;
    /* 16px - 20px */
    padding: clamp(1rem, 1.3vw, 1.25rem);
    background-color: #f7f7f7;
    border: none;
    color: var(--headerColor);
    display: block;
    width: 100%;
    position: relative;
    transition: background-color 0.3s, color 0.3s;
  }
  #faq-326 .cs-button:hover {
    cursor: pointer;
  }
  #faq-326 .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-326 .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-326 .cs-button-text {
    width: 80%;
    display: block;
  }
  #faq-326 .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;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0rem) {
  body.dark-mode #faq-326 .cs-topper {
    color: var(--secondaryLight);
  }
  body.dark-mode #faq-326 .cs-title,
  body.dark-mode #faq-326 .cs-item-p {
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #faq-326 .cs-faq-item {
    background-color: var(--accent);
  }
  body.dark-mode #faq-326 .cs-faq-item.active .cs-button {
    background-color: var(--secondaryLight);
    color: var(--primary);
  }
  body.dark-mode #faq-326 .cs-faq-item.active .cs-button:before,
  body.dark-mode #faq-326 .cs-faq-item.active .cs-button:after {
    background-color: var(--primary);
  }
  body.dark-mode #faq-326 .cs-button {
    background-color: var(--accent);
    color: var(--bodyTextColorWhite);
  }
  body.dark-mode #faq-326 .cs-button:before,
  body.dark-mode #faq-326 .cs-button:after {
    background-color: var(--bodyTextColorWhite);
  }
}
