/* Fonts */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 100;
  src: url('lato-v11-latin-regular.eot');
  src: local('Lato'), local('Lato'),
  url('lato-v11-latin-100.eot?#iefix') format('embedded-opentype'),
  url('lato-v11-latin-100.woff') format('woff'),
  url('lato-v11-latin-100.ttf') format('truetype');
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('lato-v11-latin-regular.eot');
  src: local('Lato'), local('Lato'),
  url('lato-v11-latin-regular.eot?#iefix') format('embedded-opentype'),
  url('lato-v11-latin-regular.woff') format('woff'),
  url('lato-v11-latin-regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('open-sans-v13-latin-regular.eot');
  src: local('Open Sans'), local('OpenSans'),
  url('open-sans-v13-latin-regular.eot?#iefix') format('embedded-opentype'),
  url('open-sans-v13-latin-regular.woff') format('woff'),
  url('open-sans-v13-latin-regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 400;
  src: url('source-code-pro-v6-latin-regular.eot');
  src: local('Source Code Pro'), local('SourceCodePro-Regular'),
  url('source-code-pro-v6-latin-regular.eot?#iefix') format('embedded-opentype'),
  url('source-code-pro-v6-latin-regular.woff') format('woff'),
  url('source-code-pro-v6-latin-regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 700;
  src: url('source-code-pro-v6-latin-700.eot');
  src: local('Source Code Pro Bold'), local('SourceCodePro-Bold'),
  url('source-code-pro-v6-latin-700.eot?#iefix') format('embedded-opentype'),
  url('source-code-pro-v6-latin-700.woff') format('woff'),
  url('source-code-pro-v6-latin-700.ttf') format('truetype');
}

* {
  color: inherit;
  text-decoration: none;
  font-family: "Lato", Arial, sans-serif;
  border-width: 0px;
  margin: 0px;
}

a {
  cursor: pointer;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

span.entity > a {
  padding: 0.1em 0.5em;
  margin-left: 0.2em;
}

span.entity > a.selected {
  background-color: #C2D2DC;
  border-radius: 0.2em;
}

html {
  background-color: #f0f3f6;
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}

textarea, input { outline: none; }

#library {
    display: none;
}

#browser {
  width: 17.5em;
  top: 0px;
  left: 0;
  bottom: 0px;
  display: block;
  position: fixed;
  background-color: #f0f3f6;
}

#browser.full-screen {
  left: -17.5em;
}

#search {
  background-color: #103a51; /* typesafe blue */
  min-height: 5.5em;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3em;
  min-height: initial;
  z-index: 103;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.18), 0 4px 8px rgba(0, 0, 0, 0.28);
}

#search > h1 {
  font-size: 2em;
  position: absolute;
  left: 0.25em;
  top: 0.5em;
}

#search > h2 {
  position: absolute;
  left: 3.8em;
  top: 3em;
}

#search > img.scala-logo {
  width: 3em;
  height: auto;
  position: absolute;
  left: 5.8em;
  top: 0.43em;
}

#search > span.toggle-sidebar {
  position: absolute;
  top: 0.8em;
  left: 0.2em;
  color: #fff;
  z-index: 99;
  width: 1.5em;
  height: 1.5em;
}

#search > span#doc-title {
  color: #fff;
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 18em;
  text-align: center;
  cursor: pointer;
  z-index: 2;
}

#search > span#doc-title > span#doc-version {
  color: #c2c2c2;
  font-weight: 100;
  font-size: 0.72em;
  display: inline-block;
  width: 12ex;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#search > span#doc-title > span#doc-version:hover {
  overflow: visible;
}

#search > span.toggle-sidebar:hover {
  cursor: pointer;
}

/* Pseudo element replacing UTF8-symbol "Trigram From Heaven" */
#search > span.toggle-sidebar:before {
  position: absolute;
  top: -0.45em;
  left: 0.45em;
  content: "";
  display: block;
  width: 0.7em;
  -webkit-box-shadow: 0 0.8em 0 1px #fff, 0 1.1em 0 1px #fff, 0 1.4em 0 1px #fff;
  box-shadow: 0 0.8em 0 1px #fff, 0 1.1em 0 1px #fff, 0 1.4em 0 1px #fff;
}

#search > span.toggle-sidebar:hover:before {
  -webkit-box-shadow: 0 0.8em 0 1px #c2c2c2, 0 1.1em 0 1px #c2c2c2, 0 1.4em 0 1px #c2c2c2;
  box-shadow: 0 0.8em 0 1px #c2c2c2, 0 1.1em 0 1px #c2c2c2, 0 1.4em 0 1px #c2c2c2;
}

#textfilter > .pre {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 23px;
  width: 21px;
}

#textfilter {
  position: absolute;
  top: 0.5em;
  bottom: 0.8em;
  left: 0;
  right: 0;
  display: block;
  height: 2em;
}

#textfilter > .input {
  position: relative;
  display: block;
  padding: 0.2em;
  max-width: 48.5em;
  margin: 0 auto;
}

#textfilter > .input > i#search-icon {
  color: rgba(255,255,255, 0.4);
  position: absolute;
  left: 0.34em;
  top: 0.3em;
  font-size: 1.3rem;
}

#textfilter > span.toggle {
  cursor: pointer;
  padding-left: 15px;
  position: absolute;
  left: -0.55em;
  top: 3em;
  z-index: 99;
  color: #fff;
  font-size: 0.8em;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

#textfilter > span.toggle:hover {
  color: #c2c2c2;
}

#textfilter > span.toggle:hover {
  cursor: pointer;
}

#textfilter > .hide:hover {
  cursor: pointer;
  color: #a2a2a2;
}

#textfilter > .input > input {
  font-family: "Open Sans";
  font-size: 0.85em;
  height: 2em;
  padding: 0 0 0 2.1em;
  color: #fff;
  width: 100%;
  border-radius: 0.2em;
  background: rgba(255, 255, 255, 0.2);
}


#textfilter > .input > input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.4);
}

#textfilter > .input > input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.4);
}

#textfilter > .input > input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.4);
}

#textfilter > .input > input:-moz-placeholder {
  color: rgba(255, 255, 255, 0.4);
}

#focusfilter > .focusremove:hover {
  text-decoration: none;
}

#textfilter > .input > .clear {
  display: none;
  position: absolute;
  font-size: 0.9em;
  top: 0.7em;
  right: 0.1em;
  height: 23px;
  width: 21px;
  color: rgba(255, 255, 255, 0.4);
}

#textfilter > .input > .clear:hover {
  cursor: pointer;
  color: #fff;
}

#focusfilter {
  font-size: 0.9em;
  position: relative;
  text-align: center;
  display: none;
  padding: 0.6em;
  background-color: #f16665;
  color: #fff;
  margin: 3.9em 0.55em 0 0.35em;
  border-radius: 0.2em;
  z-index: 1;
}

div#search-progress {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.25em;
}

div#search-progress > div#progress-fill {
  width: 0%;
  background-color: #f16665;
  transition: 0.1s;
}

#focusfilter .focuscoll {
  font-weight: bold;
}

#focusfilter a.focusremove {
  margin-left: 0.2em;
  font-size: 0.9em;
}

#kindfilter-container {
  position: fixed;
  display: block;
  z-index: 99;
  bottom: 0.5em;
  left: 0;
  width: 17.25em;
}

#kindfilter {
  float: right;
  text-align: center;
  padding: 0.3em 1em;
  border-radius: 0.8em;
  background: #f16665;
  border-bottom: 2px solid #d64546;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #fff;
  font-size: 0.8em;
}

#kindfilter:hover {
  cursor: pointer;
  background-color: rgb(226, 87, 88);
}

#letters {
  position: relative;
  text-align: center;
  border: 0;
  margin-top: 0em;
  color: #fff;
}

#letters > a, #letters > span {
  color: #fff;
  font-size: 0.67em;
  padding-right: 2px;
}

#letters > a:hover {
  text-decoration: none;
  color: #c2c2c2;
}

#letters > span {
  color: #bbb;
}

div#content-scroll-container {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  overflow-x: hidden;
  overflow-y: auto;
}

div#content-container {
  max-width: 1140px;
  margin: 0 auto;
}

div#content-container > div#content {
  -webkit-overflow-scrolling: touch;
  display: block;
  overflow-y: hidden;
  max-width: 1140px;
  margin: 4em auto 0;
}

div#content-container > div#subpackage-spacer {
  float: right;
  height: 100%;
  margin: 1.1rem 0.5rem 0 0.5em;
  font-size: 0.8em;
  min-width: 8rem;
}

div#packages > h1 {
  color: #103a51;
}

div#packages > ul {
  list-style-type: none;
}

div#packages > ul > li {
  position: relative;
  margin: 0.5rem 0;
  width: 100%;
  border-radius: 0.2em;
  min-height: 1.5em;
  padding-left: 2em;
}

div#packages > ul > li.current-entities {
  margin: 0.3rem 0;
}

div#packages > ul > li.current:hover {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  cursor: pointer;
}

div#packages > ul > li.current-entities > *:nth-child(1),
div#packages > ul > li.current-entities > *:nth-child(2) {
  float: left;
  display: inline;
  height: 1rem;
  width: 1rem;
  margin: 1px 0 0 0;
  cursor: pointer;
}

div#packages > ul > li > a.class {
  background: url("class.svg") no-repeat center;
  background-size: 0.9rem;
}

div#packages > ul > li > a.trait {
  background: url("trait.svg") no-repeat center;
  background-size: 0.9rem;
}

div#packages > ul > li > a.object {
  background: url("object.svg") no-repeat center;
  background-size: 0.9rem;
}

div#packages > ul > li > a.abstract.type {
  background: url("abstract_type.svg") no-repeat center;
  background-size: 0.9rem;
}

div#packages > ul > li > a {
  text-decoration: none !important;
  margin-left: 1px;
  font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace;
  font-size: 0.9em;
}

/* Indentation levels for packages */
div#packages > ul > li.indented0  { padding-left: 0em; }
div#packages > ul > li.indented1  { padding-left: 1em; }
div#packages > ul > li.indented2  { padding-left: 2em; }
div#packages > ul > li.indented3  { padding-left: 3em; }
div#packages > ul > li.indented4  { padding-left: 4em; }
div#packages > ul > li.indented5  { padding-left: 5em; }
div#packages > ul > li.indented6  { padding-left: 6em; }
div#packages > ul > li.indented7  { padding-left: 7em; }
div#packages > ul > li.indented8  { padding-left: 8em; }
div#packages > ul > li.indented9  { padding-left: 9em; }
div#packages > ul > li.indented10 { padding-left: 10em; }
div#packages > ul > li.current.indented0  { padding-left: -0.5em }
div#packages > ul > li.current.indented1  { padding-left: 0.5em }
div#packages > ul > li.current.indented2  { padding-left: 1.5em }
div#packages > ul > li.current.indented3  { padding-left: 2.5em }
div#packages > ul > li.current.indented4  { padding-left: 3.5em }
div#packages > ul > li.current.indented5  { padding-left: 4.5em }
div#packages > ul > li.current.indented6  { padding-left: 5.5em }
div#packages > ul > li.current.indented7  { padding-left: 6.5em }
div#packages > ul > li.current.indented8  { padding-left: 7.5em }
div#packages > ul > li.current.indented9  { padding-left: 8.5em }
div#packages > ul > li.current.indented10 { padding-left: 9.5em }

div#packages > ul > li.current > span.symbol {
  border-left: 0.25em solid #72D0EB;
  padding-left: 0.25em;
}

div#packages > ul > li > span.symbol > a {
  text-decoration: none;
}

div#packages > ul > li > span.symbol > span.name {
  font-weight: normal;
}

div#packages > ul > li .fullcomment,
div#packages > ul > li .modifier_kind,
div#packages > ul > li .permalink,
div#packages > ul > li .shortcomment {
  display: none;
}

div#search-results {
  color: #103a51;
  position: absolute;
  left: 0;
  top: 3em;
  right: 0;
  bottom: 0;
  background-color: rgb(240, 243, 246);
  z-index: 101;
  overflow-x: hidden;
  display: none;
  padding: 1em;
  -webkit-overflow-scrolling: touch;
}

div#search > span.close-results {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  position: fixed;
  top: 0.8em;
  left: 1em;
  color: #fff;
  display: none;
  z-index: 1;
}

div#search > span.close-results:hover {
  cursor: pointer;
}

div#results-content {
  max-width: 1140px;
  margin: 0 auto;
}

div#results-content > span.search-text {
  margin-left: 1em;
  font-size: 1.2em;
  float: left;
  width: 100%;
}

div#results-content > span.search-text > span.query-str {
  font-weight: 900;
}

div#results-content > div > h1.result-type {
  font-size: 1.5em;
  margin: 1em 0 0.3em;
  font-family: "Open Sans";
  font-weight: 300;
  border-bottom: 1px solid #103a51;
}

div#results-content > div#entity-results {
  float: left;
  width: 50%;
  padding: 1em;
  display: inline;
}

div#results-content > div#member-results {
  float: left;
  width: 50%;
  padding: 1em;
  display: inline;
}

div#results-content > div#member-results > a.package,
div#results-content > div#entity-results > a.package {
  font-size: 1em;
  margin: 0 0 1em 0;
  color: #f16665;
  cursor: pointer;
}

div#results-content > div#member-results > ul.entities,
div#results-content > div#entity-results > ul.entities {
  list-style-type: none;
  padding-left: 0;
}

div#results-content > div#member-results > ul.entities > li,
div#results-content > div#entity-results > ul.entities > li {
  margin: 0.5em 0;
}

div#results-content > div#member-results > ul.entities > li > .icon,
div#results-content > div#entity-results > ul.entities > li > .icon {
  float: left;
  display: inline;
  height: 1em;
  width: 1em;
  margin: 0.23em 0 0;
  cursor: pointer;
}

div#results-content > div#member-results > ul.entities > li > .icon.class,
div#results-content > div#entity-results > ul.entities > li > .icon.class {
  background: url("class.svg") no-repeat center;
  background-size: 1em 1em;
}

div#results-content > div#member-results > ul.entities > li > .icon.trait,
div#results-content > div#entity-results > ul.entities > li > .icon.trait {
  background: url("trait.svg") no-repeat center;
  background-size: 1em 1em;
}

div#results-content > div#member-results > ul.entities > li > .icon.object,
div#results-content > div#entity-results > ul.entities > li > .icon.object {
  background: url("object.svg") no-repeat center;
  background-size: 1em 1em;
}

div#results-content > div#member-results > ul.entities > li > span.entity,
div#results-content > div#entity-results > ul.entities > li > span.entity {
  font-size: 1.1em;
  font-weight: 900;
}

div#results-content > div#member-results > ul.entities > li > ul.members,
div#results-content > div#entity-results > ul.entities > li > ul.members {
  margin-top: 0.5em;
  list-style-type: none;
  font-size: 0.85em;
  margin-left: 0.2em;
}

div#results-content > div#member-results > ul.entities > li > ul.members > li,
div#results-content > div#entity-results > ul.entities > li > ul.members > li {
  margin: 0.5em 0;
}

div#results-content > div#member-results > ul.entities > li > ul.members > li > span.kind,
div#results-content > div#member-results > ul.entities > li > ul.members > li > span.tail,
div#results-content > div#entity-results > ul.entities > li > ul.members > li > span.kind,
div#results-content > div#entity-results > ul.entities > li > ul.members > li > span.tail {
  margin-right: 0.6em;
  font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace;
}

div#results-content > div#member-results > ul.entities > li > ul.members > li > span.kind {
  font-weight: 600;
}

div#results-content > div#member-results > ul.entities > li > ul.members > li > a.label,
div#results-content > div#entity-results > ul.entities > li > ul.members > li > a.label {
  color: #2C3D9B;
  font-family: "Source Code Pro", "Monaco", "Ubuntu Mono Regular", "Lucida Console", monospace;
}

/** Scrollpane settings needed for jquery.scrollpane.min.js */
.jspContainer {
  overflow: hidden;
  position: relative;
}

.jspPane {
  position: absolute;
}

.jspVerticalBar {
  position: absolute;
  top: 0;
  right: 0;
  width: 0.6em;
  height: 100%;
  background: transparent;
}

.jspHorizontalBar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 16px;
  background: red;
}

.jspCap {
  display: none;
}

.jspHorizontalBar .jspCap {
  float: left;
}

.jspTrack {
  background: #f0f3f6;
  position: relative;
}

.jspDrag {
  display: none;
  background: rgba(0, 0, 0, 0.35);
  position: relative;
  top: 0;
  left: 0;
  cursor: pointer;
}

#tpl:hover .jspDrag {
  display: block;
}

.jspHorizontalBar .jspTrack,
.jspHorizontalBar .jspDrag {
  float: left;
  height: 100%;
}

.jspArrow {
  background: #50506d;
  text-indent: -20000px;
  display: block;
  cursor: pointer;
  padding: 0;
  margin: 0;
}

.jspArrow.jspDisabled {
  cursor: default;
  background: #80808d;
}

.jspVerticalBar .jspArrow {
  height: 16px;
}

.jspHorizontalBar .jspArrow {
  width: 16px;
  float: left;
  height: 100%;
}

.jspVerticalBar .jspArrow:focus {
  outline: none;
}

.jspCorner {
  background: #eeeef4;
  float: left;
  height: 100%;
}

/* CSS Hack for IE6 3 pixel bug */
* html .jspCorner {
  margin: 0 -3px 0 0;
}

/* Media query rules for smaller viewport */
@media only screen /* Large screen with a small window */
and (max-width: 1300px)
{
  #textfilter {
    left: 17.8em;
    right: 0.35em;
  }

  #textfilter .input {
    max-width: none;
    margin: 0;
  }
}

@media only screen /* Large screen with a smaller window */
and (max-width: 800px)
{
  div#results-content > div#entity-results {
    width: 100%;
    padding: 0em;
  }

  div#results-content > div#member-results {
    width: 100%;
    padding: 0em;
  }
}

/* Media query rules specifically for mobile devices */
@media
screen /* HiDPI device like Nexus 5 */
and (max-device-width: 360px)
and (max-device-height: 640px)
and (-webkit-device-pixel-ratio: 3)
,
screen /* Most mobile devices  */
and (max-device-width: 480px)
and (orientation: portrait)
,
only screen /* iPhone 6 */
and (max-device-width: 667px)
and (-webkit-device-pixel-ratio: 2)
{
  div#content-container > div#subpackage-spacer {
      display: none;
  }

  div#content-container > div#content {
    margin: 3.3em auto 0;
  }

  #search > span#doc-title {
    width: 100%;
    text-align: left;
    padding-left: 0.7em;
    top: 0.95em;
    z-index: 1;
  }

  #search > div#textfilter {
    z-index: 2;
  }

  #search > span#doc-title > span#doc-version {
    display: none;
  }

  #textfilter {
    left: 12.2em;
  }
}
