.definition {
  border: 3px;
  border-style: solid;
  border-color: #ff0000;
  padding: 1em;
  margin: 1em 0;
  background-color: #ff000012;
}

.definition > p {
  margin: 0;
}

.theorem {
  border: 3px;
  border-style: solid;
  border-color: #007bff;
  padding: 1em;
  margin: 1em 0;
  background-color: #c8ecf4;
}

.theorem > p {
  margin: 0;
}

.proof {
  padding: 1em;
  background: #eef;
  border-top: 10px solid #ddf;
  border-left: 10px solid #ddf;
  border-right: 10px solid #ddf;
  border-bottom: 10px solid #ddf;
  border-bottom-left-radius: 10px;
  -moz-border-radius-bottomleft: 10px;
  border-bottom-right-radius: 10px;
  -moz-border-radius-bottomright: 10px;
}

.proof p {
  margin-bottom: 0px;
}

.btn-proof {
  background-color: #ddf;
  border-color: black;
  font-weight: bold;
}

.collapse_panel {
  width: 100%;
  text-align: left;
  background-color: #999;
  border: #ccc;
  display: block;
  margin: 10px 0;
}

.separator {
  margin: 10;
  display: flex;
  align-items: center;
  text-align: center;
  color: a94442;
  font-family: -webkit-pictograph;
  font-size: large;
}

.separator::before, .separator::after {
      content: ' ';
      flex: 1;
      border-bottom: 3px dashed #a94442;
      border-top: 3px dashed;
      padding: 2;
  }

.separator:not(:empty)::before {
  margin-right: .50em;
}

.separator:not(:empty)::after {
  margin-left: .50em;
}