/* // COVERS // */
.cover{ 
    --img: none;
    z-index: 0;
}

.cover::before
{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.cover:not(.cover-wait)::before
{
    background-size: cover;
    background-position: center;
    background-image: var(--img);
    z-index: 0;
}

.cover.cover-fix::before
{
    background-attachment: fixed;
}

.cover.grain::after
{
    filter: contrast(100%) brightness(0%) grayscale(1);
    opacity: .2;
    background-image:
  	url("data:image/svg+xml,<svg width='1080' height='1080' xmlns='http://www.w3.org/2000/svg'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='3.5' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)'/></svg>");
}

.cover.solid{ background-color: var(--background); }

.cover[class^='pattern-']::after,
.cover[class*=' pattern-']::after,
.cover[style*='--pattern:']::after
{
    content: '';
    display: block;
    background-color: var(--shading);
    mask-image: var(--pattern);
    -webkit-mask-image: var(--pattern);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
}

.cover.pat-cover[class^='pattern-']::after,
.cover.pat-cover[class*=' pattern-']::after,
.cover.pat-cover[style*='--pattern:']::after
{
    mask-size: cover;
    -webkit-mask-size: cover;
}

.cover.pat-super[class^='pattern-'][class^='img-']::before,
.cover.pat-super[class^='pattern-'][class*=' img-']::before,
.cover.pat-super[class*=' pattern-'][class^='img-']::before,
.cover.pat-super[class*=' pattern-'][class*=' img-']::before,
.cover.pat-super[style*='--pattern:'][style*='--img:']::before
{
    z-index: -1;
}

.cover.pat-contain[class^='pattern-']::after,
.cover.pat-contain[class*=' pattern-']::after,
.cover.pat-contain[style*='--pattern:']::after
{
    mask-size: contain;
    -webkit-mask-size: contain;
}
