.bounce {
  animation: bounce 3s infinite;
  transform-origin: center bottom;
  animation-timing-function: ease-in-out;
}

@keyframes bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

.tippy-box[data-theme~="dark-red"] {
  background-color: var(--light-color);
  color: var(--primary-color);
  font-weight: 300;
  border-radius: 5px;
}

.tippy-box[data-theme~="dark-red"] .tippy-arrow {
  color: var(--light-color);
}

.invisible {
  display: none;
}

.faq-section {
  display: flex;
  max-width: 1200px;
  padding: 20px;
  gap: 40px;
}

.faq-left {
  flex: 1;
}

.faq-right {
  flex: 2;
}

.faq-h2 {
  font-size: 2.2em;
  margin-top: 0;
}

@media (max-width: 768px) {
  .faq-section {
    flex-direction: column;
  }
}

.accordion-item {
  border: 1px solid #e0e0e0;
  margin-bottom: 12px;
  border-radius: 6px;
  overflow: hidden;
}

.accordion-question {
  background-color: #f9f9f9;
  color: #333;
  cursor: pointer;
  padding: 15px 45px 15px 18px;
  width: 100%;
  text-align: left;
  border: none;
  outline: none;
  font-size: 1em;
  font-weight: 600;
  transition: background-color 0.3s;
  position: relative;
}

.accordion-question:hover {
  background-color: #eee;
}

.accordion-question::after {
  content: "\002B"; /* Plus sign */
  font-size: 20px;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s, content 0.3s;
}

.accordion-question.active::after {
  content: "\2212"; /* Minus sign */
}

.accordion-answer {
  background-color: #fff;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out, padding 0.3s ease-out;
}

.accordion-answer.open {
  padding: 0 18px 15px 18px;
  max-height: 500px;
}

.accordion-answer p {
  margin-top: 0;
  line-height: 1.6;
  color: #555;
}


@keyframes slide-right {
  0% {
    left: -100%;
  }
  100% {
    left: 0;
  }
}