pp-halftone {
    position: relative;
    display: block;
    overflow: hidden;
    height: 34px;;
}
pp-halftone::after {
    content: "";
    position: relative;
    display: block;
    width: 100%;
    height: 34px;
    background-repeat: repeat-x;
    background-position: 0 0;
    background-size: clamp(12px, 1.5vw, 18px) auto;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAABECAMAAADeKmfwAAAAS1BMVEUAAAAMMFALMFAQMFAIMFAIMFALMFANMFENMFALMFALMFALMFAMMFAMMFAMMFAMMFAMMFAMMFAMMFAMMFALMFALMFAMMFAMMFAMMFAuC4YdAAAAGHRSTlMAAQEQICEwT1BfYHCPkK6vsL6/z97f7u+u014TAAABVUlEQVRIia2U0ZKDIAxFr5W6StfatVL5/y9dAkZ8SJCdNU8nEOEeOlN4KmD1XAIjNnlZZPiKqhs6uWmLlpd1Lntt3M3Ms9H4Qrt4oF/z4QLHIROi8YbEcagDDG9ITEMOpmNjkWnoHcC904bI8CsvOa8xDFxqVnQan3htXPbaGNlF5948UjO0VuNgN1hyeQzhS4XDO60tuZh4usz0mJYS9OlwkWnoixqbNkSm6+gh0KYrRA7BLcgFlsLKDNsiucD0GtOTs0uBi17MRS/mohcz2KXAY5iMLjCjxtjPIxmFw4uPqRkpgcyVQ6fXfXwMvnWjwt/l7SPrXjuXIu9cN1S67nMe9sBn1WDO300y3yf4FzfhP1Rh+Jmbycv89JjyFbPCP7XhC9U0mXWv+b4P6V6ZC14+h9a9ntU/y//qdjswXG6cxtrQshz4uoAX1NFR93IVQ8sfxH4BaPxllP3yu7gAAAAASUVORK5CYII=');
    /* background image original size: 36px * 68px */
    filter: drop-shadow(0 36px 0 var(--halftone-color, currentColor));
    transform: translateY(-36px);
}

/*---------------------------------------------------------------------------
 *
 *  Animation
 *
 *---------------------------------------------------------------------------*/
 @keyframes pp-shimmer {
    0% {
        background-position: -468px 0;
    }
    100% {
        background-position: 468px 0;
    }
}
pp-shimmer {
    display: block;
    height: 100%;
    animation-duration: 1.8s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-name: pp-shimmer;
    animation-timing-function: linear;
    background-size: 1000px 640px;
    background-image: linear-gradient(to right, rgba(0,0,0,.12) 8%, rgba(0,0,0,.08) 38%, rgba(0,0,0,.12) 54%);
    border-radius: var(--rounded, 0);
}
pp-shimmer img {
    visibility: hidden;
    opacity: 0;
    transition: opacity 300ms;
}
pp-shimmer.loaded {
    animation: none;
    background-image: none;
}
pp-shimmer.loaded img {
    visibility: inherit;
    opacity: 1;
}
