.topppa-btn-wrapper .topppa-btn {
  color: var(--topppa-color-white);
}
.topppa-btn-wrapper .topppa-btn::before, .topppa-btn-wrapper .topppa-btn::after {
  content: "";
  position: absolute;
  background: var(--topppa-color-secondary);
  transition: var(--topppa-anim-duration);
  z-index: -1;
}
.topppa-btn-wrapper .topppa-btn .btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.topppa-btn-wrapper .topppa-btn .btn-icon svg {
  width: 17px;
  height: 17px;
}
.topppa-btn-wrapper .topppa-btn .btn-icon svg path {
  fill: var(--topppa-color-white);
}
.topppa-btn-wrapper .topppa-btn:hover {
  background-color: var(--topppa-color-primary);
  color: var(--topppa-color-white);
}
.topppa-btn-wrapper.style-one .topppa-btn::before, .topppa-btn-wrapper.style-one .topppa-btn::after {
  width: 50%;
  height: 0;
}
.topppa-btn-wrapper.style-one .topppa-btn::before {
  top: 0;
  left: 0;
}
.topppa-btn-wrapper.style-one .topppa-btn::after {
  bottom: 0;
  right: 0;
}
.topppa-btn-wrapper.style-one .topppa-btn:hover::before, .topppa-btn-wrapper.style-one .topppa-btn:hover::after {
  height: 100%;
}
.topppa-btn-wrapper.style-two .topppa-btn::before {
  width: 200%;
  height: 200%;
  top: 110%;
  left: 50%;
  border-radius: 50%;
  transform: translateX(-50%);
  transition-duration: 0.6s;
}
.topppa-btn-wrapper.style-two .topppa-btn:hover::before {
  top: -40%;
}
.topppa-btn-wrapper.style-three .topppa-btn .top-btn-text {
  position: relative;
  top: 0;
  opacity: 1;
  transition: var(--topppa-anim-duration);
}
.topppa-btn-wrapper.style-three .topppa-btn:hover .top-btn-text {
  opacity: 0;
  top: -1.6rem;
}
.topppa-btn-wrapper.style-three .topppa-btn .bottom-btn-text {
  position: absolute;
  display: inline-block;
  opacity: 0;
  top: 63%;
  transition: var(--topppa-anim-duration);
}
.topppa-btn-wrapper.style-three .topppa-btn:hover .bottom-btn-text {
  opacity: 1;
  top: 50%;
  transform: translate(0, -50%);
}
.topppa-btn-wrapper.style-four .topppa-btn::before {
  width: 150%;
  height: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(25deg);
  opacity: 0.5;
  transition: var(--topppa-anim-duration);
}
.topppa-btn-wrapper.style-four .topppa-btn:hover::before {
  height: 400%;
  opacity: 1;
}
.topppa-btn-wrapper.style-five .topppa-btn::before, .topppa-btn-wrapper.style-five .topppa-btn::after {
  width: 0;
  height: 50%;
  position: absolute;
  background: var(--topppa-color-secondary);
  transition: var(--topppa-anim-duration-v2);
  z-index: -1;
}
.topppa-btn-wrapper.style-five .topppa-btn::before {
  top: 0;
  left: 0;
}
.topppa-btn-wrapper.style-five .topppa-btn::after {
  bottom: 0;
  right: 0;
}
.topppa-btn-wrapper.style-five .topppa-btn:hover::before {
  width: 100%;
  left: auto;
  right: 0;
}
.topppa-btn-wrapper.style-five .topppa-btn:hover::after {
  width: 100%;
  right: auto;
  left: 0;
}
.topppa-btn-wrapper.style-six .topppa-btn:hover {
  box-shadow: 0px 4px 24.6px rgba(14, 89, 242, 0.38);
}
.topppa-btn-wrapper.style-seven .topppa-btn:hover {
  background-color: var(--topppa-color-secondary);
}
.topppa-btn-wrapper.style-eight .topppa-btn {
  padding: 1rem 1rem 1rem 2.3rem;
  position: relative;
  font-size: 1.4rem;
  gap: 1.6rem;
}
.topppa-btn-wrapper.style-eight .topppa-btn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background: var(--topppa-color-secondary);
  width: 0;
  height: 100%;
  left: auto;
  right: 0;
  transition: width 0.35s ease-in-out, left 0.35s ease-in-out;
}
.topppa-btn-wrapper.style-eight .topppa-btn:hover::before {
  left: 0;
  width: 100%;
}
.topppa-btn-wrapper.style-eight .topppa-btn .btn-icon {
  position: relative;
  height: 2.5rem;
  width: 2.5rem;
  background-color: var(--topppa-color-white);
  color: var(--topppa-color-primary);
  transition: var(--topppa-anim-duration);
  z-index: 1;
}
.topppa-btn-wrapper.style-eight .topppa-btn .btn-icon::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  left: auto;
  right: 0;
  background-color: var(--topppa-color-primary);
  transition: width 0.4s ease-in-out, left 0.4s ease-in-out;
  z-index: -1;
}
.topppa-btn-wrapper.style-eight .topppa-btn:hover .btn-icon {
  color: var(--topppa-color-white);
}
.topppa-btn-wrapper.style-eight .topppa-btn:hover .btn-icon::before {
  left: 0;
  width: 100%;
}
.topppa-btn-wrapper.style-nine .topppa-btn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  animation: opacityFallbackOut 0.5s step-end forwards;
  background-color: var(--topppa-color-secondary);
  clip-path: polygon(-1% 0, 0 0, -25% 100%, -1% 100%);
  transition: var(--topppa-anim-duration-v2);
  width: 100%;
  height: 100%;
}
.topppa-btn-wrapper.style-nine .topppa-btn:hover::before {
  animation: opacityFallbackIn 0s step-start forwards;
  clip-path: polygon(0 0, 101% 0, 101% 101%, 0 101%);
}
.topppa-btn-wrapper.style-ten .topppa-btn::before, .topppa-btn-wrapper.style-eleven .topppa-btn::before {
  content: "";
  position: absolute;
  top: var(--y, 50%);
  left: var(--x, 50%);
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-radius: 50%;
  background-color: var(--topppa-color-secondary);
  transition: width 0.5s, height 0.5s, top 0.2s, left 0.2s;
}
.topppa-btn-wrapper.style-ten .topppa-btn:hover::before, .topppa-btn-wrapper.style-eleven .topppa-btn:hover::before {
  width: 40rem;
  height: 40rem;
}
.topppa-btn-wrapper.style-thirteen .topppa-btn::before, .topppa-btn-wrapper.style-thirteen .topppa-btn::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-top: 2.5rem solid var(--topppa-color-secondary);
  border-bottom: 2.5rem solid var(--topppa-color-secondary);
  transition: var(--topppa-anim-duration);
  z-index: -1;
  background-color: transparent;
}
.topppa-btn-wrapper.style-thirteen .topppa-btn::before {
  border-right: 2.5rem solid transparent;
  transform: translateX(-100%);
}
.topppa-btn-wrapper.style-thirteen .topppa-btn::after {
  border-left: 2.5rem solid transparent;
  transform: translateX(100%);
}
.topppa-btn-wrapper.style-thirteen .topppa-btn:hover::before {
  transform: translateX(-20%);
}
.topppa-btn-wrapper.style-thirteen .topppa-btn:hover::after {
  transform: translateX(20%);
}
.topppa-btn-wrapper.style-fourteen .topppa-btn::before {
  content: "";
  position: absolute;
  height: calc(100% + 0.2rem);
  width: calc(100% + 3rem);
  top: -1px;
  right: 100%;
  background-color: var(--topppa-color-secondary);
  z-index: -1;
  transition: var(--topppa-anim-duration);
  border-radius: inherit;
  clip-path: polygon(calc(100% - 3rem) 0, 100% 50%, calc(100% - 3rem) 100%, 0 100%, 0 0);
}
.topppa-btn-wrapper.style-fourteen .topppa-btn:hover::before {
  right: -3rem;
}
.topppa-btn-wrapper.style-fifteen .topppa-btn {
  background: transparent;
  color: var(--topppa-color-secondary);
  font-size: 1.6rem;
  padding: 0;
}
.topppa-btn-wrapper.style-fifteen .topppa-btn:hover {
  color: var(--topppa-color-primary);
}
.topppa-btn-wrapper.style-fifteen .topppa-btn::before {
  display: none;
}

.topppa-flip-box {
  position: relative;
  width: 100%;
  height: 300px;
  perspective: 1000px;
  overflow: hidden;
}
.topppa-flip-box.topppa-flip-trigger-click {
  cursor: pointer;
}
.topppa-flip-box .topppa-flip-box-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.6s ease;
  transform-style: preserve-3d;
}
.topppa-flip-box .topppa-flip-box-front,
.topppa-flip-box .topppa-flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: all 0.6s ease;
}
.topppa-flip-box .topppa-flip-box-items {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  text-align: center;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.topppa-flip-box.topppa-flip-flip .topppa-flip-box-back {
  transform: rotateY(180deg);
}
.topppa-flip-box.topppa-flip-flip.topppa-flip-trigger-hover:hover .topppa-flip-box-inner, .topppa-flip-box.topppa-flip-flip.topppa-flip-trigger-click.flipped .topppa-flip-box-inner {
  transform: rotateY(180deg);
}
.topppa-flip-box.topppa-flip-flip-vertical .topppa-flip-box-back {
  transform: rotateX(180deg);
}
.topppa-flip-box.topppa-flip-flip-vertical.topppa-flip-trigger-hover:hover .topppa-flip-box-inner, .topppa-flip-box.topppa-flip-flip-vertical.topppa-flip-trigger-click.flipped .topppa-flip-box-inner {
  transform: rotateX(180deg);
}
.topppa-flip-box.topppa-flip-slide-left {
  overflow: hidden;
}
.topppa-flip-box.topppa-flip-slide-left .topppa-flip-box-back {
  transform: translateX(100%);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-slide-left.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-box.topppa-flip-slide-left.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: translateX(-100%);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-slide-left.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-box.topppa-flip-slide-left.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: translateX(0);
  opacity: 1;
}
.topppa-flip-box.topppa-flip-slide-right {
  overflow: hidden;
}
.topppa-flip-box.topppa-flip-slide-right .topppa-flip-box-back {
  transform: translateX(-100%);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-slide-right.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-box.topppa-flip-slide-right.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: translateX(100%);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-slide-right.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-box.topppa-flip-slide-right.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: translateX(0);
  opacity: 1;
}
.topppa-flip-box.topppa-flip-slide-up {
  overflow: hidden;
}
.topppa-flip-box.topppa-flip-slide-up .topppa-flip-box-back {
  transform: translateY(100%);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-slide-up.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-box.topppa-flip-slide-up.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: translateY(-100%);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-slide-up.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-box.topppa-flip-slide-up.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: translateY(0);
  opacity: 1;
}
.topppa-flip-box.topppa-flip-slide-down {
  overflow: hidden;
}
.topppa-flip-box.topppa-flip-slide-down .topppa-flip-box-back {
  transform: translateY(-100%);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-slide-down.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-box.topppa-flip-slide-down.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: translateY(100%);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-slide-down.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-box.topppa-flip-slide-down.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: translateY(0);
  opacity: 1;
}
.topppa-flip-box.topppa-flip-zoom-in .topppa-flip-box-back {
  transform: scale(0);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-zoom-in.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-box.topppa-flip-zoom-in.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: scale(0);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-zoom-in.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-box.topppa-flip-zoom-in.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: scale(1);
  opacity: 1;
}
.topppa-flip-box.topppa-flip-zoom-out .topppa-flip-box-back {
  transform: scale(1.5);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-zoom-out.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-box.topppa-flip-zoom-out.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: scale(1.5);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-zoom-out.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-box.topppa-flip-zoom-out.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: scale(1);
  opacity: 1;
}
.topppa-flip-box.topppa-flip-fade .topppa-flip-box-back {
  opacity: 0;
}
.topppa-flip-box.topppa-flip-fade.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-box.topppa-flip-fade.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  opacity: 0;
}
.topppa-flip-box.topppa-flip-fade.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-box.topppa-flip-fade.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  opacity: 1;
}
.topppa-flip-box.topppa-flip-rotate-x .topppa-flip-box-back {
  transform: rotateX(90deg);
  opacity: 0;
  transform-origin: center center;
}
.topppa-flip-box.topppa-flip-rotate-x.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-box.topppa-flip-rotate-x.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: rotateX(-90deg);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-rotate-x.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-box.topppa-flip-rotate-x.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: rotateX(0);
  opacity: 1;
}
.topppa-flip-box.topppa-flip-rotate-y .topppa-flip-box-back {
  transform: rotateY(90deg);
  opacity: 0;
  transform-origin: center center;
}
.topppa-flip-box.topppa-flip-rotate-y.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-box.topppa-flip-rotate-y.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: rotateY(-90deg);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-rotate-y.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-box.topppa-flip-rotate-y.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: rotateY(0);
  opacity: 1;
}
.topppa-flip-box.topppa-flip-rotate-z .topppa-flip-box-back {
  transform: rotateZ(90deg);
  opacity: 0;
  transform-origin: center center;
}
.topppa-flip-box.topppa-flip-rotate-z.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-box.topppa-flip-rotate-z.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: rotateZ(-90deg);
  opacity: 0;
}
.topppa-flip-box.topppa-flip-rotate-z.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-box.topppa-flip-rotate-z.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: rotateZ(0);
  opacity: 1;
}
.topppa-flip-box .topppa-flip-box-front {
  background-color: var(--topppa-color-border);
  color: var(--topppa-color-para);
  z-index: 2;
}
.topppa-flip-box .topppa-flip-box-front .topppa-front-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
.topppa-flip-box .topppa-flip-box-back {
  background-color: var(--topppa-color-secondary);
  color: var(--topppa-color-white);
  z-index: 1;
}
.topppa-flip-box .topppa-flip-box-back .topppa-back-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
.topppa-flip-box .topppa-flip-box-icon {
  margin-bottom: 15px;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.topppa-flip-box .topppa-flip-box-icon img {
  max-width: 60px;
  height: auto;
}
.topppa-flip-box .topppa-flip-title h1,
.topppa-flip-box .topppa-flip-title h2,
.topppa-flip-box .topppa-flip-title h3,
.topppa-flip-box .topppa-flip-title h4,
.topppa-flip-box .topppa-flip-title h5,
.topppa-flip-box .topppa-flip-title h6 {
  margin: 0;
  padding: 0;
}
.topppa-flip-box .topppa-flip-title .topppa-flip-front-box-title-text {
  font-size: 24px;
  line-height: normal;
  margin-bottom: 10px;
}
.topppa-flip-box .topppa-flip-title .topppa-flip-back-box-title-text {
  color: var(--topppa-color-white);
  font-size: 24px;
  line-height: normal;
  margin-bottom: 10px;
}
.topppa-flip-box .topppa-flip-description {
  margin-bottom: 15px;
}
.topppa-flip-box .topppa-flip-button {
  margin-top: 10px;
}
.topppa-flip-box .topppa-flip-button .topppa-flip-btn {
  display: inline-block;
  padding: 8px 16px;
  background-color: var(--topppa-color-primary);
  color: var(--topppa-color-white);
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.topppa-flip-box .topppa-flip-button .topppa-flip-btn:hover {
  background-color: var(--topppa-color-primary);
}

.topppa-flip-front-box-title-text,
.topppa-flip-back-box-title-text {
  line-height: normal;
  font-size: 24px;
}

.topppa-flip-box-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.topppa-flip-tilt {
  perspective: 1200px;
}
.topppa-flip-tilt .topppa-flip-box-front,
.topppa-flip-tilt .topppa-flip-box-back {
  transition: transform 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.7s;
}
.topppa-flip-tilt .topppa-flip-box-back {
  transform: rotateY(30deg) rotateX(20deg);
  opacity: 0;
}
.topppa-flip-tilt.topppa-flip-trigger-hover:hover .topppa-flip-box-front {
  transform: rotateY(-30deg) rotateX(-20deg);
  opacity: 0;
}
.topppa-flip-tilt.topppa-flip-trigger-hover:hover .topppa-flip-box-back {
  transform: rotateY(0) rotateX(0);
  opacity: 1;
}
.topppa-flip-tilt.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: rotateY(-30deg) rotateX(-20deg);
  opacity: 0;
}
.topppa-flip-tilt.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: rotateY(0) rotateX(0);
  opacity: 1;
}

.topppa-flip-3d-prism {
  perspective: 800px;
  overflow: hidden;
}
.topppa-flip-3d-prism .topppa-flip-box-inner {
  transform-style: preserve-3d;
  transition: transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.topppa-flip-3d-prism .topppa-flip-box-front {
  transform: translateZ(40px);
  backface-visibility: hidden;
}
.topppa-flip-3d-prism .topppa-flip-box-back {
  transform: rotateY(90deg) translateZ(40px);
  backface-visibility: hidden;
  opacity: 0;
}
.topppa-flip-3d-prism.topppa-flip-trigger-hover:hover .topppa-flip-box-inner, .topppa-flip-3d-prism.topppa-flip-trigger-click.flipped .topppa-flip-box-inner {
  transform: rotateY(-90deg);
}
.topppa-flip-3d-prism.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-3d-prism.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  opacity: 0;
}
.topppa-flip-3d-prism.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-3d-prism.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  opacity: 1;
}

.topppa-flip-3d-cylinder {
  perspective: 800px;
  overflow: hidden;
}
.topppa-flip-3d-cylinder .topppa-flip-box-inner {
  transform-style: preserve-3d;
  transition: transform 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.topppa-flip-3d-cylinder .topppa-flip-box-front,
.topppa-flip-3d-cylinder .topppa-flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}
.topppa-flip-3d-cylinder .topppa-flip-box-front {
  transform: translateZ(40px) rotateX(0deg);
}
.topppa-flip-3d-cylinder .topppa-flip-box-back {
  transform: translateZ(40px) rotateX(180deg);
}
.topppa-flip-3d-cylinder.topppa-flip-trigger-hover:hover .topppa-flip-box-inner, .topppa-flip-3d-cylinder.topppa-flip-trigger-click.flipped .topppa-flip-box-inner {
  transform: rotateX(180deg);
}

.topppa-flip-3d-cascade {
  perspective: 2000px;
}
.topppa-flip-3d-cascade .topppa-flip-box-inner {
  transform-style: preserve-3d;
  transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
  position: relative;
}
.topppa-flip-3d-cascade .topppa-flip-box-front,
.topppa-flip-3d-cascade .topppa-flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}
.topppa-flip-3d-cascade .topppa-flip-box-front {
  transform: translateZ(0);
  transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.topppa-flip-3d-cascade .topppa-flip-box-back {
  transform: translateZ(-100px) translateY(100px) rotateX(-90deg);
  transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
  opacity: 0;
}
.topppa-flip-3d-cascade.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-3d-cascade.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: translateZ(100px) translateY(-100px) rotateX(90deg);
  opacity: 0;
}
.topppa-flip-3d-cascade.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-3d-cascade.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: translateZ(0);
  opacity: 1;
}

.topppa-flip-3d-helix {
  perspective: 1200px;
}
.topppa-flip-3d-helix .topppa-flip-box-inner {
  transform-style: preserve-3d;
  transition: all 1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.topppa-flip-3d-helix .topppa-flip-box-front,
.topppa-flip-3d-helix .topppa-flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}
.topppa-flip-3d-helix .topppa-flip-box-back {
  transform: rotateY(180deg) rotateX(180deg);
  opacity: 0;
}
.topppa-flip-3d-helix.topppa-flip-trigger-hover:hover .topppa-flip-box-inner, .topppa-flip-3d-helix.topppa-flip-trigger-click.flipped .topppa-flip-box-inner {
  transform: rotateY(180deg) rotateX(180deg);
}
.topppa-flip-3d-helix.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-3d-helix.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  opacity: 0;
}
.topppa-flip-3d-helix.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-3d-helix.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  opacity: 1;
}

.topppa-flip-3d-pyramid {
  perspective: 1000px;
  overflow: hidden;
}
.topppa-flip-3d-pyramid .topppa-flip-box-inner {
  transform-style: preserve-3d;
  transition: transform 0.9s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  position: relative;
  width: 100%;
  height: 100%;
}
.topppa-flip-3d-pyramid .topppa-flip-box-front,
.topppa-flip-3d-pyramid .topppa-flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}
.topppa-flip-3d-pyramid .topppa-flip-box-front {
  transform-origin: center bottom;
  transform: translateZ(30px);
}
.topppa-flip-3d-pyramid .topppa-flip-box-back {
  transform-origin: center top;
  transform: rotateX(-50deg) translateY(50%) translateZ(-30px);
  opacity: 0;
}
.topppa-flip-3d-pyramid.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-3d-pyramid.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: rotateX(50deg) translateY(-50%) translateZ(-30px);
  opacity: 0;
}
.topppa-flip-3d-pyramid.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-3d-pyramid.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: translateZ(30px);
  opacity: 1;
}

.topppa-flip-3d-carousel {
  perspective: 800px;
  overflow: hidden;
}
.topppa-flip-3d-carousel .topppa-flip-box-inner {
  transform-style: preserve-3d;
  transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
  width: 100%;
  height: 100%;
}
.topppa-flip-3d-carousel .topppa-flip-box-front,
.topppa-flip-3d-carousel .topppa-flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}
.topppa-flip-3d-carousel .topppa-flip-box-front {
  transform: translateZ(50px);
}
.topppa-flip-3d-carousel .topppa-flip-box-back {
  transform: rotateY(180deg) translateZ(50px);
}
.topppa-flip-3d-carousel.topppa-flip-trigger-hover:hover .topppa-flip-box-inner, .topppa-flip-3d-carousel.topppa-flip-trigger-click.flipped .topppa-flip-box-inner {
  transform: rotateY(-180deg);
}

.topppa-flip-3d-accordion {
  perspective: 1200px;
}
.topppa-flip-3d-accordion .topppa-flip-box-inner {
  transform-style: preserve-3d;
  transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.topppa-flip-3d-accordion .topppa-flip-box-front,
.topppa-flip-3d-accordion .topppa-flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}
.topppa-flip-3d-accordion .topppa-flip-box-front {
  transform-origin: center left;
}
.topppa-flip-3d-accordion .topppa-flip-box-back {
  transform-origin: center right;
  transform: translateX(-100%) rotateY(-90deg);
}
.topppa-flip-3d-accordion.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-3d-accordion.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: rotateY(90deg);
}
.topppa-flip-3d-accordion.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-3d-accordion.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: translateX(0) rotateY(0);
}

.topppa-flip-water-through {
  overflow: hidden;
  position: relative;
}
.topppa-flip-water-through .topppa-flip-box-front,
.topppa-flip-water-through .topppa-flip-box-back {
  transition: opacity 0.5s ease, transform 0.5s ease;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.topppa-flip-water-through .topppa-flip-box-back {
  opacity: 0;
}
.topppa-flip-water-through::before {
  content: "";
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 45%, rgba(255, 255, 255, 0.7) 50%, rgba(255, 255, 255, 0.3) 55%, rgba(255, 255, 255, 0) 100%);
  z-index: 2;
  transition: top 1s ease;
  opacity: 0;
  pointer-events: none;
}
.topppa-flip-water-through.topppa-flip-trigger-hover:hover::before, .topppa-flip-water-through.topppa-flip-trigger-click.flipped::before {
  top: 100%;
  opacity: 1;
}
.topppa-flip-water-through.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-water-through.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  opacity: 0;
}
.topppa-flip-water-through.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-water-through.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  opacity: 1;
}

.topppa-flip-page-turn {
  perspective: 1200px;
  overflow: hidden;
}
.topppa-flip-page-turn .topppa-flip-box-inner {
  transform-style: preserve-3d;
  position: relative;
  width: 100%;
  height: 100%;
}
.topppa-flip-page-turn .topppa-flip-box-front,
.topppa-flip-page-turn .topppa-flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}
.topppa-flip-page-turn .topppa-flip-box-front {
  transform-origin: left center;
  transition: transform 0.7s cubic-bezier(0.645, 0.045, 0.355, 1);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  z-index: 2;
}
.topppa-flip-page-turn .topppa-flip-box-back {
  left: 0;
  opacity: 0;
  transition: opacity 0.4s ease 0.3s;
  z-index: 1;
}
.topppa-flip-page-turn.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-page-turn.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: rotateY(-90deg);
}
.topppa-flip-page-turn.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-page-turn.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  opacity: 1;
}

.topppa-flip-morph {
  perspective: 1200px;
}
.topppa-flip-morph .topppa-flip-box-front,
.topppa-flip-morph .topppa-flip-box-back {
  transition: all 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.topppa-flip-morph .topppa-flip-box-back {
  opacity: 0;
  transform: scale(0.5) rotate(45deg);
}
.topppa-flip-morph.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-morph.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  opacity: 0;
  transform: scale(0.5) rotate(-45deg);
}
.topppa-flip-morph.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-morph.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}

.topppa-flip-elastic .topppa-flip-box-front,
.topppa-flip-elastic .topppa-flip-box-back {
  transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.topppa-flip-elastic .topppa-flip-box-back {
  opacity: 0;
  transform: scale(0.5);
}
.topppa-flip-elastic.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-elastic.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  opacity: 0;
  transform: scale(1.5);
}
.topppa-flip-elastic.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-elastic.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  opacity: 1;
  transform: scale(1);
}

.topppa-flip-shatter {
  overflow: hidden;
}
.topppa-flip-shatter .topppa-flip-box-front,
.topppa-flip-shatter .topppa-flip-box-back {
  transition: all 0.5s ease;
}
.topppa-flip-shatter .topppa-flip-box-back {
  opacity: 0;
  clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%);
}
.topppa-flip-shatter.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-shatter.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  opacity: 0;
  transform: scale(0.9);
  clip-path: polygon(20% 0%, 0% 20%, 30% 50%, 0% 80%, 20% 100%, 50% 70%, 80% 100%, 100% 80%, 70% 50%, 100% 20%, 80% 0%, 50% 30%);
}
.topppa-flip-shatter.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-shatter.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  opacity: 1;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.topppa-flip-origami {
  perspective: 800px;
}
.topppa-flip-origami .topppa-flip-box-inner {
  transform-style: preserve-3d;
}
.topppa-flip-origami .topppa-flip-box-front {
  transform-origin: center center;
  transition: transform 0.7s ease-out;
  backface-visibility: hidden;
}
.topppa-flip-origami .topppa-flip-box-back {
  opacity: 0;
  transform: translateZ(-100px);
  transition: all 0.7s ease-out;
}
.topppa-flip-origami.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-origami.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: rotateX(90deg) rotateY(45deg);
  opacity: 0;
}
.topppa-flip-origami.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-origami.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: translateZ(0);
  opacity: 1;
}

.topppa-flip-door {
  perspective: 1000px;
  overflow: hidden;
}
.topppa-flip-door .topppa-flip-box-front {
  transform-origin: left center;
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
  backface-visibility: hidden;
  box-shadow: 5px 0 15px rgba(0, 0, 0, 0.1);
}
.topppa-flip-door .topppa-flip-box-back {
  transform: scale(0.9);
  opacity: 0;
  transition: all 0.5s 0.2s;
}
.topppa-flip-door.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-door.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  transform: rotateY(-110deg);
}
.topppa-flip-door.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-door.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  transform: scale(1);
  opacity: 1;
}

.topppa-flip-box-back.topppa-flip-box-items {
  z-index: 999;
}

.topppa-flip-celestial-swirl {
  perspective: 1000px;
  overflow: hidden;
}
.topppa-flip-celestial-swirl .topppa-flip-box-front,
.topppa-flip-celestial-swirl .topppa-flip-box-back {
  transition: all 0.8s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.topppa-flip-celestial-swirl .topppa-flip-box-back {
  opacity: 0;
  transform: scale(0.8) rotate(-45deg);
}
.topppa-flip-celestial-swirl.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-celestial-swirl.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  opacity: 0;
  transform: scale(0.8) rotate(45deg);
}
.topppa-flip-celestial-swirl.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-celestial-swirl.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  opacity: 1;
  transform: scale(1) rotate(0);
}

.topppa-flip-gravity-bounce {
  perspective: 1000px;
}
.topppa-flip-gravity-bounce .topppa-flip-box-front,
.topppa-flip-gravity-bounce .topppa-flip-box-back {
  transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
.topppa-flip-gravity-bounce .topppa-flip-box-back {
  opacity: 0;
  transform: translateY(100%);
}
.topppa-flip-gravity-bounce.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-gravity-bounce.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  opacity: 0;
  transform: translateY(-100%);
}
.topppa-flip-gravity-bounce.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-gravity-bounce.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  opacity: 1;
  transform: translateY(0);
}

.topppa-flip-hyperwave-flow {
  overflow: hidden;
}
.topppa-flip-hyperwave-flow .topppa-flip-box-front,
.topppa-flip-hyperwave-flow .topppa-flip-box-back {
  transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.topppa-flip-hyperwave-flow .topppa-flip-box-back {
  opacity: 0;
  transform: translateY(10px) scale(0.95);
}
.topppa-flip-hyperwave-flow.topppa-flip-trigger-hover:hover .topppa-flip-box-front, .topppa-flip-hyperwave-flow.topppa-flip-trigger-click.flipped .topppa-flip-box-front {
  opacity: 0;
  transform: translateY(-10px) scale(0.95);
}
.topppa-flip-hyperwave-flow.topppa-flip-trigger-hover:hover .topppa-flip-box-back, .topppa-flip-hyperwave-flow.topppa-flip-trigger-click.flipped .topppa-flip-box-back {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.topppa-flip-hyperwave-flow.topppa-flip-trigger-hover:hover::after, .topppa-flip-hyperwave-flow.topppa-flip-trigger-click.flipped::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
  opacity: 0;
  transform: translateX(-100%) translateY(-100%);
  animation: hyperwave 0.7s forwards;
}
@keyframes hyperwave {
  to {
    opacity: 1;
    transform: translateX(100%) translateY(100%);
  }
}