@import url('https://fonts.googleapis.com/css2?family=Arapey:ital@0;1&family=Karma:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Arapey:ital@0;1&display=swap');

body {
  background-color: #0A012E;
  font-family: "Karma", serif;
  font-family: "Arapey", serif;
  margin: 0;
  padding: 0px;
  overscroll-behavior-y: contain;
}

@media (max-width: 768px) {
  section {
    background-position-x: 90% !important;
    background-size: 800px !important;
  }
}

@media (max-height: 760px) {
  section {
    background-position-y: 141% !important;
  }
}

@media (min-width: 769px) and (max-width: 1025px) {
  section {
    background-size: 1600px !important;
    background-position: right bottom !important;
  }
}



[data-marker] {
  opacity: 0;
}

@keyframes floatHorizontal {

  0%,
  100% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(15px);
  }
}

@keyframes floatVertical {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(15px);
  }
}

.background-circle-1 {
  animation: floatHorizontal 6s ease-in-out infinite;
}

.background-circle-2 {
  animation: floatVertical 8s ease-in-out infinite;
}

.background-circle-3 {
  animation: floatHorizontal 7s ease-in-out infinite;
  animation-direction: reverse;
}

.custom-gradient-border {
  border-image: linear-gradient(to right, #C1AEAA, #7642AF) 1;
}

.marker-line {
  position: absolute;
  width: 2px;
  background: repeating-linear-gradient(to bottom,
      #9333ea,
      #9333ea 5px,
      transparent 5px,
      transparent 10px);
  opacity: 0;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.3s ease-out, opacity 0.3s;
}

.marker-line-top {
  height: 200px;
  /* ajusta como quiser */
  bottom: 100%;
  left: 50%;
  transform-origin: bottom;
  translate: -50%;
}

.marker-line-bottom {
  height: 200px;
  top: 100%;
  left: 50%;
  transform-origin: top;
  translate: -50%;
}

#circularButton a:link,
#circularButton a:visited {
  display: block;
  text-decoration: none;
  background-color: #23046e;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#23046e), to(#2d1072));
  background-image: -webkit-linear-gradient(top, #23046e, #2d1072);
  background-image: -moz-linear-gradient(top, #23046e, #2d1072);
  background-image: -ms-linear-gradient(top, #23046e, #2d1072);
  background-image: -o-linear-gradient(top, #23046e, #2d1072);
  color: #efeeef;
  margin: 36px;
  width: 144px;
  height: 144px;
  position: relative;
  text-align: center;
  line-height: 144px;
  border-radius: 50%;
  box-shadow: 0px 3px 8px #aaa, inset 0px 2px 3px #fff;
  border: solid 1px transparent;
}

#circularButton a:before {
  content: "";
  display: block;
  background: #23046e;
  border-top: 2px solid #290285;
  position: absolute;
  top: -18px;
  left: -18px;
  bottom: -18px;
  right: -18px;
  z-index: -1;
  border-radius: 50%;
  box-shadow: inset 0px 8px 48px #290285;
}

#circularButton a:active {
  box-shadow: none;
  border: solid 1px #23046e;
}

#circularButton a:hover {
  text-decoration: none;
  color: #555;
  background: #2c097e;
}


.link {
  font-weight: bold;
  color: white;
  text-decoration: none;
  position: relative;
}

.link span,
.link i {
  position: relative;
}

.link i {
  margin-left: 0.5em;
}

.link .color {
  width: 2em;
  height: 2em;
  border-radius: 2em;
  background-color: #2c097e;
  position: absolute;
  top: 50%;
  transform: translatey(-50%);
  left: -0.65em;
}

.image-container {
  height: 100%;
  transition: transform 4s ease;
}

.card {
  width: 500px;
  height: 300px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(85, 95, 173, 0.405);
  -webkit-tap-highlight-color: transparent;
}

.card:hover .image-container {
  transform: translateY(-50%);
}

.card:active .image-container,
.card.touched .image-container {
  transform: translateY(-50%);
}

.card img {
  width: 100%;
  display: block;
  height: 200%;
  object-fit: cover;
}

.overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 10px;
  font-weight: bold;
  font-size: 1.1rem;
  pointer-events: none;
}

@media (max-width: 768px) {
  .card {
    width: 100%;
    max-width: 350px;
    height: 250px;
  }
}

.whatsapp-btn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 9999;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  animation: breathe 2s ease-in-out infinite;
}

.whatsapp-btn svg {
  color: #fff;
  font-size: 24px;
  animation: beat 2s ease-in-out infinite;
  text-decoration: none;
}

@keyframes breathe {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5);
  }

  70% {
    box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  }
}

@keyframes beat {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(1);
  }
}