@charset "utf-8";
/* base.css ================================== */
/* common ========================================= */
/* reset */
* {
    margin: 0;
    padding: 0;
    font-size: 100%;
}
a {
    text-decoration : none;
}
img {
    border: none;
    vertical-align : top;
    max-width : 100%;
    height: auto;
}
/* spacing ========================================= */

/* standard block margin */
section.section > h1,
section.section > dl,
section.section > hr,
section.section > pre,
section.section > blockquote,
section.section > section.list,
section.section > section.division,
section.section > table,
section.section > figure,
section.section > img.math.display,
h1.pages,
nav.pages,
nav.redirect,
form.templateinput {
    margin-top: 24px;
    margin-bottom: 24px;
}
section.section > p {
    margin-top: 12px;
    margin-bottom: 12px;
}

/* small block margin */
h1,
dl,
hr,
p,
pre,
blockquote,
section.list,
table,
figure,
form.search,
img.math.display {
    margin-top: 8px;
    margin-bottom: 8px;
}

/* list margin */
li {
    padding-top: 3px;
    padding-bottom: 3px;
}
li.has_children {
    padding-bottom: 0;
}

/* indent */
section.section section.section,
ul, ol,
dd {
    margin-left: 24px;
}
section.page.section > section.section,
article.page > section.section {
    margin-left: 0px;
}

/* bounding box padding */
pre, blockquote {
    padding: 4px;
}

/* layout ========================================= */

/* horizontal list */
ul.tags {
    display: inline-block;
    margin: 0;
}
ul.tags li {
    display: inline;
    margin-right: 8px;
}

/* element special ========================================= */

/* heading */
h1 {
    line-height: 100%;
}

/* link */
a.uri {
    word-wrap: break-word;
}
a.unread {
    border-bottom: dotted 1px;
}

/* table */
table {
    border-style: solid;
    border-width: 1px;
    border-collapse: collapse;
    border-spacing: 0;
}
table .center {
    text-align: center;
}
table .left {
    text-align: left;
}
table .right {
    text-align: right;
}
table td.numeric {
    text-align: right;
}
td, th {
    padding: 4px;
    border-style: solid;
    border-width: 1px;
}

/* pre */
pre,
section.page pre.prettyprint {
    font-family: Osaka-mono, "Osaka-等幅", "ＭＳ ゴシック", monospace;
}
pre.code li {
    margin-left: 12px;
}
pre {
    overflow: auto;
}

/* blockquote */
blockquote {
    white-space: pre;
    overflow: auto;
}

/* description list */
dl dt {
    margin-top: 8px;
    margin-bottom: 8px;
}

/* small */
small {
    font-size: 75%;
}

/* page list and wiki &pages */
ul.pages_date {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

article.page > header,
article.page > footer{
    text-align: right;
    margin-right: 8px;
}
nav.pages {
    width: 240px;
    margin-left: auto;
    margin-right: auto;
    text-align: right;
}
nav.pages a {
    padding: 0 8px;
}
nav.pages a.first {
    float: left;
}
nav.pages a.prev {
    float: left;
}
nav.pages:after {
    display: block;
    content: "";
    clear: both;
}

/* wiki &calendar */
table.calendar {
    width: 98%;
    border: none;
    position: relative;
}
table.calendar caption {
    text-align: center;
    padding: 4px 0;
}
table.calendar caption a.next,
table.calendar caption a.previous {
    padding-left: 8px;
    padding-right: 8px;
}
table.calendar caption > h1 {
    display: inline;
    vertical-align: middle;
}
table.calendar caption > form {
    display: inline-block;
    margin-left: 8px;
}
table.calendar caption form input[type="text"] {
    width: 92px;
}
table.calendar caption a.next {
    margin-left: 8px;
}
table.calendar caption a.previous {
    margin-right: 8px;
}
table.calendar caption > form a {
    margin-left: 8px;
}

@media screen and (min-width: 830px) {
    article:not(.side) table.calendar caption > form {
	position: absolute;
	right: 0;
    }
    article:not(.side) table.calendar caption > form a {
	margin-left: 8px;
    }
}

table.calendar th.navigation {
    position: relative;
    vertical-align: top;
    text-align: center;
}
table.calendar th.navigation a {
    display: block;
    padding: 16px 4px;
}
table.calendar th.navigation a.previous {
    margin-top: 8px;
}
table.calendar th.navigation a.next {
    position: absolute;
    bottom: 8px;
}

table.calendar td, table.calendar th  {
    width: 14%;
    border: 1px solid #ddd;
}
table.calendar td {
    height: 64px;
    vertical-align: top;
}
table.calendar dl,
table.calendar dl dt {
    padding: 0;
    margin: 0;
}
table.calendar dl dt.day {
    display: inline;
    white-space: nowrap;
}
table.calendar dl dt.event_name {
    display: inline;
    margin-left: 4px;
    font-size: 75%;
    color: gray;
}
table.calendar dl dd {
    padding: 0;
    margin: 0 8px;
}
table.calendar .summary ul {
    padding: 0;
    margin: 0 0 0 8px;
}
table.calendar td.month_border.border_top {
    border-top: solid 2px black;
}
table.calendar td.month_border.border_bottom {
    border-bottom: solid 2px black;
}
table.calendar td.month_border.border_left {
    border-left: solid 2px black;
}
table.calendar td.month_border.border_right {
    border-right: solid 2px black;
}
table.calendar td.today {
    border: solid 3px yellow !important;
}
table.calendar td.week_0 {
    background-color: #fdd;
}
table.calendar td.week_6 {
    background-color: #ddf;
}
table.calendar td.holiday {
    background-color: #fdd;
}
table.calendar td.other_month {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAIwAAACMB1fQWXQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAANSURBVAiZY2BgYHAAAABFAEHmOR5KAAAAAElFTkSuQmCC"); /* rbga(0, 0, 0, 0.25) 1x1 pixel image */
}

/* wiki &calendar side */
article.side table.calendar caption form input[type="text"] {
    width: 64px;
}
article.side table.calendar dt.event_name {
    display: none;
}
article.side table.calendar td {
    width: auto;
    height: 24px;
}

/* wiki &calendar small */ 
article.side table.calendar caption > *,
article.side table.calendar caption > form > a {
    margin: 4px;
}
article.side table.calendar td dt {
    display: inline;
    word-wrap: break-word;
    word-break: break-all;
}
article.side table.calendar td.exists dl dd,
article.side table.calendar td dt span.day_detail {
    display: none;
}
article.side table.calendar td.exists dt.day {
    border-bottom: solid 1px;
}

@media screen and (max-width: 767px) {
    table.calendar caption > *,
    table.calendar caption > form > a {
	margin: 4px;
    }
    table.calendar td dt {
	display: inline;
	word-wrap: break-word;
	word-break: break-all;
    }
    table.calendar td.exists dl dd,
    table.calendar td dt span.day_detail {
	display: none;
    }
    table.calendar td.exists:after {
	content: "...";
    }
}

/* wiki &include */
iframe.youtube {
    border: 0px;
    max-width : 100%;
}
/* wiki icons */
i.entity,
b.toratora {
    display: inline-block;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    color: transparent;
}
i.entity.heart    { background-image: url("../image/icon/heart.png"); }
i.entity.smile    { background-image: url("../image/icon/smile.png"); }
i.entity.bigsmile { background-image: url("../image/icon/bigsmile.png"); }
i.entity.huh      { background-image: url("../image/icon/huh.png"); }
i.entity.oh       { background-image: url("../image/icon/oh.png"); }
i.entity.wink     { background-image: url("../image/icon/wink.png"); }
i.entity.sad      { background-image: url("../image/icon/sad.png"); }
i.entity.worried  { background-image: url("../image/icon/worried.png"); }
b.toratora.taro   { background-image: url("../image/icon/taro.png"); }
b.toratora.toro   { background-image: url("../image/icon/toro.png"); }

/* wiki &feed */
a.feed {
    margin-left: 3px;
    padding: 0 0 0 19px;
    background: url("../image/icon/feed.png") no-repeat 0 50%;
}
/* wiki template */
.templateinput input[type="text"] {
    width: 100%;
    max-width: 240px;
}
.templateinput textarea {
    width: 100%;
    max-width: 480px;
    height: 120px;
}
/* wiki &calc */
ul.calc {
    list-style-type: none;
}
/* wiki &listadd */
input.listadd_text {
    width: 60%;
    max-width: 360px;
}
input.listadd_name {
    width: 20%;
    max-width: 120px;
}
/* wiki &math */
img.math {
    vertical-align: middle;
}
img.math.display {
    display: block;
}
/* function.css ============================== */
/* layout ========================================= */

/* makerless list */
ul.form,
form.text_edit ul,
section.config section.local_config > ul,
section.summary_window section.summary li {
    list-style: none;
}

/* horizontal list */
form.text_edit ul,
ul.attach,
ul.buttons {
    display: inline-block;
    margin: 0;
}
form.text_edit ul li,
ul.attach li,
ul.buttons li {
    display: inline;
    margin-right: 8px;
}

/* horizontal define list */
dl.page_info,
dl.page_tags,
dl.attach {
    margin: 0;
}
dl.page_info dt,
dl.page_tags dt,
dl.attach dt {
    display: inline-block;
    margin: 0;
}
dl.page_info dt:after,
dl.page_tags dt:after,
dl.attach dt:after {
    content: ':\0000a0';
}
dl.page_info dd,
dl.page_tags dd,
dl.attach dd {
    display: inline-block;
    margin-right: 1em;
    margin-left: 0;
}

/* checkbox */
input[type="checkbox"] {
    vertical-align: middle;
    margin-right: 4px;
}

/* window */
.completion_window,
section.summary_window {
    border: solid 1px;
    z-index: 10;
}
table.calendar dd.popup {
    z-index: 9;
}

/* colse button */
.text_edit,
.list_edit {
    position: relative;
}
.text_edit.partial {
    padding-right: 24px !important;
}
.text_edit > button.close,
section.summary_window > button.close,
.list_edit > button.close,
.popup button.close {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 11;
}

form.tag_edit button.close {
    margin-left: 4px;
}

/* spacing ========================================= */

/* standard block margin */
ul.form > li,
form.refpage h1,
ul.compare.legend,
fieldset,
ul.comment {
    margin-top: 12px;
    margin-bottom: 12px;
}

/* small form margin */
form.user_history,
form.export,
form.select {
    margin: 4px;
}

fieldset {
    padding: 12px;
}

/* inline parts margin */
label > input[type="text"]:not([class="child_pagename"]),
label > input[type="password"],
label > select {
    margin-left: 8px;
}

/* edit area spacing */
form.text_edit,
form.file_edit ul.form,
form.refpage,
form.newpage_type {
    padding: 8px;
}
.list_edit {
    padding-bottom: 8px;
    padding-right: 8px;
}
.list_edit > p {
    margin-left: 8px;
}
form.newpage_type {
    padding-bottom: 0;
}

/* element special ========================================= */

small.error,
small.redirect {
    font-size: 100%;
}

/* page title */
span.actual_title {
    font-size: 12px;
    line-height: 12px;
    margin-left: 8px;
}

/* form */
ul.form {
    list-style: none;
}
textarea {
    font-family: Osaka-mono, "Osaka-等幅", monospace;
    line-height: 150%;
}

/* messages */
ul.messages {
    list-style: none;
    width: 100%;
    position: relative;
    margin: 8px 0;
}
ul.messages li,
nav.redirect {
    padding: 12px;
    line-height: 100%;
}
ul.messages li {
    margin-bottom: 6px;
}
ul.messages button {
    margin-right: 8px;
}

/* small form */
form.user_history, form.export, form.select {
    display: inline-block;
}

/* text edit  */
form.text_edit > ul > li {
    display: inline-block;
    margin: 0 4px;
}

form.text_edit > textarea {
    width: 100%;
    box-shadow: none;
    border: none;
    margin-bottom: 8px;
}

/* partial text edit */
form.partial {
    text-align: left; /* for table cell edit */
}
form.partial textarea {
    min-width: 140px;
    overflow: hidden;
    margin-right: 8px;
    margin-bottom: 0;
}
.main form.partial textarea {
    width: 70%;
}
.side form.partial textarea {
    width: 90%;
}

td form.partial textarea,
th form.partial textarea {
    width: auto;
}
form.partial > ul {
    margin-top: 4px;
}

/* reference page edit */
section.refpage {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9;
}
form.refpage {
    position: fixed;
    width: 60%;
    top: 15%;
    left: 20%;
    padding: 8px;
}
form.refpage textarea {
    min-height: 20em;
}

/* list edit */
.list_edit input[type="text"] {
    max-width: 100%;
}
@media screen and (max-width: 767px) {
    .list_edit li {
	padding-top: 14px;
	padding-bottom: 14px;
    }
    .list_edit li.has_children {
	padding-bottom: 0px;
    }
}
.list_edit li > form > button {
    margin-left: 8px;
}

/* list item select */
li.selected > ul,
li.selected > ol {
    margin-left: 0px;
    padding-left: 24px;
}
li.selected_top {
    border-top: 4px solid;
    position: relative;
    padding-top: 4px;
    margin-top: 4px;
}
li.selected_bottom {
    border-bottom: 4px solid;
    position: relative;
    padding-bottom: 4px;
    margin-bottom: 4px;
}
li.selected_top:before,
li.selected_bottom:before {
    content: "";
    display: inline-block;
    border-right: 4px solid;
    border-bottom: 4px solid;
    width: 8px;
    height: 8px;
    position: absolute;
    left: -24px;
    transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}
li.selected_top:before {
    top: -8px;
}
li.selected_bottom:before {
    bottom: -8px;
}
li.selected_top:after,
li.selected_bottom:after {
    content: "";
    display: inline-block;
    border-bottom: 4px solid;
    width: 24px;
    position: absolute;
    left: -14px;
}
li.selected_top:after {
    top: -4px;
}
li.selected_bottom:after {
    bottom: -4px;
}

/* conflict , compare */
article.conflict1,
article.compare1 {
    width: 49.5%;
    float: left;
}
article.conflict2,
article.compare2 {
    width: 49.5%;
    float: right;
}
article.main > footer {
    clear: both;
}
article.conflict1,
article.conflict2,
article.compare1,
article.compare2 {
    margin-bottom: 24px;
}

/* compare diff */
ul.compare {
    margin-left: 0;
}
ul.compare li {
    list-style: none;
    white-space: pre-wrap;
    font-family: monospace;
    margin-top: 0;
    margin-bottom: 0;
}
ul.compare li:before {
    display: inline-block;
    width: 2em;
    text-align: center;
}
ul.compare li > ins,
ul.compare li > del {
    color: inherit;
    text-decoration: none;
}
ul.compare.legend {
    padding: 4px;
}
ul.compare.legend li {
    display: inline;
    padding: 4px 8px;
}
ul.compare.legend li {
    border-style: solid;
    border-width: 1px;
}
ul.compare.legend li.delete {
    border-right-width: 0;
}
ul.compare.legend li.add {
    border-left-width: 0;
}
ul.compare.legend li.source {
    border-width: 0;
}
ul.compare li.delete:before {
    content: "[-] ";
}
ul.compare li.add:before {
    content: "[+] ";
}
ul.compare li.same:before {
    content: "";
}
ul.compare.legend.part li:before {
    display: none;
}

/* compare metadata */
table.meta_compare {
    margin: 8px 0px 0px 10%;
    width: 70%;
}
table.meta_compare caption {
    margin-left: 10%;
}
table.meta_compare td.name {
    width: 10%;
}
table.meta_compare td.value1 {
    width: 40%;
}
table.meta_compare td.value2 {
    width: 40%;
}

/* search */
ul.search_result {
    list-style: none;
    margin-left: 0;
}
ul.search_result pre {
    margin-top: 8px;
    margin-left: 16px;
}
ul.search_result .score {
    margin-left: 16px;
}
mark.keyword_0 {
    background-color: yellow;
}
mark.keyword_1 {
    background-color: cyan;
}
mark.keyword_2 {
    background-color: magenta;
}
mark.keyword_3 {
    background-color: lime;
}
mark.keyword_4 {
    background-color: skyblue;
}
p.search_query a,
*.tag_notice a {
    display: inline-block;
    margin-right: 4px;
    text-align: center;
}

/* helper */
form.text_edit ul.attaches {
    display: block;
    width: 100%;
    list-style-type: none;
    margin-top: 16px;
}
form.text_edit.partial ul.attaches {
    vertical-align: bottom;
}
form.text_edit ul.attaches li {
    display: list-item;
    margin: 0;
}
form.text_edit ul.attaches li button {
    width: 100%;
    text-align: left;
    border: none;
    background: none;
}
form.text_edit ul.attaches li button.clicked:after {
    content: ' *';
}
.completion_window {
    position: absolute;
    max-height: 200px;
    overflow-y: auto;
}
.completion_window ul {
    list-style-type: none;
    margin-left: 0;
}
.completion_window li {
    padding: 0 8px;
}
.completion_window li i.entity {
    vertical-align: middle;
}

/* optional */
button.optional {
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
}

/* summary */
section.summary_window {
    white-space: nowrap;
    position: fixed;
    top: 0;
    right: 0;
    padding: 8px;
    min-width: 10%;
    max-width: 30%;
    overflow: hidden;
}
section.summary_window h1 {
    margin: 8px 0;
    position: relative;
}
section.summary_window section.summary > ul {
    margin-left: 0;
}
section.summary_window a {
    display: block;
}

/* calendar */
table.calendar dd.popup h1 {
    margin: 0 0 8px 0;
}

/* page tags, page info */
article > footer > dl.page_tags,
article > footer > dl.page_info {
    margin: 4px 0;
}
ul.tags li.edit_tag a {
    display: inline-block; /* for android */
    color: inherit;
}
ul.tags li.edit_tag a:before {
    content: '[';
}
ul.tags li.edit_tag a:after {
    content: ']';
}

/* table sort */
.sort_order {
    float: right;
}

/* color picker */
input.color {
    width: 60px;
}

/* admin setup */
.setup img.current_image {
    max-width: 200px;
    max-height: 52px;
    vertical-align: middle;
}
.setup legend,
.setup dd {
    padding: 4px;
}
.setup legend,
.setup dt {
    font-weight: bold;
}
.setup small {
    margin-left: 16px;
}
.setup legend small {
    margin-left: 8px;
}

/* media ========================================= */
/* small device  */
@media screen and (max-width: 767px) {
    section.summary_window {
	font-size: 16px;
	max-width: 50%;
    }
    section.summary_window a {
	padding: 4px 0;
    }
}/* code prettify ========================================= */
/* SPAN elements with the classes below are added by prettyprint. */
pre.code .pln { color: #000 }  /* plain text */

pre.code .str { color: #080 }  /* string content */
pre.code .kwd { color: #008 }  /* a keyword */
pre.code .com { color: #800 }  /* a comment */
pre.code .typ { color: #606 }  /* a type name */
pre.code .lit { color: #066 }  /* a literal value */
/* punctuation, lisp open bracket, lisp close bracket */
pre.code .pun, pre.code .opn, pre.code .clo { color: #660 }
pre.code .tag { color: #008 }  /* a markup tag name */
pre.code .atn { color: #606 }  /* a markup attribute name */
pre.code .atv { color: #080 }  /* a markup attribute value */
pre.code .dec, pre.code .var { color: #606 }  /* a declaration; a variable name */
pre.code .fun { color: red }  /* a function name */

/* Specify class=linenums on a pre to get line numbering */
pre.code ol.linenums { margin-top: 0; margin-bottom: 0 } /* IE indents via margin-left */
/* theme.css ================================= */
/* color ========================================= */

/* theme color */
header.title,
footer.signature {
    background-color: #91c8ff;
}
article.main > h1,
form.refpage h1,
h1.pages {
    border-color: #91c8ff;
}

/* theme highlight color */
.background_emphasis,
label.checked,
li.selected,
h1.anchor {
    background-color: #91c8ff;
}
li.selected_top,
li.selected_bottom,
li.selected_top:before,
li.selected_bottom:before,
li.selected_top:after,
li.selected_bottom:after {
    border-color: #91c8ff;
}

/* outside color */
html {
    background-color: #252525;
}

/* background color */
body,
.completion_window,
li.selected > ul,
li.selected > ol,
section.summary_window {
    background-color: #ffffff;
}

/* standard text color */
body,
header.title *,
h1 > a.page_menu {
    color: #252525;
}
table, td, th {
    border-color: #252525;
}


/* highlight text color */
strong.new {
    color: #e34444;
}

/* action background color */
nav.site_menu,
nav.page_menu,
a.button,
form.text_edit ul.attaches,
span.optional {
    background-color: #252525;
}
span.sort_order {
    color: #252525;
}

/* action active color */
a.button:hover,
nav.site_menu li a:hover,
nav.page_menu li a:hover,
form.text_edit ul.attaches li:hover {
    background-color: #3b3b3b;
}

/* action text color */
a.button,
nav.site_menu *,
nav.site_menu a,
nav.page_menu *,
nav.page_menu a,
form.text_edit ul.attaches li button,
span.optional {
    color: #ffffff !important;
}

/* action disabled text color */
input:disabled,
button:disabled,
nav.page_menu ul li.disabled {
    color: #7f7f7f !important;
}

/* header footer color */
thead, tfoot, th {
    background-color: #dedede;
}
article.main > footer {
    background-color: #91c8ff;
}

/* pre background color */
pre,
ul.compare li.same {
    background-color: #eeeeee;
}
pre.code {
    color: black;
    background-color: #eeeeee;
}

/* error color */
ul.messages li.error,
small.error,
form .error {
    background-color: #ffb2d9;
}

/* notice color */
ul.messages li.notice,
nav.redirect {
    background-color: #b3ffb2;
}

/* info color */
ul.messages li.info,
table tr.skip {
    background-color: #b2ffff;
}

/* edit color */
form.text_edit,
form.file_edit,
form.newpage_type,
.list_edit li.selected > ul,
.list_edit li.selected > ol,
section.list_edit {
    background-color: #ddeeff;
}

/* compare color */
.delete {
    background-color: #ffe5e5;
}
.add {
    background-color: #e5fff2;
}

/* link color */
a.not_exists {
    background-color: #ffb2d9;
}


/* base color modify */

/* text ========================================= */

body {
    font-family: verdana, sans-serif;
}

/* standard text size */
body,
a.page_menu {
    font-size: 14px;
}

/* top level strong text */
header.title h1,
article.main > h1 {
    font-size: 22px;
}

/* wiki icons */
i.entity,
b.toratora {
    width: 20px;
    height: 20px;
}


/* spacing ========================================= */

/* standard block margin */
ul.messages {
    margin-top: 16px;
}
ul.messages {
    margin-bottom: 16px;
}

/* page footer margin */
article.main > footer {
    margin-top: 24px;
}

/* signature footer margin */
article.main,
article.side {
    margin-bottom: 12px;
}

/* appearance custom ========================================= */
a.button:focus,
a.page_menu:focus,
nav.site_menu a:focus,
nav.page_menu a:focus {
    outline: none;
}

/* element special ========================================= */

/* page title */
article.main > h1,
form.refpage h1 {
    border-bottom-style: solid;
    border-bottom-width: 3px;
    padding-bottom: 4px;
}
h1.pages {
    border-bottom-style: solid;
    border-bottom-width: 2px;
}

/* site title special */
header.title {
    line-height: 52px;
    padding-left: 12px;
}
header.title > a > h1 {
    display: inline;
}
header.title > a > h1 > img {
    vertical-align: middle;
    max-width: 200px;
    max-height: 50px;
}
header.title ul.search_tools {
    margin: -2px 12px 0 0;
    display: inline;
    float: right;
}
header.title ul.search_tools * {
    display: inline;
}
header.title a.site_menu.button {
    display: inline-block;
    float: right;
    width: 72px;
    padding: 0 4px;
    text-align: center;
    font-size: 10px;
    line-height: inherit;
    height: inherit;
}
a.page_menu {
    font-weight: normal;
    display: inline-block;
    float: right;
    padding: 0 4px;
    margin-top: 6px;
}
a.page_menu:after {
    display: inline-block;
    width: 16px;
    content: '\0025bc';
}
a.page_menu.open:after {
    content: '\0025b2';
}

/* menu special */
nav.site_menu {
    display: none;
    width: 200px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 20;
}
nav.site_menu h1 {
    display: inline;
    border: none;
}
nav.site_menu ul,
nav.page_menu ul  {
    list-style-type: none;
    margin: 0;
}
nav.site_menu h1,
nav.site_menu li,
nav.site_menu li a {
    height: 40px;
    line-height: 40px;
    vertical-align: middle;
    padding-left: 10px;
}
nav.site_menu li a {
    display: block;
    margin-left: -10px;
}
nav.page_menu {
    display: none;
    position: relative;
    left: 0;
    top: 0;
    z-index: 5;
    width: 100%;
    line-height: 40px;
}
nav.page_menu ul li {
    display: inline;
}
nav.page_menu ul li a {
    padding: 0 16px;
    display: inline-block;
}
nav.page_menu ul li.disabled {
    padding: 0 16px;
    display: inline;
}
nav.site_menu ul li.search,
nav.site_menu ul li.sidepage {
    display: none;
}

/* main page area special */
article.main {
    float: left;
    width: 83%;
    margin-left: 17%;
    padding: 0 16px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
}

/* page title special */
article.main > h1 {
    position: relative;
    line-height: 24px;
    margin: 14px 0 0 0;
}

/* side page area special */
article.side {
    width: 18%;
    overflow: hidden;
    word-wrap: break-word;
    float: left;
    margin-left: -101%;
    padding-left: 16px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
}

/* page footer special */
article.main > footer > dl {
    margin-left: 8px;
    margin-right: 8px;
}
article.main > footer > *:first-child {
    padding-top: 8px;
}
article.main > footer > *:last-child {
    padding-bottom: 8px;
}

/* site footer area special */
footer.signature {
    text-align: right;
}
footer.signature,
footer.signature * {
    font-size: 12px;
}
footer.signature img {
    vertical-align: middle;
}
footer.signature a {
    margin-right: 8px;
}
/* footer fixed layout */
html {
    height: 100%;
}
body {
    width: 100%;
    min-height: 100%;
    position: relative;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    padding-bottom: 20px;
}
body:after {
    display: block;
    content: "";
    clear: both;
}
footer.signature {
    position: absolute;
    bottom: 0px;
    width: 100%;
    height: 20px;
    line-height: 20px;
}
/* message special */
ul.messages {
    z-index: 15;
}

/* base element modify ========================================= */
h1 {
    border-bottom-style: solid;
    border-bottom-width: 1px;
    padding: 2px 0;
    font-size: 16px;
}
header.title h1,
table.calendar caption h1 {
    margin: 0;
    border: none;
}
.foreground_emphasis,
section.page dt {
    font-weight: bold;
}
del {
    color: #ccc;
}
ul {
    list-style-type: square;
}
hr {
    border-width: 1px 0 0 0;
    border-style: dashed;
}
blockquote {
    border: dashed 1px;
}

@media screen and (max-width: 1280px) {
    article.side table.calendar {
	font-size: 50%;
    }
    article.side table.calendar h1 {
	font-size: 100%;
    }
    article.side table.calendar th, 
    article.side table.calendar td {
	padding: 0;
    }
    article.side table.calendar caption form {
	display: none;
    }
    article.side table.calendar a.button {
	padding: 2px;
	height: 12px;
	line-height: 12px;
    }
}

article.side form.search > input[type=search] {
    max-width: 60%;
}


/* media ========================================= */

/* print */
@media print {
    nav,
    article.side,
    ul.search_tools,
    a.site_menu.button,
    a.page_menu,
    li.edit_tag {
	display: none !important;
    }
    article.main {
	width: auto !important;
	float: none !important;
	margin-left: 0 !important;
	padding-right: 16px !important;
    }
    footer.signature {
	clear: both;
	position: static;
    }
}

/* small device  */
@media screen and (max-width: 767px) {
    article.main {
	float: none;
	margin-left: 0;
	width: 100%;
	padding-right: 16px !important;
    }
    article.side,
    ul.search_tools {
	display: none !important;
    }    
    nav.site_menu ul li.search,
    nav.site_menu ul li.sidepage {
	display: list-item;
    }
    nav.site_menu h1,
    nav.site_menu li,
    nav.site_menu li a {
	height: 60px;
	line-height: 60px;
	font-size: 16px;
    }
    nav.page_menu ul li a {
	font-size: 16px;
	padding: 12px;
    }
    nav.page_menu {
	margin-bottom: 0px;
    }
    label.checkbox:hover,
    label.checkbox.focus {
	background-image: none;
    }
    body > aside {
	float: none !important;
	margin-left: 0 !important;
    }
}

/* optional layout ========================================= */



/* form.css ================================= */
/* form parts ========================================= */

/* reset */
button,
select,
option,
input[type="submit"],
input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
label.checkbox,
a.button {
    border: none;
    box-shadow: none;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    font-family: inherit;
    height: 24px;
    line-height: 24px;
    vertical-align: middle;
}
a.button {
    display: inline-block;
}

@-moz-document url-prefix() {
    input[type="submit"] {
	padding-bottom: 1px;
    }
    button::-moz-focus-inner {
	border-width: 0 !important;
    }
    select {
	padding-top: 3px;
	padding-bottom: 3px;
    }
    option {
	padding-top: 6px;
	padding-left: 8px;
	padding-right: 8px;
    }
}

textarea {
    border: none;
    box-shadow: none;
    border-radius: 0;
    -webkit-appearance: none;
}

/* spacing */
button,
select,
input[type="submit"],
input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
textarea,
a.button {
    padding-right: 4px;
    padding-left: 4px;
}
form.text_edit > textarea {
    padding: 0;
}
table.calendar caption {
    padding: 12px;
    text-decoration: none;
}
label.checkbox {
    display: inline-block;
    padding-right: 4px;
}
.list_edit *:not(form) > label.checkbox {
    padding: 0;
}
input[type="text"] + input[type="text"],
label + label,
input[type="text"] + label,
label + input[type="text"],
label + input[type="submit"], 
label + button,
input + small,
select + small,
select + input[type="submit"],
input.run {
    margin-left: 4px;
    margin-right: 4px;
}
ul.form input[type="submit"] {
    margin-left: 8px;
}

/* checkbox */
label.checkbox {
    position: relative;
    padding-left: 28px;
}
label.checkbox input[type="checkbox"] {
    opacity: 0; /* for tab index focus */
    position: fixed;
    right: 0;
    bottom: 0;
}
label.checkbox:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 8px;
    left: 18px;
    width: 16px;
    height: 16px;
    margin: -4px 16px -4px -12px;
}
label.checkbox.checked:after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 6px;
    height: 4px;
    left: 9px;
    top: -9px;
    border-bottom-width: 4px;
    border-left-width: 4px;
    border-bottom-style: solid;
    border-left-style: solid;
    transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    margin-top: 16px;
}

/* select */
@media screen and (-webkit-min-device-pixel-ratio:0) {
    select {
	padding-right: 16px;
	background-repeat: no-repeat;
	background-position: 95% 50%;
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAABYgAAAWIBXyfQUwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAB1SURBVBiVhY7BCYNQEESf4s0KUoRgT9ZgFUkJFmIZqcI08K/6POR/WTSYgYVl5zGzqLP/NaN26noDrWqHijrdgJNKAR9q+gGl7FHz1Qd4ctUre0ciaqsuIW3JN2J1mSGAQ/QqNVbVwDvvPbAVozn9tAFj2A/tcb7jSb9YiiEAAAAASUVORK5CYII="); /* white triangle */
    }
}

/* color */
button,
select,
option,
input[type="submit"],
label.checkbox:before {
    color: #ffffff;
    background-color: #252525;
}

input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
textarea {
    color: #252525;
    background-color: #eeeeee;
}
label.checkbox.checked:after {
    border-color: #ffffff;
}
input[type="text"]:disabled,
input[type="email"]:disabled,
input[type="password"]:disabled,
textarea:disabled {
    background-color: #bfbfbf;
}
button:hover,
button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
a.button:hover {
    background-color: #404040;
}
label.checkbox:hover,
label.checkbox.focus {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAIwAAACMB1fQWXQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAANSURBVAiZY2BgYHAAAABFAEHmOR5KAAAAAElFTkSuQmCC"); /* rbga(0, 0, 0, 0.25) 1x1 pixel image */
}

label.file_upload input[type="file"] {
    display: none;
}
