<!doctype html>
<html>
<head>
<style>
    * {
        background-color: blue;
        color: blue;
        border: 5px solid black;
    }

    /* The following :is() gets a different class of specificity. Depending on what
       matches, the later rules may override this or not. */
    :is(.classB, target, #classA, *) {
        background-color: red;
        color: purple;
        border: none;
    }

    target {
        background-color: green;
        color: white;
    }
    .classB {
        background-color: blue;
    }
    body > * {
        display: block;
    }
    html, body, p {
        background-color: white;
        color: black;
    }
</style>
</head>
<body>
    <p>This test checks the dynamic specificity of :is() changing the order in which rules are applied depending on the element. Each element should have the colors described in the text and no border.</p>
    <nottarget>Purple text on red background.</nottarget>
    <target>White text on green background.</target>
    <nottarget id="classA">Purple text on red background.</nottarget>
    <target id="classA">Purple text on red background.</target>
    <nottarget class="classB">Purple text on blue background.</nottarget>
    <target class="classB">Purple text on blue background.</target>
    <nottarget id="classA" class="classB">Purple text on red background.</nottarget>
    <target id="classA" class="classB">Purple text on red background.</target>
</body>
</html>
