@charset "utf-8";

/*
  light orange: #f4eebb;
  dark orange: #ffa500;
  dark green: #496000;
  light green: #7ba400;

  Search for: [orth=erstens]
*/

ol {
  width: auto;
  overflow: hidden;
  list-style-type: none;
  font-size: 10pt;
  margin: 0;
  padding: 0;
  text-indent: 0;
  border: 1px solid #ccc;
  font-family: verdana, tahoma, arial;
  text-shadow: 1px 1px rgba(255, 255, 255, 0.4);
}

ol > li {
  border-style: solid;
  border-color: #ffa500;
  border-width: 0;
}

ol > li:not(.active) {
  width: 99999%;
  margin-left: -49999.5%;
  background-color: #f5f5f5;
  overflow: hidden;
  white-space: no-wrap;
  cursor: pointer;
  padding: 10px 0;
  text-indent: 0;
}

ol > li:nth-of-type(even) {
  background-color: #ddd;
}

ol > li > div.snippet > span,
ol > li > div.snippet > span > span {
  white-space: no-wrap !important;
}

ol.free-aligned > li:not(.active) > div.snippet > span.left {
  display: inline-block;
  text-align: right;
  width: 50.046%;
}

ol.free-aligned > li:not(.active) > div.snippet > span.separator {
  width: 0px;
  height: 1em;
  margin-bottom: -2px;
  display: inline-block;
  line-height: 100%;
  border: 1px solid #009EE0;
  margin-left: 2px;
  margin-right: 2px;
}

ol.free-aligned > li > div.snippet > span.right {
  text-align: left;
}

ol.left-aligned > li > div.snippet > span.context-left {
  display: inline-block;
  text-align: right;
  width: 50.01%;
}

ol.right-aligned {
  text-align: right;
}

ol.right-aligned > li:not(.active) > div.snippet > span.context-right {
  display: inline-block;
  text-align: left;
  width: 49.915%;
}

li > div.snippet > span {
  color: #666;
}

.match {
  font-weight: bold;
  text-shadow: 1px 1px rgba(255, 255, 255, 0.9);
  color: #111;
  padding-left: 4pt;
  padding-right: 2pt;
}

em, em.level-0 {
  border-bottom-width: 2px;
  border-bottom-style: solid;
  padding-bottom: 0px;
  font-style: normal;
}

em > em, em.level-1 {
  padding-bottom: 3px;
}

em > em > em, em.level-2 {
  padding-bottom: 6px;
}

.class-0 { border-color: #c1002b; }
.class-1 { border-color: #009ee0; }
.class-2 { border-color: #f29400; }

span.more:before {
  content: "…";
  padding-left: 2pt;
  padding-right: 2pt;
}

/* active view */
ol > li.active {
  text-align: left;
  width: auto;
  cursor: normal;
  white-space: wrap;
  height: auto;
  border-width: 2px;
  background-color: #f4eebb;
  position: relative;
  min-height: 68pt;
}

ol > li.active > div.snippet {
  margin: 5pt 10pt;
  margin-right: 3em;
  margin-bottom: 24pt;
}

ol > li.active > div.snippet > span {
  line-height: 1.4em;
  width: auto;
}

ol > li.active > div.snippet > span.context-left {
  margin-left: 0;
  display: inline;
  overflow: visible;
  text-align: left;
  width: auto;
}

/* Korap-Actions: */
ol > li ul.action {
  display: none;
}

ol > li ul.action li {
  cursor: pointer;
  color: white;
  text-decoration: none;
}

ol > li.active ul.action {
  background-color: #ffa500;
  font-size: 12pt;
  color: white;
  text-shadow: none;
  display: block;
  margin: 0;
  padding: 0;
  z-index: 4;
  text-indent: 0;
  list-style-type: none;
  list-style-position: inline;
}

/*
ol > li.active ul.action.right {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 1.2em;
}

ol > li.active ul.action.right li {
  float: left;
  padding-left: 1em;
}
*/

ol > li.active ul.action.right {
  position: absolute;
  float: right;
  text-align: center;
  padding: 0pt 3pt;
  height: 100%;
  width: 1.2em;;
  right: 0;
  top: 0;
}

ol > li:not(.active) p {
  display: none;
}

ol > li.active p {
  background-color: #ffa500;
  color: white;
  text-shadow: none;
  padding: 3pt 10pt;
  margin: 5pt 0pt 0pt 0pt;
  position: absolute;
  width: 100%;
  bottom: 0;
}