
.katex-display > .katex {
    text-align: left !important;
		padding-left: 14px;
}

::not(.katex) {
  /* http://wada811.blogspot.com/2012/12/best-font-family-definitive-edition.html */
  font-family: 'Hiragino Kaku Gothic ProN', Meiryo, 'MS PGothic', Sans-serif;
}

pre * {
  font-family: 'Inconsolata', 'MS Gothic', monospace !important;
}

@media screen {
  body {
  	background-color: #ddc;
  	background-image: -webkit-linear-gradient(-45deg, #ccb 25%, transparent 25%, transparent 50%, #ccb 50%, #ccb 75%, transparent 75%, transparent);
  	background-image: linear-gradient(-45deg, #ccb 25%, transparent 25%, transparent 50%, #ccb 50%, #ccb 75%, transparent 75%, transparent);
  	background-size: 12px 12px;
  }
}

@media print {
  body { background: white; }
}

#wrapper {
  max-width: 1024px;
  margin: auto;
}

#page-wrapper {
  padding-top: 20px;
  padding-bottom: 20px;
}

.toolbar .icon {
  display: inline-block;
  width: 18px;
  text-align: center;
  font-size: 15px;
}

.toolbar {
  line-height: 40px;
}

#edit-menu .icon {
  display: inline-block;
  width: 20px;
  text-align: center;
}

.breadcrumb {
  background: white;
  margin: 0px 0px 8px 0px;
  padding: 0px;
}

.breadcrumb li {
  display:block-inline;
  height: 20px;
  margin-right: 8px;
  background: #eee;
  padding: 0px 0px 0px 0px;
  border: 0px;
}

.breadcrumb li::after {
  position: absolute;
  height: 0px;
  content: "";
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 8px solid #eee;
}

.breadcrumb li:first-child {
  padding-left: 4px;
}

.breadcrumb li + li::before {
  position: relative;
  height: 0px;
  top: 10px;
  content: "";
  font-size: 0px;
  vertical-align: top;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 8px solid white;
	margin-right: 4px;
}

.breadcrumb li + li::before {
  content: '';
  padding: 0px;
}

#recent-menu li {
  width: 300px;
  overflow-x: hidden;
  white-space: nowrap;
}

#recent-menu li > * {
  padding: 2px 0px 2px 20px;
  margin: 0px;
}

.navbar-brand {
  text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
  font-size: 24px;
  font-weight: 700;
}

.navbar-top-links li a {
    padding-left: 7px;
    padding-right: 7px;
    padding-top: 15px;
    padding-bottom: 15px;
    min-height: 50px;
}

@media screen and (max-device-width: 400px) {
  .open > .dropdown-menu {
    position: fixed;
    left: 0px;
    top: 100px;
  }
}

#sidebar {
  margin: 0px;
  padding: 10px;
  background: white;
  font-size: 12px;
}

#sidebar ul {
  padding-left: 30px;
}

#sidebar li {
  border: 0px;
}

#sidebar div a,
#sidebar li a {
  display: block;
  background: #fff;
}

#sidebar div a:hover,
#sidebar li a:hover {
  background: #eee;
  text-decoration: none;
}

#sidebar h5 {
  font-size: 14px;
}

@media screen and (max-device-width: 767px) {
  #sidebar {
    display: none;
  }
}

/* 見出しの折りたたみ */

@media screen and (min-device-width: 768px) {
  .header-opener
  {
    display: none;
  }
}

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

.header-opener
{
  font-size: 15px;
  color: black;
  vertical-align: middle;
}

.header-opener .fa.fa-plus-square-o
{
  display: none;
}

.hide-contents .header-opener .fa.fa-plus-square-o
{
  display: inline;
}

.hide-contents .header-opener .fa.fa-minus-square-o
{
  display: none;
}

.hide-contents
{
  position: relative;
}

.hide-contents:after
{
  position: absolute;
  display: block;
  background: #eee;
  width: 300px;
  border: 3px solid #eee;
  border-radius: 3px;
  content: ". . .";
  margin-top: 10px;
  padding-left: 15px;
  font-size: 10px;
}

.hide-contents > .header-navi
{
  display: none !important;
}

.hide-contents ~ *
{
  display: none;
}

}

@media print {
  .header-opener
  {
    display: none;
  }
}

h1 {
  font-stretch: condensed;
  font-weight: 700;
}

h2, h3, h4, h5 {
  font-stretch: condensed;
  font-weight: 700;
  margin-top: 0px;
  margin-bottom: 15px;
  padding-top: 2ex;
  position: relative;
}

/* 見出しの上に出すナビゲーション */

.header-navi {
  display: none;
}

:hover > .header-navi {
  display: block;
}

.header-navi {
  position: absolute;
  top: 0px;
  opacity: 0.4;
  transition: opacity 0.3s;
}

.header-navi:hover {
  opacity: 1;
}

/* 見出しに付けるダガー */

.anchor_super
{
  vertical-align: super;
  font-size: smaller;
  opacity: 0.4;
}

@media print {
  .anchor_super { display: none }
}

/* 書き込み権限があるときのみ表示 */

body.ro .if-rw {
  display: none;
}

/* recaptcha 関連 */

.recaptcha-submit {
  display: inline-block;
  vertical-align: top;
  margin-right: 10px;
}

#recaptcha-ui {
  display: inline-block;
  position: relative;
  vertical-align: top;
  transform: scale(0.75);
  top: -10px;
  left: -20px;
}

/* 数式関連 */

svg {
    vertical-align: middle;
}

span.math-error {
  color: orange;
  border: solid 2px orange;
}

span.math-error div {
  display: none !important;
}

span.math-error:hover div {
  display: block !important;
}

svg.math2html > defs > g > symbol > path {
    stroke:none;
}

svg.math2html > g > g {
    fill: rgb(0%,0%,0%);
    fill-opacity: 1;
}


/* なぜ以下が必要になるのか、ちゃんと調べないと */

svg:not(:root) {overflow:visible}

/*
* テキストハイライト結果に行番号を付ける
*/

pre[data-options*=linenumber] {
  padding-left: 40px;
}

pre[data-options*=linenumber] code {
  counter-reset: linenum;
}

pre[data-options*=linenumber] code i.code-line-top {
  position: relative;
}

pre[data-options*=linenumber] code i.code-line-top:before {
  counter-increment: linenum;
  content: counter(linenum) ":";
  position: absolute;
  left: -40px;
  width: 30px;
  text-align: right;
  color: #bbb;
}

pre[data-language] {
  overflow-x: auto;
}

pre[data-language] * {
  white-space: pre;
}

@media screen {
  pre[data-language] {
    overflow-y: auto;
    max-height: 200ex;
  }
}


@media print {
  nav.toolbar { display: none }
}

textarea {
  font-family: monospace;
}

input[type="text"] {
  font-family: monospace;
}

.not-is-page .sidebar,
.not-is-read .sidebar {
  display: none;
}

.not-is-page #page-wrapper,
.not-is-read #page-wrapper {
  margin-left: 0px;
}


pre[data-language="console"] {
  background: #333;
  border: 0px;
  color: #ccc;
}

pre[data-language="console"] .hljs-command {
  color: #eee;
  font-weight: bold;
}

pre[data-language="console"] .hljs-command .hljs-keyword {
  color: #ff8;
}

pre[data-language="console"] .hljs-command .hljs-prompt {
  color: #8f8;
}

@media (min-device-width:768px) {
  div#wrapper {
    min-width:768px;
  }
}

svg {
  max-width: 100%;
}

td, th {
  padding: 4px;
  border: 2px #eee solid;
}

table {
  margin-bottom: 5px;
}

blockquote {
  font-size: 14px;
}

@media print {
  #page-wrapper {
    margin: 0px;
    padding: 0px;
    border: 0px;
  }
}

ul.list1 { list-style-type:disc; }
ul.list2 { list-style-type:circle; }
ul.list3 { list-style-type:square; }
ol.list1 { list-style-type:decimal; }
ol.list2 { list-style-type:lower-roman; }
ol.list3 { list-style-type:lower-alpha; }

.small { font-size:80%; }

.super_index {
	background-color:inherit;
	font-weight:bold;
	font-size:60%;
	vertical-align:super;
}

a.note_super {
	font-weight:bold;
	font-size:60%;
	vertical-align:super;
}

span.size1::not(.katex) {
	font-size:xx-small;
	line-height:130%;
	text-indent:0px;
	display:inline;
}
span.size2::not(.katex) {
	font-size:x-small;
	line-height:130%;
	text-indent:0px;
	display:inline;
}
span.size3::not(.katex) {
	font-size:small;
	line-height:130%;
	text-indent:0px;
	display:inline;
}
span.size4::not(.katex) {
	font-size:medium;
	line-height:130%;
	text-indent:0px;
	display:inline;
}
span.size5::not(.katex) {
	font-size:large;
	line-height:130%;
	text-indent:0px;
	display:inline;
}
span.size6::not(.katex) {
	font-size:x-large;
	line-height:130%;
	text-indent:0px;
	display:inline;
}
span.size7::not(.katex) {
	font-size:xx-large;
	line-height:130%;
	text-indent:0px;
	display:inline;
}

div#note {
	clear:both;
	padding:0px;
	margin:0px;
}

/* html.php/edit_form() */
.edit_form { clear:both; }

/* diff.inc.php */
span.diff_added {
	color:blue;
	background-color:inherit;
}

span.diff_removed {
	color:red;
	background-color:inherit;
}

/* br.inc.php */
br.spacer {}

/* calendar*.inc.php */
.style_calendar {
	padding:0px;
	border:0px;
	margin:3px;
	color:inherit;
	background-color:#CCD5DD;
	text-align:center;
}
.style_td_caltop {
	padding:5px;
	margin:1px;
	color:inherit;
	background-color:#EEF5FF;
	font-size:80%;
	text-align:center;
}
.style_td_today {
	padding:5px;
	margin:1px;
	color:inherit;
	background-color:#FFFFDD;
	text-align:center;
}
.style_td_sat {
	padding:5px;
	margin:1px;
	color:inherit;
	background-color:#DDE5FF;
	text-align:center;
}
.style_td_sun {
	padding:5px;
	margin:1px;
	color:inherit;
	background-color:#FFEEEE;
	text-align:center;
}
.style_td_blank {
	padding:5px;
	margin:1px;
	color:inherit;
	background-color:#EEF5FF;
	text-align:center;
}
.style_td_day {
	padding:5px;
	margin:1px;
	color:inherit;
	background-color:#EEF5FF;
	text-align:center;
}
.style_td_week {
	padding:5px;
	margin:1px;
	color:inherit;
	background-color:#DDE5EE;
	font-size:80%;
	font-weight:bold;
	text-align:center;
}

/* calendar_viewer.inc.php */
div.calendar_viewer {
	color:inherit;
	background-color:inherit;
	margin-top:20px;
	margin-bottom:10px;
	padding-bottom:10px;
}
span.calendar_viewer_left {
	color:inherit;
	background-color:inherit;
	float:left;
}
span.calendar_viewer_right {
	color:inherit;
	background-color:inherit;
	float:right;
}

/* clear.inc.php */
.clear {
	margin:0px;
	clear:both;
}

/* new.inc.php */
span.comment_date { font-size:x-small; }
span.new1 {
	color:red;
	background-color:transparent;
	font-size:x-small;
}
span.new5 {
	color:green;
	background-color:transparent;
	font-size:xx-small;
}

/* vote.inc.php */
td.vote_label {
	color:inherit;
	background-color:#FFCCCC;
}
td.vote_td1 {
	color:inherit;
	background-color:#DDE5FF;
}
td.vote_td2 {
	color:inherit;
	background-color:#EEF5FF;
}

/* 右寄せ、左寄せの画像のマージン */
div.img_margin {
	margin-left:20px;
	margin-right:20px;
}

a.note_super .note {
	display: none;
}

a.note_super:hover {
	position:relative;
}
a.note_super:hover .note {
	display: block;
	position: absolute;
	top: 30px;
	left: 0px;
	background: #eee;
	opacity:1;
	color:black;
	padding:3px;
	width:200px;
	font-size: small;
	font-weight: normal;
	z-index: 99999;
	border: 4px solid #eee;
	border-radius: 4px;
	max-height:400px;
}

a.note_super:hover .note:before {
  display:block;
  content:' ';
  position:absolute;
  left: 0px;
  top: -24px;
	border-top:rgba(0,0,0,0) solid 20px;	/*フキダシ用*/
	border-left:#eee solid 20px;	/*フキダシ用*/
}

a.note_super:hover .note svg {
}

@media screen {

  input[type=checkbox].section-non-print {
    display: none;
  }

  input[type=checkbox]#select-non-print:checked ~ * input[type=checkbox].section-non-print {
    display: inline;
  }
}

@media print {

  .no-print {
    display: none;
  }

  input[type=checkbox].section-non-print {
    display: none;
  }

  input[type=checkbox].section-non-print:checked + section{
    display: none;
  }
}

table.multicolumns td,
table.multicolumns th {
  padding: 0px;
  border: 0px;
}

table.multicolumns,
table.multicolumns tr,
table.multicolumns td,
table.multicolumns th {
  page-break-inside: auto;
}

img,
input,
textarea {
  max-width: 100%;
  height: auto;
}

ruby {
  position: relative;
}

ruby rt {
  position: relative;
  top: 0.6ex;
}

code[data-gist-id] {
	background-color: white;
}
