/* RTE document typography. All rules are scoped to .typical. */
.typical {
  color: #71717a;
  font-size: 15px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.typical > :first-child { margin-top: 0; }
.typical > :last-child { margin-bottom: 0; }
.typical h1,
.typical h2,
.typical h3,
.typical h4,
.typical h5,
.typical h6 {
  color: #18181b;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.025em;
}
.typical h1 { margin-top: 0; font-size: 2rem; }
.typical h2 { margin-top: 2.5rem; font-size: 1.5rem; }
.typical h3 { margin-top: 2rem; font-size: 1.125rem; }
.typical h4 { margin-top: 1.5rem; font-size: 1rem; }
.typical h5,
.typical h6 { margin-top: 1.25rem; font-size: .9375rem; }
.typical p { margin-top: .75rem; }
.typical ul,
.typical ol {
  margin: .75rem 0;
  padding-left: 1.25rem;
}
.typical ul { list-style-type: disc; }
.typical ol { list-style: decimal; }
.typical ul ul { list-style-type: circle; }
.typical ol ol { list-style-type: lower-alpha; }
.typical li {
  display: list-item;
  padding-left: .25rem;
}
.typical li + li { margin-top: .375rem; }
.typical ol > li::marker {
  color: #18181b;
  font-weight: 500;
}
.typical ul > li::marker {
  color: #71717a;
}
.typical blockquote {
  margin: 1.25rem 0;
  border-left: 3px solid #ff350e;
  padding-left: 1rem;
  color: #52525b;
}
.typical a {
  color: #ff350e;
  text-decoration: underline;
  text-underline-offset: .15em;
}
.typical a:hover { text-decoration-thickness: 2px; }
.typical strong,
.typical b { color: #18181b; font-weight: 600; }
.typical em,
.typical i { font-style: italic; }
.typical hr { margin: 2rem 0; border: 0; border-top: 1px solid rgba(24,24,27,.1); }
.typical img { display: block; max-width: 100%; height: auto; margin: 1.5rem auto; border-radius: 16px; }
.typical figure { margin: 1.5rem 0; }
.typical figcaption { margin-top: .5rem; color: #a1a1aa; font-size: .8125rem; text-align: center; }
.typical table {
  display: table;
  width: 100%;
  min-width: 320px;
  margin: 1.5rem 0;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid hsla(240, 4%, 10%, .08);
  border-radius: 16px;
  background: #fff;
  font-size: .875rem;
  line-height: 1.5;
  text-align: left;
}
.typical th,
.typical td {
  padding: .75rem 1rem;
  vertical-align: top;
  text-align: left;
  border-bottom: 1px solid hsla(240, 4%, 10%, .06);
}
.typical th {
  width: 42%;
  background: hsla(240, 5%, 96%, .7);
  color: #18181b;
  font-weight: 500;
}
.typical td {
  background: #fff;
  color: #71717a;
}
.typical tr:last-child > th,
.typical tr:last-child > td { border-bottom: 0; }
.typical tr:first-child > th:first-child { border-top-left-radius: 15px; }
.typical tr:first-child > td:last-child { border-top-right-radius: 15px; }
.typical tr:last-child > th:first-child { border-bottom-left-radius: 15px; }
.typical tr:last-child > td:last-child { border-bottom-right-radius: 15px; }
.typical pre {
  margin: 1.25rem 0;
  overflow-x: auto;
  border-radius: 12px;
  background: #18181b;
  padding: 1rem;
  color: #fff;
  font-size: .875rem;
  line-height: 1.6;
}
.typical code { border-radius: 4px; background: #f4f4f5; padding: .125rem .3rem; color: #18181b; font-size: .9em; }
.typical pre code { background: transparent; padding: 0; color: inherit; }
@media (max-width: 639px) {
  .typical { font-size: 14px; }
  .typical h1 { font-size: 1.625rem; }
  .typical h2 { font-size: 1.25rem; }
  .typical h3 { font-size: 1rem; }
  .typical table { min-width: 320px; }
  .typical th,
  .typical td { padding: .65rem .75rem; }
}