html {
    scroll-behavior: smooth;
}

.content-auto {
    content-visibility: auto;
}

.text-shadow {
    text-shadow: 0 2px 4px rgb(0 0 0 / 10%);
}

.transition-custom {
    transition: all 0.3s ease-in-out;
}

.card-hover {
    transition: all 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px -5px rgb(0 0 0 / 10%), 0 10px 10px -5px rgb(0 0 0 / 4%);
}

.navbar-fixed {
    position: fixed;
    background: rgb(255 255 255 / 95%);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 10%);
    backdrop-filter: blur(4px);
    animation: home-fade-in 0.3s ease-in-out;
}

.skeleton {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: home-skeleton-loading 1.5s infinite;
}

.wechat-share-preload {
    position: absolute;
    left: -9999px;
    width: 0;
    height: 0;
    opacity: 0;
}

#menuCheck:checked ~ nav .hidden-menu {
    display: block !important;
}

.hidden-menu {
    display: none;
}

.site-shared-footer {
    background-color: #1d2939;
}

.home-case-excerpt {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@keyframes home-fade-in {
    from {
        transform: translateY(-10px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes home-skeleton-loading {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}
