@keyframes skeleton-loading {
    0% {
        background-position: -200px 0;
    }
    100% {
        background-position: calc(200px + 100%) 0;
    }
}

.skeleton {
    background-color: #eee;
    background-image: linear-gradient(90deg, #eee, #f5f5f5, #eee);
    background-size: 200px 100%;
    background-repeat: no-repeat;
    display: inline-block;
    position: relative;
    overflow: hidden;
    animation: skeleton-loading 1.5s infinite;
}

.skeleton-text {
    height: 1em;
    width: 100%;
    margin: 0.5em 0;
    border-radius: 4px;
}

.skeleton-circle {
    border-radius: 50%;
}

.skeleton-rect {
    border-radius: 4px;
}
