/* Estilo básico para o tooltip */

.tooltip {
    position: relative;
    cursor: pointer;
}

/* Cria o tooltip com o conteúdo do atributo data-tooltip */
.tooltip::after {
    content: attr(data-tooltip);
    /* Pega o conteúdo do atributo data-tooltip */
    position: absolute;
    bottom: 125%;
    /* Posiciona acima do elemento; ajuste conforme necessário */
    left: 50%;
    transform: translateX(-50%);
    background-color: #2978a0;
    /* Fundo escuro */
    color: #fff;
    /* Texto branco */
    padding: 5px 8px;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    /* Inicialmente invisível */
    pointer-events: none;
    /* Impede que o tooltip interfira na interação com o elemento */
    transition: opacity 0.3s ease-in-out;
    z-index: 10;
    font-size: 1.2rem
}

/* Adiciona uma pequena seta ao tooltip */
.tooltip::before {
    content: "";
    position: absolute;
    bottom: 100% !important;
    /* Ajuste conforme necessário */
    left: 50%;
    transform: translateX(-50%);
    border-width: 5px;
    border-style: solid;
    border-color: #2978a0 transparent transparent transparent;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: 20;
}

/* Mostra o tooltip ao passar o mouse sobre o elemento */
.tooltip:hover::after,
.tooltip:hover::before {
    opacity: 1;
}

/* Finaliza tooltip */

/* Classes do Elementor com custom classes */
.elementor-widget-heading.azul .elementor-heading-title {
    color: blue;
}

.elementor-widget-heading.red .elementor-heading-title {
    color: #ff0000;
}

/* ========= */

/* Barra de Scroll */
/* Largura da barra */
body::-webkit-scrollbar {
    width: 8px;
}

/* Cor de fundo */
body::-webkit-scrollbar-track {
    background: #FFFFFF !important;
}

/* Cor do controle deslizante */
body::-webkit-scrollbar-thumb {
    background: #072e4a !important;
    border-radius: 0px !important;
    transition: .7s;
}

/* Passa o mouse */
body::-webkit-scrollbar-thumb:hover {
    background: #072e4a !important;
}

/* ========= */

/* Efeito de card com shadow */
.card-effect-shadow {
    animation: topdown 700ms 350ms backwards;
    transition: .5s all ease-in-out;
    border: 2px solid transparent;
    will-change: filter !important;
}

.card-effect-shadow:hover {
    transform: translateY(-15px);
    box-shadow: 0px 32px 180px -12px rgba(9, 236, 248, 0.2);
    background-color: #191c1f;

    border-radius: 8px;
    border: 2px solid #09ecf830;
}

.card-effect-noshadow {
    animation: topdown 700ms 350ms backwards;
    transition: .5s all ease-in-out;
    border: 2px solid transparent;
}

.card-effect-noshadow:hover {
    transform: translateY(-15px);
    border: 2px solid #09ecf830;
}

@media(max-width: 600px) {
    .card-effect-shadow:hover {
        transform: translateY(0px) !important;
        box-shadow: none !important;
    }
}

/* ============  */

/* Classes das animações */
.topdown {
    animation: topdown 700ms 350ms backwards;
}

.bottomup {
    animation: bottomup 700ms 350ms backwards;
}

.leftright {
    animation: leftright 700ms 350ms backwards;
}

.rightleft {
    animation: rightleft 700ms 350ms backwards;
}

.fadein {
    animation: fadein 700ms 350ms backwards;
}

.animation-scaleup {
    animation: scaleup 700ms 350ms backwards;
}

.rotate {
    animation: rotate 700ms 350ms backwards;
}

/* Exemplo de animação com tempo maior */
.topdown-delayed {
    animation: topdown 1s 500ms backwards;
    /* 1 segundo de duração, 500ms de atraso */
}

.bottomup-delayed {
    animation: bottomup 1s 500ms backwards;
}

.leftright-delayed {
    animation: leftright 1s 500ms backwards;
}

.rightleft-delayed {
    animation: rightleft 1s 500ms backwards;
}

.fadein-delayed {
    animation: fadein 1s 500ms backwards;
}

.scaleup-delayed {
    animation: scaleup 1s 500ms backwards;
}

.rotate-delayed {
    animation: rotate 1s 500ms backwards;
}


/* keyframes de animações */
@keyframes topdown {

    0% {
        opacity: 0;
        transform: translateY(-15px);
    }

    100% {
        opacity: 1;
        transform: translateY(0px);
    }

}

@keyframes bottomup {
    0% {
        opacity: 0;
        transform: translateY(15px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes leftright {
    0% {
        opacity: 0;
        transform: translateX(-15px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes rightleft {
    0% {
        opacity: 0;
        transform: translateX(15px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadein {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes scaleup {
    0% {
        opacity: 0;
        transform: scale(0.5);
    }

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

@keyframes rotate {
    0% {
        opacity: 0;
        transform: rotate(45deg);
    }

    100% {
        opacity: 1;
        transform: rotate(0);
    }
}

/* ================== */

.texto-gradiente {
    background: linear-gradient(270deg, #09C9F0 0%, #09ECF8 100%);
    background-size: 400%;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

