/* Classes:
     h1.title     the title of the page
     div.coq      encloses all generated body
     div.doc      contents of (** *) comments
     div.footer   footer
     summary.toggleproof   "Proof." line
     div.proofscript  contents of proof script
     span.docright contents of (**r *) comments
     span.bracket contents of [ ] within comments
     span.comment contents of (* *) comments
     span.string  string literals "..."
     span.kwd     Coq keyword
     span.id      any other identifier
*/

* {
    box-sizing: border-box;
}

body {
  font-family: Arial, Helvetica;
  margin: 8px;
  font-size: large;
}

main {
    margin-top: 0em;
}

div.sidebar {
    left: 8px;
    height: 100vh;
    width: 250px;
    position: fixed;
    overflow-y: auto;
}
div.sidebar li {
    list-style: none;
}
div.sidebar ul {
    padding-inline-start: 10px;
}

h1 {
    font-size: 1.5em;
    font-weight: bold;
    align-items: center;
}
h2 {
  margin-left: 0em;
  padding: 0px;
  color: #580909
}

h3 {
  margin-left: 0em;
  padding: 0px;
  color: #C05001;
}

h1, h2, h3 {
  font-family: sans-serif;

}

div.coq {
  margin-left: 250px; /* サイドバーの分だけ右にずらす */
  margin-right: 0%;
  font-family: monospace;

  overflow-x: auto;
  overflow-y: auto;
  height: 100vh;
}

div.doc {
  margin-left: 0%;
  margin-top: 0.2em;
  margin-bottom: 0.5em;
  font-family: serif;
  background-color: #f2f1f1;
}

summary.toggleproof {
  list-style-position: outside;
  font-size: 0.8em;
  text-decoration: underline;
}

div.proofscript {
  font-size: 0.8em;
}

div.footer {
  margin-top: 1em;
  margin-bottom: 1em;
  font-size: 0.8em;
  font-style: italic;
}

span.docright {
  position: absolute;
  left: 60%;
  width: 40%;
  font-family: serif;
}

span.bracket {
  font-family: monospace;
  color: #008000;
}

span.vernacular {
  color:  #9400d3;
}

span.gallina-kwd {
  color:  #228b22;
}

.hierarchy-builder {
  color: #ff4500;
  margin: 2em 0;
  border: solid 1px #cd0000;
}

span.comment {
  color:  #008000;
}

span.string {
  color: Maroon;
}

a:visited {color : #0000BF; text-decoration : none; }
a:link {color : #0000BF; text-decoration : none; }
a:hover {text-decoration : none; }
a:active {text-decoration : none; }

.coq :target {
  background-color: yellow;
  transition: background-color 0.5s;
}

pre.ssrdoc {
    border: solid 2px;
    padding-left: 1em;
    padding-right: 1em;
}

div.ssrdoc {
    border: solid 2px;
    padding-left: 1em;
    padding-right: 1em;
}

div.content {
    margin-left: 0px;
    padding-left: 12px;
}

.warning {
    color: #cd0000;
}

img.img-darkmode-enable {
    isolation: auto;
}

.darkmode--activated .sidebar {
    color: white;
}

.darkmode--activated .sidebar h2 {
    color: #a7f6f6;
}

.darkmode--activated span.katex {
    color: white;
}

.darkmode--activated span.docright {
    color: white;
}

@media screen and (max-width:960px) {

    body {
	font-family: Arial, Helvetica;
	margin-left: 0.5em;
	margin-right: 0.5em;
	font-size: large;
    }

    div.doc {
	margin-left: 0%;
	margin-top: 0.2em;
	margin-bottom: 0.5em;
	font-family: serif;
	background-color: #f2f1f1;
    }

    div.coq {
	margin-left: 1%;
	margin-right: 1%;
	font-family: monospace;
    }

}

.darkmode-toggle {
  z-index: 9999 !important;
}
