* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: Roboto, sans-serif;
}
body { font-weight: 300; line-height: 1.375;}

a { color: #269; text-decoration: none; }
a:hover { text-decoration: underline; }
b, strong { font-weight: bold; }
em { font-style: italic; }
hr {
  clear: both;
  border: none;
  border-bottom: 1px solid #39c;
}

span.strike { text-decoration: line-through; }
span.u { text-decoration: underline; }

#content h1, #content h2, #content h3,
#content h4, #content h5 {
  font-weight: 300;
  font-style: normal;
  text-align: left;
  margin: .625em 0em .25em 0em;
  clear: both;
}
#content h1 {
  font-size: 1.5em;
  margin-top: 1em;
  border-bottom: 1px solid #39c;
}
#content h2 { font-size: 1.5em;}
#content h3 { font-size: 1.25em; }
#content h4 { font-size: 1em; font-weight: bold;}

#content p { margin: .625em 0em; }

/* strange parser markings of moin */
#content p.line862,                     /* wrapping paragraphs containing links (?) */
#content p.line874 { display: block }   /* wrapping manually separated paragraphs (?) */
#content p.line891,                     /* needlessly occuring  in lists (seen wrapping macros and deadlinks) (?) */
#content p.line867 { display: inline; } /* empty space between other blocks (?) */
/* other line classes do not appear to exist */

#content h1 + p, #content h2 + p, #content h3 + p {
  margin-top: 0em;
}

#content ul, #content ol, #content dl {
  text-indent: 0em;
  margin: .25em 0em;
  padding: 0 0 0 3ex;
  clear: left;
}
#content ul ol, #content ol ul {
  font-size: .875em;
  margin: 0em;
}
#content dl dt { font-weight: bold; }
#content dl dd { margin: 0; padding-left: 2ex}

#content ul li p,
#content ol li p,
#content dl dd > p { margin: 0; }

@media(min-width: 620px) {
  #content dl dt,
  #content dl dd {
    display: inline-block;
    vertical-align: top;
  }
  #content dl dt { width: 20%; text-align: right; }
  #content dl dd { width: 80%; }
}

#content .backtick {
  font-family: monospace;
  background-color: #DDD;
  padding: 0 .5ex;
}

#content pre {
  font-family: monospace;
  background-color: #EEE;
  padding: .5em;
  border-style: solid; border-width: 1px;
  border-color: #39C;
  overflow: auto;
}

/* emoticon images, keep constrained to line */
#content img { max-height: 1em; }

/* actual images */
#content img.external_image,
#content img.attachment {
  float: left;
  max-height: 100%;
  max-width: 99%;
  height: auto;
  overflow: auto;
  margin: 0 1em 1em 0;
}
#content img[align=right] {
  float: right;
  margin: 0 0 1em 1em;
}
#content img[align=middle] {
  float: none;
  display: block;
  margin: 0 auto 1em auto;
}
#content ul img.external_image,
#content ul img.attachment {
  display: block;
  float: none;
}

/* image in attachment view */
#content a.download + br + br + img {
  display: block;
  max-width: 100%;
  max-height: none; /* override emoticon setting */
  margin: auto;
}


#content table {
  background-color: #EEE;
  border-style: solid; border-width: 1px;
  border-color: #39c;
  overflow: auto;
  min-width: 50%;
  max-width: 100%;
  caption-side: bottom;
  border-collapse: collapse;
}
#content table caption {
  background-color: #F8F8F8;
  border-style: dotted solid solid solid; border-width: 1px;
  border-color: #39c;
  padding: .25em .5em;
  text-align: left;
  margin-top: .125em;
}
#content table td,
#content table th {
  padding: .125em .5em;
  border-bottom: 1px solid #CCC;
}
#content table th {
  font-weight: bold;
  font-style: normal;
  border-bottom: 1px solid #888;
}
#content table tr:nth-of-type(2n) {
  background-color: #DDF;
}

#content .comment { background-color: #EEE; }

/* Macro elements */

#content .table-of-contents {
  padding: .5ex 1ex 1ex 1ex;
  background-color: #DEF;
  border: solid 1px #39C;
}
#content .table-of-contents .table-of-contents-heading {
  font-weight: bold;
  margin: 0;
  border-bottom: 1px solid #39C;
}
#content .table-of-contents ol { padding-left: 4ex;}

@media(min-width: 460px){
  #content .table-of-contents {
    float: left;
    margin: 0 1em 1em 0;
    max-width: 50%;
  }
}

#content .searchresults ol,
#content table.navigation,
#content table.navigation tbody,
#content table.navigation tbody tr,
#content table.navigation tbody tr td {
  display: block;
  background-color: #FFF;
  margin: 0; padding: 0;
  border: none;
}
#content .searchresults ol,
#content table.navigation tbody tr td {
  font-size: 0; /* eliminate Moins annoying &nbsp; */
}
#content > .searchresults ol,
#content > table.navigation tbody tr td {
  -moz-column-width: 300px;
  -moz-column-gap: 1px;
  -moz-column-rule: 1px solid #DEF;
  -webkit-column-width: 300px;
  -webkit-column-gap: 1px;
  -webkit-column-rule: 1px solid #DEF;
  column-width: 300px;
  column-gap: 1px;
  column-rule: 1px solid #DEF;
}
#content table.navigation tbody tr td a,
#content .searchresults ol > li {
  display: block;
  font-size: medium;
  font-weight: bold;
  word-wrap: break-word;
  padding: 0; margin: .25ex 1ex;
  vertical-align: top;
  overflow: hidden;
}
#content > table.navigation tbody tr td a,
#content > .searchresults ol > li {
  display: inline-block;
  width: 30%;
  min-width: 300px;
}

/* try to hide leading / in navigation listings */
#content table.navigation tbody tr td a::first-letter { margin-left: -.5625ex;}

#content table.eventcalendar_menubar,
#content table.eventcalendar {width: 100%; background-color: #FFF;}
#content table.eventcalendar {
  border-bottom: none;
  margin-bottom: -1.25em;
  border-spacing: 0;
  padding: 0 1ex;
}
#content table.eventcalendar_menubar {border-top: none;}
#content table.eventcalendar > tbody > tr {
  background-color: transparent;
  display: table-row;
  text-align: center;
}
#content table.eventcalendar > tbody > tr > td {
  width: 14.25%;
  display: table-cell;
  margin:0;
  margin-right: -.75ex;
  vertical-align: top;
  height: 100%;
}
#content table.eventcalendar > tbody > tr:nth-of-type(n+2) > td { border-style: solid; border-width: 0 0 0 1px; }
#content table.eventcalendar > tbody > tr:nth-of-type(n+2) > td:last-of-type { border-width: 0 1px 1px 1px; }
#content table.eventcalendar > tbody > tr:nth-of-type(n+2) > td:last-of-type.cal_noevent { border-bottom-width: 0; }
#content table.eventcalendar > tbody > tr:nth-of-type(2) > td:last-of-type,
#content table.eventcalendar > tbody > tr:nth-of-type(2) > td { border-top-width: 1px; border-bottom-width: 1px; }
#content table.eventcalendar > tbody > tr:nth-of-type(1) > td,
#content table.eventcalendar > tbody > tr > td { text-align: left; }
#content table.eventcalendar > tbody > tr > td.head_yearmonth,
#content table.eventcalendar > tbody > tr > td.head_weekday{ text-align: center; }
#content table.eventcalendar > tbody > tr > td.head_day_nbmonth,
#content table.eventcalendar > tbody > tr > td.head_day_today,
#content table.eventcalendar > tbody > tr > td.head_day {
  text-align: right;
  background-color: #DDF;
  border-bottom: 1px solid #FFF;
}

#content table.eventcalendar > tbody > tr > td.head_dummy,
#content table.eventcalendar > tbody > tr > td.head_dummy_nbmonth,
#content table.eventcalendar > tbody > tr > td.cal_last_noevent,
#content table.eventcalendar > tbody > tr > td.cal_last_nbmonth { display: none; }
#content table.eventcalendar > tbody > tr:last-of-type > td.cal_last_noevent,
#content table.eventcalendar > tbody > tr:last-of-type > td.cal_last_nbmonth {
  display: table-cell;
  border-width: 1px 0;
}

#content table.eventcalendar > tbody > tr > td * {
  display: inline;
  word-wrap: break-word;
  vertical-align: top;
  margin: 0; padding: 0;
  background-color: transparent;
  border: none;
}

#content div.blue, #content div.green, #content div.cyan,
#content div.red, #content div.magenta, #content div.pink,
#content div.yellow, #content div.white, #content div.pagebox {
  padding: 0 1ex;
  margin-bottom: .75em;
}
#content div.pagebox {
  display: inline-block;
  clear: both;
  width: 100%;
  vertical-align: top;
  margin-top: .5em;
}
#content div > h1:first-of-type { margin-top: .6em; }

#content #bottom { display: block; clear: both; }

@media(min-width: 620px) {
  #content div.pagebox { width: 49%; margin-top: 0;}
  #content div.pagebox:nth-of-type(2n-1) { margin-right: 1%; }
  #content div.pagebox:nth-of-type(2n)   { margin-left:  1%; }
  #content div.pagebox:nth-of-type(n+3)  { margin-top:  1em; }
}

#content div.blue    { border: 1px solid #00F; background-color: #EEF; }
#content div.green   { border: 1px solid #0F0; background-color: #EFE; }
#content div.cyan    { border: 1px solid #0FF; background-color: #DFF; }
#content div.red     { border: 1px solid #F00; background-color: #FEE; }
#content div.magenta,
#content div.pink    { border: 1px solid #F0F; background-color: #FDF; }
#content div.yellow  { border: 1px solid #FF0; background-color: #FFD; }
#content div.white   { border: 1px solid #DDD; background-color: #FFF; }


#content .caution, #content .warning, #content .important,
#content .note, #content .tip {
  margin: 0 0 .75em 0;
  padding: .75ex 1.5ex .25ex 10%;
  border: 2px solid #666;
  clear: both;
}
#content .caution   { border-color: #EE0; background-color: #FFD; }
#content .warning   { border-color: #F00; background-color: #FEE; }
#content .important { border-color: #F80; background-color: #FED; }
#content .note      { border-color: #666; background-color: #EEE; }
#content .tip       { border-color: #00F; background-color: #EEF; }

@media(min-width: 620px) {
  #content .caution, #content .warning, #content .important,
  #content .note, #content .tip {
    min-height: 48px;
    padding-left: 80px;
    background-repeat: no-repeat;
    background-position: 24px;
  }
  #content .caution   { background-image: url("../img/admon-caution.png"); }
  #content .warning   { background-image: url("../img/admon-warning.png"); }
  #content .important { background-image: url("../img/admon-important.png"); }
  #content .note      { background-image: url("../img/admon-note.png"); }
  #content .tip       { background-image: url("../img/admon-tip.png"); }
}
