div
{
  color: yellow;
  background-color: blue;
}

#testdesc div div
{
  color: blue;
  background-color: yellow;
}

#testchild > div > div
{
  color: blue;
  background-color: yellow;
}

#wildcard div div *
{
  color: blue;
  background-color: yellow;
}

#testfirstchildtext div:first-child
{
  color: blue;
  background-color: yellow;
}

#testfirstchildnotext div:first-child
{
  color: blue;
  background-color: yellow;
}

#testsibling div + div
{
  color: blue;
  background-color: yellow;
}

#testattribute div[class]
{
  color: blue;
  background-color: yellow;
}

#testattributevalue div[class="testattributevalue"]
{
  color: blue;
  background-color: yellow;
}

#testattributevaluespace div[class~="value"]
{
  color: blue;
  background-color: yellow;
}

#testattributevaluelead div[class^="test"]
{
  color: blue;
  background-color: yellow;
}

#testattributevaluetail div[class$="tail"]
{
  color: blue;
  background-color: yellow;
}

#testattributevaluestring div[class*="attr"]
{
  color: blue;
  background-color: yellow;
}

#testattributevaluedash div[class|="test"]
{
  color: blue;
  background-color: yellow;
}

.emptydiv
{
  height: 5px; width: 5px; background-color: red; 
}

#empty *:empty
{
  color: blue;
  background-color: yellow;
}

#notempty *:not(:empty)
{
  color: blue;
  background-color: yellow;
}

#testnthchild: div:nth-child(1)
{
  color: blue;
  background-color: yellow;
}

#testnthchild div:nth-last-child(1)
{
  color: blue;
  background-color: yellow;
}

