/*
 * math.css - a collection of theorem environments. Usage is pretty
 * straightforward: use by having divs of the classes below. Numbering
 * is automatic. Environments can be named via the `data-text` attribute.
 */
body {
  counter-reset: theorem;
}

.theorem,
.lemma,
.proposition,
.corollary,
.claim,
.conjecture,
.definition,
.question,
.remark,
.example {
  display: block;
  font-style: italic;
  padding: 0.25em 1em 0.25em 1em;
  margin: 0.25em 1em 0.25em 1em;
  background-color: #E3E3E3;
  counter-increment: theorem;
}

.exercise {
  display: block;
  font-style: italic;
  padding: 0.25em 1em 0.25em 1em;
  margin: 0.25em 1em 0.25em 1em;
  background-color: #E3E3E3;
  counter-increment: theorem;
}

.theorem:before,
.lemma:before,
.proposition:before,
.corollary:before,
.claim:before,
.conjecture:before,
.question:before,
.remark:before,
.definition:before,
.example:before,
.exercise:before {
  font-weight: bold;
  font-style: normal;
}

.theorem:before {
  content: "Theorem " counter(theorem) " ";
}

.theorem[data-text]:before {
  content: "Theorem " counter(theorem) " (" attr(data-text) ") ";
}

.lemma:before {
  content: "Lemma " counter(theorem) " ";
}

.lemma[data-text]:before {
  content: "Lemma " counter(theorem) " (" attr(data-text) ") ";
}

.definition:before {
  content: "Definition " counter(theorem) " ";
}

.definition[data-text]:before {
  content: "Definition " counter(theorem) " (" attr(data-text) ") ";
}


.proposition:before {
  content: "Proposition " counter(theorem) " ";
}

.proposition[data-text]:before {
 content: "Proposition " counter(theorem) " (" attr(data-text) ") ";
}

.corollary:before {
  content: "Corollary " counter(theorem) " ";
}

.corollary[data-text]:before {
  content: "Corollary " counter(theorem) " (" attr(data-text) ") ";
}

.claim:before {
  content: "Claim " counter(theorem) " ";
}

.conjecture:before {
  content: "Conjecture " counter(theorem) " ";
}

.conjecture[data-text]:before {
  content: "Conjecture " counter(theorem) " (" attr(data-text) ") ";
}

.question:before {
  content: "Question " counter(theorem) " ";
}

.remark:before {
  content: "Remark " counter(theorem) " ";
}

.example:before {
  content: "Example " counter(theorem) " ";
}

.exercise:before  {
  content: "Exercise " counter(theorem) " ";
}

.proof:before {
  content: "Proof: ";
}

.proof[data-text]:before {
  content: "Proof of " attr(data-text) ": ";
}
