.elementor-3124 .elementor-element.elementor-element-3743373{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--border-radius:20px 20px 20px 20px;--padding-top:3vw;--padding-bottom:3vw;--padding-left:3vw;--padding-right:3vw;}.elementor-3124 .elementor-element.elementor-element-3743373:not(.elementor-motion-effects-element-type-background), .elementor-3124 .elementor-element.elementor-element-3743373 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #5D3567 0%, #8F3DA3 100%);}.elementor-widget-image .widget-image-caption{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-3124 .elementor-element.elementor-element-34e2745{width:var( --container-widget-width, 225px );max-width:225px;--container-widget-width:225px;--container-widget-flex-grow:0;}.elementor-3124 .elementor-element.elementor-element-34e2745.elementor-element{--align-self:center;}.elementor-3124 .elementor-element.elementor-element-34e2745 img{width:100%;max-width:100%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-3124 .elementor-element.elementor-element-fd81b48{text-align:center;}.elementor-3124 .elementor-element.elementor-element-fd81b48 .elementor-heading-title{font-family:"Rubik", Sans-serif;font-size:30px;font-weight:700;line-height:1.3em;color:#FFFFFF;}.elementor-3124 .elementor-element.elementor-element-b4a0758{text-align:center;}.elementor-3124 .elementor-element.elementor-element-b4a0758 .elementor-heading-title{font-family:"Rubik", Sans-serif;font-size:20px;font-weight:400;line-height:1.3em;color:#FFFFFF;}.elementor-3124 .elementor-element.elementor-element-4c03653.elementor-element{--align-self:center;}#elementor-popup-modal-3124 .dialog-widget-content{background-color:#02010100;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-3124{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-3124 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-3124 .dialog-close-button{display:flex;}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}}@media(max-width:767px){.elementor-3124 .elementor-element.elementor-element-3743373{--padding-top:5vw;--padding-bottom:5vw;--padding-left:5vw;--padding-right:5vw;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-3124 .elementor-element.elementor-element-34e2745{width:100%;max-width:100%;}.elementor-3124 .elementor-element.elementor-element-34e2745 img{width:60%;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}}/* Start custom CSS for html, class: .elementor-element-4c03653 */.button {
  /* Cor do botão principal */
  --black-700: hsla(72, 100%, 41%, 1); /* Cor verde do botão */
  
  --border_radius: 9999px; /* Bordas arredondadas */
  --transtion: 0.3s ease-in-out; /* Transição suave */
  --offset: 2px; /* Deslocamento da sombra do botão */

  cursor: pointer;
  position: relative;
  
  display: flex;
  align-items: center;
  gap: 0.5rem;

  transform-origin: center;

  padding: 1rem 2rem;
  background-color: transparent; /* Fundo transparente */
  
  border: none;
  border-radius: var(--border_radius); /* Bordas arredondadas */
  transform: scale(calc(1 + (var(--active, 0) * 0.1))); /* Escala do botão quando ativado */
  
  transition: transform var(--transtion); /* Transição para o efeito de escala */
}

.button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  width: 100%;
  height: 100%;
  background-color: #7FFA32; /* Cor verde do botão */
  
  border-radius: var(--border_radius);
  box-shadow: inset 0 0.5px hsl(0, 0%, 100%), inset 0 -1px 2px 0 hsl(0, 0%, 0%),
    0px 4px 10px -4px hsla(0 0% 0% / calc(1 - var(--active, 0))),
    0 0 0 calc(var(--active, 0) * 0.375rem) hsla(0, 0%, 100%, 0.5); /* Sombra interna e externa */

  transition: all var(--transtion); /* Transição suave para efeitos de sombra e escala */
  z-index: 0;
}

.button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  width: 100%;
  height: 100%;
  background-color: #7FFA32; /* Cor verde do botão */
  
  /* Gradientes para o efeito de brilho */
  background-image: 
    radial-gradient(
      at 51% 89%, 
      #B6FF88 0px, /* Brilho mais claro */
      transparent 50%
    ),
    radial-gradient(
      at 100% 100%, 
      #B6FF88 0px, /* Brilho mais claro */
      transparent 50%
    ),
    radial-gradient(
      at 22% 91%, 
      #B6FF88 0px, /* Brilho mais claro */
      transparent 50%
    );

  background-position: top;
  
  opacity: var(--active, 0); /* Controle de opacidade no hover */
  border-radius: var(--border_radius);
  transition: opacity var(--transtion); /* Transição de opacidade */
  z-index: 2;
}

.button:is(:hover, :focus-visible) {
  --active: 1; /* Ativa o efeito de brilho no hover */
}

.button:active {
  transform: scale(1); /* Remover a escala extra ao clicar */
}

.button .dots_border {
  --size_border: calc(100% + 2px);
  
  overflow: hidden;
  
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  width: var(--size_border);
  height: var(--size_border);
  background-color: transparent;

  border-radius: var(--border_radius);
  z-index: -10;
}

.button .dots_border::before {
  content: "";
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: left;
  transform: rotate(0deg);
  
  width: 100%;
  height: 2rem;
  background-color: white; /* Cor dos pontos da animação */
  
  mask: linear-gradient(transparent 0%, white 120%);
  animation: rotate 2s linear infinite; /* Animação de rotação */
}

@keyframes rotate {
  to {
    transform: rotate(360deg);
  }
}

.button .sparkle {
  position: relative;
  z-index: 10;
  
  width: 1.75rem;
}

.button .sparkle .path {
  transform-origin: center;
  color: #000000; /* Cor da "estrela" (brilho) */
}

.button:is(:hover, :focus) .sparkle .path {
  animation: path 1.5s linear 0.5s infinite; /* Animação das estrelas de brilho */
}

@keyframes path {
  0%,
  34%,
  71%,
  100% {
    transform: scale(1);
  }
  17% {
    transform: scale(1);
  }
  49% {
    transform: scale(1);
  }
  83% {
    transform: scale(1);
  }
}

.button .text_button {
  position: relative;
  z-index: 10;
  
  background-image: none; /* Remove gradiente do texto */
  color: #000000; /* Cor do texto preto */
  
  font-weight: 500;
  font-family: "Rubik", sans-serif; /* Fonte utilizada no botão */
  font-size: 1rem;
  
  transition: text-shadow 0.3s ease; /* Transição suave para o brilho no texto */
}

/* Efeito de brilho no texto */
.button:is(:hover, :focus-visible) .text_button {
  text-shadow: 0 0 10px #9CFF6A, 0 0 20px #9CFF6A, 0 0 30px #9CFF6A; /* Brilho verde mais claro no texto */
}/* End custom CSS */