/*-- -------------------------- -->
<---            FAQ             -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #faq {
    padding: var(--sectionPadding);
  }
  #faq .cs-container {
    width: 100%;
    /* changes to 1280px at desktop */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* 40px - 48px */
    gap: clamp(2.5rem, 5vw, 3rem);
  }
  #faq .cs-content {
    text-align: left;
    max-width: 32.625rem;
  }

  #faq .cs-title {
    /* 24px - 48px */
    margin: 0 auto clamp(1.5rem, 4vw, 3rem);
  }
  #faq .cs-faq-group {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  #faq .cs-faq-item {
    list-style: none;
    width: 100%;
    border-bottom: 1px solid #e8e8e8;
    transition: border-bottom 0.3s;
  }
  #faq .cs-faq-item.active {
    border-color: var(--primaryLight);
  }
  #faq .cs-faq-item.active .cs-button:before {
    background-color: var(--primaryLight);
    transform: rotate(315deg);
  }
  #faq .cs-faq-item.active .cs-button:after {
    background-color: var(--primaryLight);
    transform: rotate(-315deg);
  }
  #faq .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 .cs-button {
    font-size: 1rem;
    line-height: 1.2em;
    text-align: left;
    font-weight: bold;
    /* 16px - 20px */
    padding: clamp(1rem, 1.3vw, 1.25rem);
    border: none;
    background: transparent;
    color: var(--headerColor);
    display: block;
    width: 100%;
    position: relative;
    transition: background-color 0.3s, color 0.3s;
  }
  #faq .cs-button:hover {
    cursor: pointer;
  }
  #faq .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: 45%;
    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 .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: 45%;
    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 .cs-button-text {
    width: 80%;
    display: block;
    font-family: "Jost", sans-serif;
  }
  #faq .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;
    font-family: "Jost", sans-serif;
  }
  #faq .cs-left {
    font-size: min(2.08vw, 0.791em);
    width: 42.875em;
    height: 46.875em;
    position: relative;
    z-index: 1;
  }
  #faq .cs-left:before {
    /* orange circle */
    content: "";
    width: 7.5em;
    height: 7.5em;
    border-radius: 50%;
    background: var(--primaryLight);
    opacity: 1;
    position: absolute;
    display: block;
    top: 3.125em;
    right: 18.75em;
    z-index: -1;
    animation-name: floatAnimation2;
    animation-duration: 6s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
  }
  #faq .cs-left:after {
    /* orange circle */
    content: "";
    width: 9.375em;
    height: 9.375em;
    border-radius: 50%;
    background: var(--primaryLight);
    opacity: 1;
    position: absolute;
    display: block;
    top: 1.25em;
    right: 11.875em;
    z-index: -1;
    animation-name: floatAnimation2;
    animation-duration: 10s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
  }
  @keyframes floatAnimation {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-2em);
    }
    100% {
      transform: translateY(0);
    }
  }
  @keyframes floatAnimation2 {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-1em);
    }
    100% {
      transform: translateY(0);
    }
  }
  #faq .cs-picture {
    border-radius: 50%;
    border: clamp(6px, 1.2vw, 12px) solid #ffffff;
    /* clips the img tag corners */
    overflow: hidden;
    position: absolute;
    display: block;
  }
  #faq .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  #faq .cs-picture1 {
    width: 12.5em;
    height: 12.5em;
    top: 4.5625em;
    left: -0.75em;
    animation-name: floatAnimation;
    animation-duration: 18s;
    animation-delay: 1s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
  }
  #faq .cs-picture2 {
    width: 25em;
    height: 25em;
    top: 3.625em;
    right: -0.75em;
  }
  #faq .cs-picture3 {
    width: 18.75em;
    height: 18.75em;
    bottom: 5.625em;
    left: -0.75em;
    animation-name: floatAnimation;
    animation-duration: 16s;
    animation-delay: 2s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
  }
  #faq .cs-picture4 {
    width: 12.5em;
    height: 12.5em;
    bottom: -0.75em;
    right: 10.3125em;
    animation-name: floatAnimation;
    animation-duration: 13s;
    animation-delay: 1s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
  }
  #faq .cs-blue {
    width: 11.125em;
    height: 8.625em;
    background-color: var(--secondary);
    position: absolute;
    bottom: 0;
    right: 6.25em;
    z-index: -1;
    animation-name: floatAnimation;
    animation-duration: 13s;
    animation-delay: 1s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
  }
  #faq .cs-blue:before {
    /* blue circle */
    content: "";
    width: 9.375em;
    height: 9.375em;
    border-radius: 50%;
    background: var(--secondary);
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 0em;
    right: -4.375em;
    z-index: -1;
  }
  #faq .cs-blue:after {
    /* blue circle */
    content: "";
    width: 11.875em;
    height: 11.875em;
    border-radius: 50%;
    background: var(--secondary);
    opacity: 1;
    position: absolute;
    display: block;
    bottom: 1.875em;
    left: -2.5em;
    z-index: -1;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #faq .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 3.25rem;
  }
  #faq .cs-left {
    /* reset the scale */
    font-size: min(1vw, 1em);
    /* prevents flexbox from squishing it */
    flex: none;
    /* sends it to the right */
    order: 2;
  }
  #faq .cs-title,
  #faq .cs-topper {
    text-align: left;
    width: 80%;
    margin-left: 0;
  }
}
