﻿@keyframes shake {
    0%, 100% {
        transform: translateX(0);
    }

    10%, 30%, 50%, 70%, 90% {
        transform: translateX(-3px);
    }

    20%, 40%, 60%, 80% {
        transform: translateX(3px);
    }
}

.shake {
    animation: shake 0.2s ease-in-out;
}

.nav-link {
    position: relative;
    text-decoration: none;
    transition: color 0.3s ease;
    padding: 0.5rem 0.25rem;
    display: inline-block;
}

.nav-link:hover,
.nav-link.active {
    color: #2563eb; /* Tailwind's blue-600 */
}

.nav-link::after,
.nav-link.active::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0.1rem;
    height: 2px;
    width: 0;
    background-color: #2563eb;
    transition: width 0.3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
}

.group:hover .zoom {
    transform: scale(1.05);
}

.zoom {
    will-change: transform;
    transition: transform 0.5s ease-out;
}
html {
    scroll-behavior: smooth;
  }
  button,
[role="button"],
select {
  cursor: pointer;
}