html, body {
  color: black;
  background-color: white;
  font-size: 16px;
  padding: 0;
  margin: 0;
}

body { color: red; }

.table {
  display: table;
  border-collapse: collapse;
  border: blue solid 1pt;
}

.itable { display: inline-table; }
.caption { display: table-caption; }
.cell {
  display: table-cell;
  border: inherit;
}
.row {
  display: table-row;
  border: green dashed 1pt;
}
.rowg { display: table-row-group; }
.head { display: table-header-group; }
.foot { display: table-footer-group; }
.col { display: table-column; }
.colg { display: table-column-group; }
.flex { display: flex; }
.iflex { display: inline-flex; }
.li { display: list-item; }
.ib { display: inline-block; }
.inline { display: inline; }
.columns { columns: 2; height: 4em; }
.contents {
  display: contents;
  align-items: inherit;
  justify-items:inherit;
}
.c1 { color: lime; }
.c2 { background: blue; color: pink; }
.c3 { color: teal; }
.c4 { color: green; }
.c5 { color: silver; }
.c6 { color: cyan; }
.c7 { color: magenta; }
.c8 { color: yellow; }
.c9 { color: grey; }
.c10{ color: black; }
.b { background: inherit; }

/** This is the only difference between references and non-reference styles */
.ref .c2 { background: transparent; }
.ref .b { background:blue; }
.ref div.contents { display: block; }
.ref span.contents { display: inline; }
