@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes goyang {
  25% {
    transform: rotate(45deg);
  }
  75% {
    transform: rotate(-45deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes mondarmandir {
  25% {
    transform: translate(-5px, 0px);
  }
  75% {
    transform: translate(5px, 0px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}
@keyframes detailsopen {
  0% {
    margin-left: -100px;
    opacity: 0;
  }
  100% {
    margin-left: 0px;
    opacity: 1;
  }
}
/**
 * Animasi placeholder
 */
@keyframes placeholderAnimation {
  0% {
    background-position: -200% center;
  }
  100% {
    background-position: 200% center;
  }
}
.bullet-flip {
  transform: rotate(90deg);
}
.content > div {
  margin-bottom: 1em;
}
.content > div.scrollable {
  overflow-x: auto;
}
.content figure div {
  margin-bottom: 0;
}
.content ul {
  margin-bottom: 1em;
  padding: 0 0 0 2em;
}
.content ul li {
  display: block;
  padding: 0 0 0 1em;
}
.content ul li:before {
  display: block;
  float: left;
  margin: 0 0 0 -2em;
  font-family: Material Design Icons;
  content: "\f0766";
  color: var(--color-primary) /*@color-text-accent*/;
  transform: scale(1, -1) rotate(90deg);
}
.content ul li:nth-child(16n   ):before {
  content: '\f0a9e';
  transform: rotate(90deg);
}
.content ul li:nth-child(16n+15):before {
  content: '\f0a9f';
  transform: rotate(90deg);
}
.content ul li:nth-child(16n+14):before {
  content: '\f0aa0';
  transform: rotate(90deg);
}
.content ul li:nth-child(16n+13):before {
  content: '\f0aa1';
  transform: rotate(90deg);
}
.content ul li:nth-child(16n+12):before {
  content: '\f0aa2';
  transform: rotate(90deg);
}
.content ul li:nth-child(16n+11):before {
  content: '\f0aa3';
  transform: rotate(90deg);
}
.content ul li:nth-child(16n+10):before {
  content: '\f0aa4';
  transform: rotate(90deg);
}
.content ul li:nth-child(16n+ 9):before {
  content: '\f0aa5';
  transform: rotate(90deg);
}
.content ul li:nth-child(16n+ 8):before {
  content: '\f0aa4';
}
.content ul li:nth-child(16n+ 7):before {
  content: '\f0aa3';
}
.content ul li:nth-child(16n+ 6):before {
  content: '\f0aa2';
}
.content ul li:nth-child(16n+ 5):before {
  content: '\f0aa1';
}
.content ul li:nth-child(16n+ 4):before {
  content: '\f0aa0';
}
.content ul li:nth-child(16n+ 3):before {
  content: '\f0a9f';
}
.content ul li:nth-child(16n+ 2):before {
  content: '\f0a9e';
}
.content details {
  margin-bottom: 1em;
  padding: 0 1em 0 2em;
  font-size: 0.9em;
  color: var(--color-text);
  opacity: 0.7;
  /*&:before {
      display: block;
      float: right;
      margin: 0 -4em 0 0;
      content: "\01F505";
    }*/
}
.content details[open] {
  opacity: 0.9;
}
.content details[open] summary:before {
  transform: rotate(90deg);
  transition: transform 0.25s ease-in;
}
.content details[open] summary {
  margin-bottom: 10px;
}
.content details summary {
  display: block;
  cursor: pointer;
  font-weight: bold;
  transition: margin 250ms ease, opacity 150ms ease;
}
.content details summary:before {
  float: left;
  margin-right: 1em;
  font-family: Material Design Icons;
  content: '\f040a';
  transition: transform 1s ease-in;
}
.indented {
  margin-left: 1.5em;
}
.centered {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.bold {
  font-weight: bold;
}
.italic {
  font-style: italic;
}
.underline {
  text-decoration: underline;
}
.center {
  text-align: center;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}
/**
 *
 */
.sub-content {
  box-sizing: border-box;
  font-size: 0.8em;
  line-height: 1.5em;
  /**
   * View
   */
  /**
   * Positions
   */
  /**
   * Content types
   */
  /**
   * Parts
   */
}
.sub-content.collapsible {
  padding: 0;
  border: 2px solid var(--color-primary);
  background: rgba(205, 119, 106, 0.1);
  overflow: hidden;
  opacity: 0.5;
}
.sub-content.collapsible[open] {
  opacity: 0.9;
}
.sub-content.collapsible[open]:hover {
  opacity: 1;
}
.sub-content.collapsible:hover {
  opacity: 0.7;
}
.sub-content.collapsible > summary {
  padding: 0.5em 1em;
  background: rgba(0, 0, 0, 0.1);
  cursor: pointer;
  color: var(--color-primary);
}
.sub-content.collapsible > summary [action="open-link"] {
  float: right;
}
.sub-content.collapsible > summary [action="open-link"]:hover {
  color: var(--color-text-strong);
}
.sub-content.collapsible > .inner {
  padding: 0.5em 2em;
}
.sub-content.collapsible[open] > .inner {
  animation: detailsopen 0.5s ease-in;
}
@media only screen and (min-width: 600px) {
  .sub-content.side {
    float: right;
    width: 200px;
    margin-right: -215px;
  }
}
.sub-content.article {
  margin: 0 1em 1em 1em;
  height: auto;
  /*&.open {
      position: fixed;
      width: @width;
      left: auto;
      top: 50px;
      bottom: 100px;
      background: #f8f8f8;
      overflow-y: scroll;

      .content {
        display: block;
        max-height: none;
        min-height: none;
        padding: 10px 20px;
      }
    }*/
}
@media only screen and (max-width: 320px) {
  .sub-content.article {
    margin-left: 50px;
  }
}
.sub-content.article:target {
  position: fixed;
  top: 20px;
  bottom: 90px;
  left: 50%;
  width: 400px;
  background: #3e3e29;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);
  color: #ccc5c2 !important;
  overflow-y: scroll;
}
.sub-content.article:target .title {
  padding: 10px 15px;
}
.sub-content.article:target .content {
  display: block;
}
@media only screen and (max-width: 320px) {
  .sub-content.article:target {
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 45px;
    margin: 0px;
    width: auto;
    font-size: 1em;
  }
}
.sub-content.article .title {
  margin: 0;
  min-height: auto !important;
  padding: 10px 20px;
  border-bottom: 1px solid transparent !important;
  font-weight: bold;
  font-family: PT Sans;
  color: #3e3e29;
  overflow-x: visible !important;
}
.sub-content.article .title:hover {
  background: rgba(0, 0, 0, 0.3);
}
.sub-content.article .title a {
  display: block;
  padding: 0px 0px 0px 45px;
}
.sub-content.article .title a:before {
  float: left;
  margin-left: -45px;
  margin-top: 3px;
  font-size: 35px;
}
.sub-content.article .content {
  display: none;
  margin: 0;
  min-height: 200px;
  padding: 10px 15px;
  overflow: hidden;
}
.sub-content.media {
  display: flex;
  flex-direction: column;
  margin: 0 0 1em 0;
  width: 100%;
  text-align: center;
  /*img, svg {
      max-width: 100%;
    }*/
  /*&.size-larger {
      width: 125%;
    }*/
}
@media only screen and (min-width: 600px) {
  .sub-content.media {
    display: block;
  }
}
.sub-content.media .the-media {
  margin: 0 auto;
  text-align: center;
  overflow: auto;
}
.sub-content.media .media-text {
  margin-top: 1em;
  padding: 0 2em;
  text-align: center;
  order: 2;
}
@media only screen and (min-width: 600px) {
  .sub-content.media .media-text {
    padding: 0em;
    float: right;
    margin-top: 0em;
    margin-right: -250px;
    width: 200px !important;
    text-align: left;
  }
  .sub-content.media .media-text * {
    text-align: left;
  }
}
.sub-content.media p {
  margin: 0;
}
.sub-content.media.size-full .the-media {
  width: 100%;
}
.sub-content.media.size-medium .the-media {
  width: 100%;
}
.sub-content.media.size-small .the-media {
  width: 75%;
}
.sub-content.media.size-tiny .the-media {
  width: 50%;
}
@media only screen and (min-width: 600px) {
  .sub-content.media.size-full .the-media {
    width: 100%;
  }
  .sub-content.media.size-medium .the-media {
    width: 75%;
  }
  .sub-content.media.size-small .the-media {
    width: 50%;
  }
  .sub-content.media.size-tiny .the-media {
    width: 25%;
  }
}
.sub-content .original-text,
.sub-content .inner-text {
  line-height: 1.5em;
}
/**
 * Lists
 */
ol {
  list-style-type: none;
  counter-reset: ol-level-1;
}
ol li {
  display: block;
  clear: left;
  box-sizing: border-box;
  padding: 2px 0px 2px 10px;
  border-left: 2px solid transparent;
}
ol li:hover {
  background: rgba(0, 0, 0, 0.02);
  border-left: 2px solid rgba(0, 0, 0, 0.5);
}
ol li:hover:before {
  background: rgba(0, 0, 0, 0.5);
  color: #f8f8f8;
}
ol li:before {
  float: left;
  clear: left;
  padding: 6px 5px;
  margin: -2px 0px 3px -41px;
  min-width: 30px;
  min-height: 25px;
  box-sizing: border-box;
  counter-increment: ol-level-1;
  content: counter(ol-level-1);
  background: rgba(0, 0, 0, 0.1);
  color: #777;
  text-align: center;
  font-size: 0.7em;
  line-height: 1em;
}
ol ol {
  counter-reset: ol-level-2;
  list-style-type: none;
}
ol ol li:before {
  counter-increment: ol-level-2;
  content: counter(ol-level-2, upper-alpha);
}
/**
 *
 */
blockquote:before {
  float: left;
  margin-left: -45px;
  font-size: 35px;
  content: '\F027e';
  font-family: "Material Design Icons";
  color: var(--color-primary);
}
/**
 *
 */
pre {
  margin-left: 2em;
}
/**
 *
 */
figure {
  position: relative;
}
figure div {
  margin-bottom: 0;
}
figure p,
figure figcaption {
  font-size: 1em;
  color: #3e3e29;
}
figure embed-content {
  display: block;
}
figure:hover .media-links {
  display: block;
}
figure .media-links {
  display: none;
  position: absolute;
  padding: 0;
  bottom: 0px;
  right: 0px;
  background: #00000055;
  font-size: 0.7em;
}
figure .media-links a {
  display: inline-block;
  margin: 0 0em;
  padding: 0.25em 1em;
  color: #fff;
}
figure .media-links a:hover {
  background: #00000088;
}
/**
 *
 */
table {
  margin: 0 auto 1.5em auto;
  border-collapse: collapse;
  font-size: 0.8em;
}
table thead {
  background: hsla(var(--color-hsl), 0.5);
}
table tr:nth-child(2n - 1) {
  background: hsla(var(--color-hsl), 0.2);
}
table th,
table td {
  padding: 0.5em 1em;
  border: 1px solid hsla(var(--color-hsl), 0.5);
}
table th.c,
table td.c {
  text-align: center;
}
table th.r,
table td.r {
  text-align: right;
}
table tr.h,
table th.h,
table td.h,
table col.h {
  background: #ffffff !important;
}
table tr.h1,
table th.h1,
table td.h1,
table col.h1 {
  background: #ffffff !important;
}
table tr.h2,
table th.h2,
table td.h2,
table col.h2 {
  background: #ffffff !important;
}
table tr.h3,
table th.h3,
table td.h3,
table col.h3 {
  background: #ffffff !important;
}
table td[on] {
  color: green;
  font-weight: bold;
}
table td[off] {
  color: #aaa;
}
table.noformat {
  background: transparent;
}
table.noformat > tr,
table.noformat > thead > tr,
table.noformat > tbody > tr {
  background: transparent;
}
table.noformat > tr > td,
table.noformat > thead > tr > td,
table.noformat > tbody > tr > td {
  border: none;
}
table.noformat > tr > th,
table.noformat > thead > tr > th,
table.noformat > tbody > tr > th {
  border: none;
  background: transparent;
}
table.plain > tr,
table.plain > thead > tr,
table.plain > tbody > tr {
  background: transparent;
}
table.plain > tr > th,
table.plain > thead > tr > th,
table.plain > tbody > tr > th {
  background: transparent;
}
table.pack > tr > th,
table.pack > thead > tr > th,
table.pack > tbody > tr > th,
table.pack > tr > td,
table.pack > thead > tr > td,
table.pack > tbody > tr > td {
  padding: 0;
}
table.checker tr {
  background: transparent;
}
table.checker tr td {
  background: hsla(var(--color-hsl), 0.2);
}
table.checker tr td:nth-child(2n) {
  background: hsla(var(--color-hsl), 0.4);
}
table.checker tr:nth-child(2n) {
  background: transparent;
}
table.checker tr:nth-child(2n) td {
  background: hsla(var(--color-hsl), 0.4);
}
table.checker tr:nth-child(2n) td:nth-child(2n) {
  background: hsla(var(--color-hsl), 0.2);
}
/**
 *
 */
table.linear-scale {
  font-size: 1em;
  color: #555;
}
table.linear-scale > tr,
table.linear-scale > thead > tr,
table.linear-scale > tbody > tr {
  background: transparent;
}
table.linear-scale > tr > td,
table.linear-scale > thead > tr > td,
table.linear-scale > tbody > tr > td {
  border: none;
}
table.linear-scale > tr > th,
table.linear-scale > thead > tr > th,
table.linear-scale > tbody > tr > th {
  border: none;
  background: transparent;
}
table.linear-scale tr:first-child {
  border-bottom: 3px solid #888;
}
table.linear-scale td {
  width: 3em;
  text-align: center;
}
table.linear-scale th {
  width: 1em;
  text-align: left;
}
/**
 *
 */
table.horner tr,
table.horner td,
table.horner th {
  border: none;
  background: transparent;
  text-align: center;
  min-width: 2em;
}
table.horner tr td:first-child {
  border-right: 2px solid rgba(0, 0, 0, 0.2);
}
table.horner tr:nth-child(2n) td:not(:first-child) {
  border-bottom: 2px solid rgba(0, 0, 0, 0.2);
}
table.horner tr:nth-child(2n) td:last-child:after {
  float: right;
  margin-right: -20px;
  content: '+';
  color: var(--color-primary) /*@color-text-accent*/;
  font-weight: bold;
}
table.horner tr:nth-child(2n+1):last-child td:first-child {
  border-right: transparent;
}
/**
 *
 */
table.truth-table tr {
  background: transparent;
}
table.truth-table tr:nth-child(4n) td:not(.o),
table.truth-table tr.l td:not(.o) {
  border-bottom: 2px solid rgba(0, 0, 0, 0.6);
}
table.truth-table thead {
  background: transparent;
}
table.truth-table thead th:not(.o) {
  background: rgba(0, 0, 0, 0.1);
}
table.truth-table thead td:not(.o),
table.truth-table thead th:not(.o) {
  border-bottom: 2px solid rgba(0, 0, 0, 0.6);
  border-top: 2px solid rgba(0, 0, 0, 0.6);
}
table.truth-table th {
  font-weight: bold;
}
table.truth-table td,
table.truth-table th {
  border: 1px solid rgba(0, 0, 0, 0.5);
  border-bottom: transparent;
  border-top: transparent;
  background: transparent;
  text-align: center;
}
table.truth-table td.o,
table.truth-table th.o {
  color: rgba(0, 0, 0, 0.5);
  border: transparent;
}
table.truth-table td.h,
table.truth-table th.h {
  font-weight: bold;
}
table.truth-table td.l,
table.truth-table th.l {
  border-bottom: 2px solid rgba(0, 0, 0, 0.6);
}
table.truth-table td.b0,
table.truth-table th.b0 {
  color: #C85B5B;
}
table.truth-table td.b1,
table.truth-table th.b1 {
  color: #6A7326;
  font-weight: bold;
}
/**
 *
 */
table.relation tr {
  background: transparent;
}
table.relation tr:nth-child(2) {
  background: transparent;
}
table.relation tr th:first-child {
  text-align: right;
}
table.relation tr:first-child td,
table.relation tr:first-child th {
  border-top: none;
}
table.relation.rotate-codomain tr:first-child td,
table.relation.rotate-codomain tr:first-child th {
  vertical-align: bottom;
}
table.relation.rotate-codomain tr:first-child td span,
table.relation.rotate-codomain tr:first-child th span {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
table.relation td,
table.relation th {
  min-width: 2em;
  min-height: 2em;
  height: 2em;
  background: transparent;
  text-align: center;
}
table.relation td:first-child,
table.relation th:first-child {
  border-left: none;
}
table.relation td.r {
  color: green;
  font-weight: bold;
}
table.relation td.n {
  color: red;
  font-weight: normal;
}
table.relation td.n:before {
  content: '*';
}
/**
 * Forms
 */
.input input,
.input textarea {
  box-sizing: border-box;
  padding: 3px 5px;
  border: transparent;
  background: rgba(255, 255, 255, 0.5);
  color: #555;
  outline: 1px solid transparent;
}
.input input:focus,
.input textarea:focus {
  border-bottom: 1px solid #888;
  background: #fff;
}
/**
 * Symbol keyboard
 */
.keyboard {
  padding: 10px;
  margin: 0 0 10px 0;
  background: rgba(0, 0, 0, 0.1);
}
.keyboard .key {
  min-width: 50px;
  min-height: 50px;
  padding: 10px;
  margin: 0 5px 5px 0;
  border-radius: 2px;
  background: rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
.keyboard .key:hover {
  background: rgba(0, 0, 0, 0.3);
}
key {
  display: inline-block;
  padding: 3px 4px;
  margin: 0 2px 0 0;
  background: rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 2px;
}
/**
 *
 */
dl dt {
  clear: left;
  font-weight: bold;
  color: var(--color-primary);
}
dl dd:after {
  content: '';
  display: block;
  height: 1em;
  clear: both;
}
@media only screen and (min-width: 600px) {
  dl dt {
    float: left;
    width: 100px;
    text-align: right;
  }
  dl dd {
    margin-left: 120px;
    padding-left: 10px;
    border-left: 3px solid var(--color-primary);
  }
  dl dd:before {
    float: right;
    margin-right: -45px;
    font-size: 35px;
    content: '\f021a';
    font-family: "Material Design Icons";
    color: #7AAC39;
  }
}
/**
 * DList
 */
.dlist {
  display: flex;
  flex-direction: column;
  gap: 0.5em 0;
  margin: 0 0 1em 0;
}
.dlist .line {
  display: grid;
  grid-template-columns: 1fr 10fr;
  gap: 0 1.5em;
  justify-content: center;
  align-items: flex-start;
}
.dlist div {
  margin: 0;
}
/**
 * Dialog
 */
.dlist.dialog .line.custom-cast {
  align-items: center;
}
.dlist.dialog .line .cast {
  padding: 10px 0px;
  width: fit-content;
  font-family: PT Sans;
  font-weight: bold;
  text-align: right;
  color: var(--color-primary);
}
.dlist.dialog .line .cast .rep,
.dlist.dialog .line .cast .name {
  display: block;
  margin: 0;
  padding: 0;
}
.dlist.dialog .line .cast.with-rep {
  padding: 0px;
}
.dlist.dialog .line .cast.with-rep .name {
  display: none;
}
@media only screen and (max-width: 320px) {
}
.dlist.dialog .line .statement {
  margin-right: auto;
  padding-left: 15px;
  padding-bottom: 0.5em;
}
.dlist.dialog .line .statement > *:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 320px) {
  .dlist.dialog .line .statement {
    margin-right: 0px;
  }
}
.dlist.dialog .line .statement .expr,
.dlist.dialog .line .statement .expression {
  color: #777;
  font-style: italic;
  font-size: 0.8em;
}
.dlist.dialog .line.talker .statement {
  display: block;
  width: fit-content;
  max-width: 75%;
  padding: 10px 15px;
  background: hsla(var(--color-hsl), 0.2);
  border-radius: 6px;
  border-left: none;
  color: #3e3e29;
}
.dlist.dialog .line.talker .statement:before {
  position: relative;
  margin-left: -25px;
  content: '';
  float: left;
  border-left: transparent;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 10px solid hsla(var(--color-hsl), 0.2);
}
.dlist.dialog .line.talker .statement:after {
  display: none;
}
.dlist.dialog .line.talker.first {
  grid-template-columns: 10fr 1fr;
}
.dlist.dialog .line.talker.first .cast {
  order: 2;
}
.dlist.dialog .line.talker.first .statement {
  margin-left: auto;
  margin-right: 0;
  width: fit-content;
  text-align: right;
  order: 1;
}
.dlist.dialog .line.talker.first .statement:before {
  position: relative;
  margin-right: -25px;
  content: '';
  float: right;
  border-right: transparent;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid hsla(var(--color-hsl), 0.2);
}
.dlist.dialog .line.narrator,
.dlist.dialog .line.comment {
  grid-template-columns: 1fr;
}
.dlist.dialog .line.narrator .statement,
.dlist.dialog .line.comment .statement {
  display: block;
  margin: 0 1em;
  padding: 0px;
  border-left: transparent;
  font-style: italic;
  color: #5a5a5e;
}
.dlist.dialog .line.narrator .statement:before,
.dlist.dialog .line.comment .statement:before {
  content: '';
}
.dlist.dialog .line.narrator .statement .expr,
.dlist.dialog .line.comment .statement .expr,
.dlist.dialog .line.narrator .statement .expression,
.dlist.dialog .line.comment .statement .expression {
  font-size: 1em;
}
.dlist.dialog .line.comment statement {
  padding: 0;
  text-align: right;
  font-size: 0.8em;
  color: #888;
}
/**
 * Inference
 */
.dlist.inference {
  margin: 0 1em 1em 1em;
  gap: 0;
  color: var(--color-primary);
}
.dlist.inference .line {
  padding: 0.5em 0;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
}
.dlist.inference .line:first-child {
  border-top: 1px dashed rgba(0, 0, 0, 0.1);
}
.dlist.inference .line .cast {
  color: var(--color-primary);
  font-weight: bold;
  text-align: right;
}
.dlist.inference .line .statement:before {
  float: left;
  margin-left: -1em;
  content: ':';
  color: var(--color-primary);
}
.dlist.inference .line .statement:after {
  height: 1px;
}
.dlist.inference .line .statement p {
  margin: 0;
}
.dlist.inference .line .statement *:last-child {
  margin-bottom: 0;
}
.dlist.inference .line.narrator .statement {
  margin: 0.5em 0em 0.5em 0em;
}
/**
 *
 */
dl.comments {
  padding: 1em 1.5em;
  font-size: 0.8em;
  background: rgba(0, 0, 0, 0.05);
}
dl.comments dt.cast {
  display: block;
  margin-left: 50px;
  float: none;
  text-align: left;
  /*&:before {
      display: block;
      float: left;
      margin-left: -50px;
      margin-top: 5px;
      width: 40px;
      height: 40px;
      background: rgba(0, 0, 0, 0.2);
      content: '';
    }*/
}
dl.comments dt.cast .rep {
  display: block;
  float: left;
  margin-left: -50px;
  margin-top: 5px;
  width: 40px;
  height: 40px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 20px;
}
dl.comments dt.cast .rep figure {
  margin: 0px;
  padding: 0px;
}
dl.comments dt.cast .rep img {
  margin: 0px;
  max-width: 40px;
  max-height: 40px;
}
dl.comments dd {
  display: block;
  margin-left: 50px;
  margin-bottom: 2em;
  padding-left: 0px;
  border: transparent;
}
dl.comments dd:after {
  display: block;
  text-align: left;
  font-size: 0.7em;
  content: '\1F44D\1F3FD  \00a0 \00a0 \00a0    \1F44E\1F3FD  \00a0 \00a0 \00a0    REPLY';
  opacity: 0.5;
}
dl.comments dd:before {
  content: none;
}
@media only screen and (min-width: 600px), only screen and (min-width: 320px) and (max-width: 600px) {
  dl.comments {
    margin: 0 1em 1em 1em;
  }
}
/**
 * Inference diagram
 */
.inference-diagram .statement {
  text-anchor: middle;
  alignment-baseline: middle;
  fill: #555;
}
.inference-diagram .label {
  font-size: 0.7em;
  font-weight: bold;
  text-anchor: end;
  alignment-baseline: middle;
  fill: #999;
}
.inference-diagram .label.premise {
  text-anchor: middle;
  alignment-baseline: middle;
}
.inference-diagram .label.inference {
  text-anchor: middle;
  alignment-baseline: baseline;
  font-weight: normal;
  font-size: 0.7em;
  fill: #555;
}
.inference-diagram .label.inference.sim {
  text-anchor: end;
  alignment-baseline: middle;
}
.inference-diagram .box {
  fill: #D1C975;
  stroke: #555;
  stroke-width: 1px;
}
.inference-diagram .box.invalid {
  fill: #adb1f2;
}
.inference-diagram .box.premise {
  fill: #C3DA90;
}
.inference-diagram .line {
  stroke: #555;
}
/**
 *
 */
.tags {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-family: PT Sans;
  font-size: 0.9em;
  line-height: 1.8em;
}
.tags .tag {
  display: inline-block;
  margin: 0 0.5em 0 0;
}
.tags .tag a {
  display: inline-block;
  padding: 0.1em 1em;
  background: #ccc;
  border-radius: 3px;
  cursor: pointer;
  color: #555;
}
.tags .tag a:hover {
  background: #bbb;
}
.content-list {
  margin-top: 1em;
}
.content-list > ul {
  padding: 0;
  margin: 0;
}
.content-list .content-item {
  display: block;
  margin: 0 0 0.7em 0;
  padding: 0;
}
@media only screen and (min-width: 600px) {
  .content-list .content-item {
    margin-bottom: 0em;
  }
}
.content-list .content-item .title {
  display: block;
  padding: 0px 0px 0px 2em;
  min-height: auto;
  font-size: 1em;
  color: var(--color-primary);
}
@media only screen and (min-width: 600px) {
  .content-list .content-item .title {
    padding: 0.5em 0 0.5em 2em;
    font-size: 1.5em;
  }
}
.content-list .content-item .title:before {
  float: left;
  margin-left: -1.3em;
  font-size: 1.5em;
  color: var(--color-primary);
}
.content-list .content-item .description {
  display: block;
  margin: 0;
  padding: 0 0 0 3em;
  font-size: 0.7em;
  line-height: 1.2em;
  color: #3e3e29;
}
@media only screen and (min-width: 600px) {
  .content-list .content-item .description {
    padding-left: 4.5em;
  }
}
.content-list .content-item .description:empty {
  display: none;
}
.content-list .content-item:hover .title {
  color: #3e3e29;
}
.content-list .content-item:hover .title:before {
  color: #3e3e29;
}
.content-list .content-item:hover .description {
  color: #3e3e29;
}
/**
 *
 */
#content .content-list.subs {
  margin-top: 2em;
}
#content .content-list.subs .content-item {
  border-right: 0.5em solid transparent;
}
#content .content-list.subs .content-item:hover {
  border-right-color: var(--color-primary);
}
@media only screen and (min-width: 600px) {
  #content .content-list.subs {
    margin-top: 4em;
  }
}
/**
 * References
 */
#content .references {
  margin-top: 1em;
  border: none;
  border-top: 1px solid var(--color-primary);
  font-size: 0.8em;
}
#content .references header {
  margin: 1em 0;
  border: none;
  font-weight: bold;
  color: var(--color-primary);
}
@media only screen and (max-width: 320px), only screen and (min-width: 320px) and (max-width: 600px) {
  #content .references header {
    margin: 1em 0;
  }
}
#content .references .content-item {
  padding: 0;
  margin: 0 0 0.5em 0;
}
#content .references .content-item a {
  display: block;
  padding: 0 0 0 25px;
}
#content .references .content-item a:before {
  float: left;
  margin-left: -25px;
}
/**
 *
 */
details.example.problem {
  width: 100%;
  margin: 0 0 1em 0;
  padding: 0;
  counter-increment: example-problem;
}
details.example.problem summary {
  margin: 0 0 1em 3em;
  font-size: 100%;
  font-weight: normal;
}
details.example.problem summary:before {
  float: left;
  box-sizing: border-box;
  margin: 0 0 0 -1.5em;
  padding: 0.1em 0.5em 0 0;
  width: 1.5em;
  content: counter(example-problem);
  font-size: 2em;
  font-family: PT Serif;
  text-align: right;
  color: var(--color-accent);
  opacity: 0.5;
  transform: none;
  transition: none;
}
details.example.problem > div {
  margin-top: 100px;
  margin-left: 3em;
  padding: 0.6em 1em;
  border: 1px solid color-mix(in srgb, var(--color-accent) 20%, transparent);
  background-color: color-mix(in srgb, var(--color-accent) 5%, transparent);
  opacity: 0;
}
details.example.problem[open] > div {
  margin-top: 0;
  transition: margin-top 250ms ease, opacity 150ms ease;
  opacity: 1;
}
details.example.problem[open] > div:before {
  opacity: 1;
}
/**
 * Application
 */
.app-title .keywords {
  display: inline-block;
  margin: 0;
  padding: 0;
}
.app-title .keywords li {
  display: inline-block;
  margin: 0 0 0 5px;
  padding: 5px 10px;
  background: rgba(96, 96, 96, 0.8);
  border-radius: 3px;
  line-height: 1em;
  font-size: 0.8em;
}
.process-indicator {
  background: transparent center center no-repeat;
}
.process-indicator.wait {
  background-image: url(/css/loading.svg);
}
.debug [view_id="App.App.button"] button {
  background: #993B33;
}
.debug [view_id="App.UserButton"] button {
  background: #993B33;
}
/**
 * Editors
 */
.editor.webix_drop_file textarea {
  background: #555;
}
.editor textarea {
  font-family: Monospace;
  color: #ddd;
  background: #333;
}
.jsoneditor table {
  margin: 0;
}
.jsoneditor table.jsoneditor-tree td {
  border: transparent;
}
.jsoneditor table.jsoneditor-values td {
  border: transparent;
}
.jsoneditor .jsoneditor-value.jsoneditor-number {
  color: #f8f800 !important;
}
.jsoneditor .jsoneditor-value.jsoneditor-null {
  color: #000;
}
.jsoneditor .jsoneditor-value.jsoneditor-null:before {
  margin-right: 0.5em;
  content: '\1f505';
}
.ace_editor {
  /*.ace_line {
    line-height: 1.5;
  }*/
}
/**
 *
 */
.webix_el_search.check .mdi-alert {
  color: #B8503D;
}
.webix_el_search.check .mdi-check-circle {
  color: #3DB845;
}
.webix_el_content-time input {
  background: #414141;
}
/**
 *
 */
.content-thumbnail {
  padding: 10px;
  overflow: hidden;
  border: none;
}
.content-thumbnail.webix_selected {
  background-color: #ddd;
}
.content-thumbnail.webix_selected .thumbnail {
  opacity: 1;
}
.content-thumbnail .description {
  display: block;
  padding: 15px;
  font-size: 0.7em;
  line-height: 1em;
}
.content-thumbnail .info {
  display: table;
  box-sizing: border-box;
  margin: 0;
  margin-top: -40px;
  padding: 0px;
  width: 100%;
  height: 40px;
  background: rgba(0, 0, 0, 0.5);
  font-size: 0.8em;
  overflow: hidden;
  color: #fff;
  text-align: center;
  line-height: 1em;
}
.content-thumbnail .info .type {
  display: table-cell;
  width: 40px;
  vertical-align: middle;
  text-align: center;
}
.content-thumbnail .info .title {
  display: table-cell;
  overflow: ellipsis;
  vertical-align: middle;
  text-align: left;
}
.content-thumbnail .info .title span {
  display: block;
  padding: 5px 0px;
  max-height: 30px;
  overflow: hidden;
}
.content-thumbnail .thumbnail {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-color: #eee;
  opacity: 0.8;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
}
.content-thumbnail .thumbnail img {
  width: 100%;
  height: 100%;
}
/**
 *
 */
.question-selector-item {
  margin: 0em;
  padding: 0.5em 1em !important;
  background: #44444488;
  border: transparent !important;
}
.question-selector-item .item-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.question-selector-item .item-header .question-id {
  font-family: 'Courier New', Courier, monospace;
  font-weight: bold;
}
.question-selector-item .item-header .question-id:before {
  content: '#';
}
.question-selector-item .item-content > .indicator {
  margin: 0 0 1em 0;
  padding: 0.5em 1em;
  color: #eee;
  font-style: italic;
}
.question-selector-item ul.keywords {
  display: block;
  padding: 0;
  margin: 0;
  text-align: right;
}
.question-selector-item ul.keywords li {
  display: inline-block;
  padding: 4px 6px;
  margin: 0 0 0 4px;
  background: #88888888;
  font-size: 0.8em;
  line-height: 1em;
}
/**
 *
 */
.webix_dtable a[href] {
  color: #818A2E;
  text-decoration: none;
}
.webix_dtable a[href]:hover {
  color: #CFBE6E;
}
.webix_dtable .left {
  text-align: left;
}
.webix_dtable .right {
  text-align: right;
}
.webix_dtable .center {
  text-align: center;
}
.webix_dtable .small {
  font-size: 0.8em;
}
.webix_dtable .dim {
  color: #555;
}
.webix_dtable .ip-address span {
  display: inline-block;
  padding: 5px 5px;
  margin-right: 1px;
  width: 23px;
  background: #ddd;
  border-radius: 3px;
  font-size: 0.8em;
  color: #777;
  line-height: 1em;
  text-align: center;
}
.webix_dtable .ip-address .warning span {
  background: #CB6262;
  color: #eee;
}
.webix_dtable .group-list span {
  display: inline-block;
  padding: 5px 5px;
  margin-right: 0.5em;
  background: #ddd3;
  border-radius: 3px;
  font-size: 0.8em;
  line-height: 1em;
}
.webix_dtable .quiz-result-items .qri {
  display: inline-block;
  padding: 2px 5px;
  margin-right: 2px;
  width: 15px;
  border-radius: 3px;
  text-align: center;
  color: #f8f8f8;
}
.webix_dtable .quiz-result-items .qri:hover {
  background: rgba(255, 255, 255, 0.1);
}
.webix_dtable .quiz-result-items .qri.dreq {
  background: #63215A;
  color: #DFE2A7;
  font-weight: bold;
}
.webix_dtable .webix_hcell {
  background: #777;
  color: #eee;
  border: 1px solid #888 !important;
  border-top: none !important;
  border-bottom: none !important;
  font-size: 0.8em;
  text-transform: uppercase;
}
/**
 *
 */
.webix_dtable .solved {
  color: #888;
}
/**
 *
 */
.webix_dataview .question .keywords {
  display: block;
  margin: 0;
  padding: 0;
}
.webix_dataview .question .keywords .keyword {
  display: inline-block;
  padding: 0;
  margin: 0 3px 2px 0;
  line-height: 1em;
}
.webix_dataview .question .keywords .keyword a {
  display: inline-block;
  padding: 2px 3px;
  background: #ddd;
  color: #000;
  line-height: 1em;
}
/**
 *
 */
.webix_tree .node {
  color: #888;
}
.webix_tree .node.published {
  color: #ddd;
}
.webix_tree .node.modified {
  color: #C76657;
}
/**
 *
 */
/*.webix_listview {

  .icons {

    .icon {
      padding: 10px 15px;

      &.webix_selected {
        background-color: #ccc;
      }

      .info {
        margin: 0;
        padding: 5px;
        font-size: 0.8em;
        color: #555;
      }  
    }

    .thumbnail {
      width: 100%;
      height: 200px;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: contain;
      background-color: #eee;
      border: 1px solid #ddd;

      img {
        width: 100%;
        height: 100%;  
      }
    }

  }

}*/
.webix_dt_editor input,
.webix_dt_editor select,
.webix_dt_editor textarea {
  color: #eee;
  background-color: #666;
  border: none;
}
.webix_dt_editor input::selection,
.webix_dt_editor select::selection,
.webix_dt_editor textarea::selection {
  background-color: #777;
}
.webix_el_box input,
.webix_el_box select,
.webix_el_box textarea {
  color: #eee;
  background-color: #666;
  border: none;
}
.webix_el_box input::selection,
.webix_el_box select::selection,
.webix_el_box textarea::selection {
  background-color: #777;
}
.webix_el_box .webix_inp_static {
  color: #eee;
  background-color: #666;
  border: none;
}
.webix_el_box .webix_inp_static::selection {
  background-color: #777;
}
.webix_el_box .webix_button {
  background: #3EBB70;
}
.webix_menu-x .webix_list_item {
  background: #3EBB70;
}
.webix_accordionitem.collapsed .webix_accordionitem_header {
  background-color: #282828 !important;
}
.webix_window {
  border-width: 8px !important;
}
