@charset "utf-8";

$fonts: verdana, tahoma, arial;

@import "colors";

@mixin box-sizing-box() {
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
  box-sizing: border-box;         /* Opera/IE 8+ */
}


/*
  Search for: [orth=erstens]
*/

ol {
  width: auto;
  overflow: hidden;
  list-style-type: none;
  margin: 0;
  padding: 0;
  text-indent: 0;
  border: 1px solid $kwic-border;
  font: {
    family: $fonts;
    size: 10pt;
  }
  text-shadow: 1px 1px rgba(255, 255, 255, 0.4);
  > li {
    border: {
      style: solid;
      color: #ffa500;
      width: 0;
    }
    &:not(.active):not(:target) {
      width: 99999%;
      margin-left: -49999.5%;
      background-color: $kwic-line-noneven;
      overflow: hidden;
      white-space: no-wrap;
      cursor: pointer;
      padding: 5pt 0 6pt 0;
      text-indent: 0;
      &:nth-of-type(even) {
        background-color: $kwic-line-even;
      }
    }
    > div {
      > div.snippet > span {
        white-space: no-wrap !important;
        > span {
          white-space: no-wrap !important;
        }
        color: #666;
        &.match {
          font-weight: bold;
          text-shadow: $kwic-match-shadow;
          color: $kwic-match-color;
          padding-left: 4pt;
          padding-right: 2pt;
        }
      }
    }
  }
}

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

ol.free-aligned > li:not(.active):not(:target) > div > 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 > div.snippet > span.right {
  text-align: left;
}

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

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

/* Highlights */
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: $kwic-highlight-0; }
.class-1 { border-color: $kwic-highlight-1; }
.class-2 { border-color: $kwic-highlight-2; }


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

/* active view */
ol > li.active,
ol > li:target {
  text-align: left;
  width: auto;
  cursor: normal;
  white-space: wrap;
  height: auto;
  border-width: 2px;
  background-color: $light-orange;
  position: relative;
  > div {
    min-height: 42pt;
    > div.snippet {
      margin: 5pt 10pt;
      margin-right: 3em;
      > span {
        line-height: 1.4em;
        width: auto;
        &.context-left {
          margin-left: 0;
          display: inline;
          overflow: visible;
          text-align: left;
          width: auto;
        }
      }
    }
  }
}

/* Actions */
ol > li {
  ul.action {
    display: none;
    > li {
      cursor: pointer;
      color: white;
      text-decoration: none;
    }
  }
  /* active actions */
  &.active, &:target {
    ul.action {
      background-color: $dark-orange;
      font-size: 12pt;
      color: white;
      text: {
        shadow: none;
        indent: 0;
      }
      display: block;
      margin: 0;
      padding: 0;
      z-index: 4;
      list-style: {
        type: none;
        position: inline;
      }
      &.right {
        position: absolute;
        float: right;
        text-align: center;
        padding: 0pt 3pt;
        height: 100%;
        width: 1.2em;;
        right: 0;
        top: 0;
      }
    }
  }
  &:not(.active):not(:target) p {
    display: none;
  }
  &.active p, &:target p {
    @include box-sizing-box();
    padding-right: 2em;
    background-color: $dark-orange;
    color: white;
    text-shadow: none;
    padding: 3pt 10pt;
    margin: 0pt;
    width: 100%;
    bottom: 0;
    z-index: 300;
  }
}


