.skeleton {
    position: relative;
    background: linear-gradient(90deg, #E5E5E5 0%, #F2F2F2 100%);
    color: transparent !important;
    border-color: transparent !important;
    user-select: none;
    cursor: wait;
    border-radius: 3px;
    background-size: 200% 100%;
    animation: Pulse 1s linear infinite;
}

.skeleton * {
    visibility: hidden !important;
}

.skeleton:empty::after, .skeleton *:empty::after {
    content: "\00a0";
}

.skeleton:has(p){
    height: calc(20px + (2 * 15px));
    display: flex;
    /*height: 20px;*/
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /*gap: 15px;*/
    /*margin: 0px;*/
    background: none !important;
    box-sizing: border-box;

}
.skeleton:has(p)::before, .skeleton:has(p)::after {
    content: "\00a0";
    display: block;
    height: 20px;
    width: 100%;

    background: linear-gradient(90deg, #C9CDE3 0%, #D6DBF2 100%);
    border-radius: 3px;
    animation: Pulse 1s linear infinite;
    background-size: 200% 100%;
}
.skeleton:has(img){
    height: auto;
    min-height: 100px;
    border-radius: 8px;
    aspect-ratio: 1/1;
}

@keyframes Pulse {
    0% { background-position: 100% 0; }
    50% { background-position: 0 0; }
    100% { background-position: 0 0; }
}