@font-face {
  font-family: "IPAMonaGothic";
  src: local("IPAMonaGothic"),
    url("../fonts/IPAMonaGothic.woff2") format("woff2"),
    url("../fonts/IPAMonaGothic.woff") format("woff");
}

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  background-color: #005050;
  background-image: url(../img/bg4.png);
  color: #ffffff;
  /* font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Osaka, Meiryo, "ＭＳ ゴシック", "MS Gothic", HiraKakuProN-W3, "TakaoExゴシック", TakaoExGothic, "MotoyaLCedar", "Droid Sans Japanese", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; */
  font-family:
    "MS Gothic",
    "Osaka-Mono",
    "BIZ UDGothic",
    "IPAMonaGothic",
    monospace;
  font-size: 12pt;
  overflow-wrap: break-word;
  line-height: 1.5;
}

.center {
  background-color: #004040;
  border: 3px solid;
  border-top-color: #307070;
  border-left-color: #307070;
  border-right-color: #002828;
  border-bottom-color: #002828;
  padding: 12px;
  margin: 1em auto;
  max-width: 640px;
}

.center > *:first-child {
  margin-top: 0;
}

.center > *:last-child {
  margin-bottom: 0;
}

details,
pre,
footer {
  margin-left: auto;
  margin-right: auto;
}

a {
  color: #eeffee;
}

a:visited {
  color: #dddddd;
}

a:active {
  color: #ff0000;
}

h1, h2, h3, h4, h5, h6 {
  margin-bottom: 0;
}

h1 {
  color: #ffff00;
  font-weight: 600;
  line-height: 1.2;
  /* text-shadow: 3px 3px rgba(0,0,0,0.2); */
}

h2, h3, h4, h5, h6 {
  color: #ffffee;
  font-weight: 600;
}

/* p {
  max-width: 40em;
} */

ol, ul {
  margin: 1em 0;
  padding-left: 1em;
}

blockquote {
  color: #99cccc;
  /* padding: 0 1em; */
  margin-left: 0;
  margin-right: 0;
  text-align: center;
  /* font-family:
    "MS Gothic",
    "Osaka-Mono",
    "BIZ UDGothic",
    "IPAMonaGothic",
    monospace; */
  /* line-height: 1; */
}

blockquote::before {
  content:"“";
}

blockquote::after {
  content:"”";
}

/* small {
  font-weight: bold;
} */

footer {
  max-width: 640px;
  border-top: 2px groove #387f7f;
  margin-top: 1em;
}

/* button {
  background-color: #c0c0c0;
  border-color: #ffffff;
  font-family: inherit;
} */

#globalNav {
  background-color: #003030;
  border: 1px solid #306060;
  /* border-bottom: 2px groove #c0c0c0; */
  /* border-top: none; */
}

details {
  max-width: 640px;
}

details > summary {
  background-color: #007f7f;
  /* border: 3px solid;
  border-top-color: #00a0a0;
  border-left-color: #00a0a0;
  border-bottom-color: #006060;
  border-right-color: #006060; */
  padding: 0 0.25em;
  cursor: pointer;
}

#globalNav ul {
  padding: 0.5em;
  margin: 0;
}

#globalNav ul li {
  display: inline-block;
}

#globalNav ul li::after {
  content: "|";
  margin: 0 0.5em;
}

#globalNav ul li:last-of-type:after {
  content: "";
  margin-right: 0em;
}

#globalNav .currentPage {
  background-color: #80b0b0;
  color: #000000;
  font-weight: bold;
  padding: 1px 2px;
}

.navHome {
  box-sizing: border-box;
  background-color: #003030;
  border: 3px solid;
  border-top-color: #002828;
  border-left-color: #002828;
  border-right-color: #307070;
  border-bottom-color: #307070;
  padding: 0 1em;
  margin: 1em auto;
  max-width: 40em;
}

.navHome ul {
  padding-left: 1em;
}

/* .navHome ul {
  list-style-type: none;
  padding-left: 0;
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
  list-style-position: inside;
} */

.navHome li {
  margin-bottom: 1em;
}

span[lang="ja"] {
  color: #99cccc;
}

.subtitle {
  color: #00ffff;
  font-weight: 600;
  font-size: 0.625em;
}

#contentsContainer {
  display: table;
  background-color: #003030;
  border: 3px solid;
  border-top-color: #002828;
  border-left-color: #002828;
  border-right-color: #307070;
  border-bottom-color: #307070;
  padding: 0 1em;
  margin: 1em auto;
  /* text-align: center; */
}

#contentsContainer > ol {
  list-style-type: none;
  padding-left: 0;
  /* columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2; */
  list-style-position: inside;
}

#contentsContainer li {
  margin-bottom: 0.5em;
}

#contentsContainer > ol ol {
  list-style-type: disc;
  margin: 0;
  padding-left: 1em;
  font-size: 0.875em;
  text-align: left;
}

.timeline h3 {
  color: inherit;
  font-size: 1em;
  margin-bottom: 0;
}

.timeline p,
.timeline ul,
.timeline ol {
  margin-top: 0;
  margin-left: 2em;
}

.tlNote ul,
.tlNote ol {
  margin-left: 1em;
}

mark {
  color: #ffff00;
  background-color: initial;
}

/* mark a {
  color: #ffff00 !important;
} */

.editorsNote {
  /* color: #ff8080; */
  color: #ff7777;
  /* padding: 0.25em 0; */
}

.tlNote {
  color: #90f090;
  /* color: #77ff99; */
}

/* .person {
  text-decoration:underline;
  text-decoration-style: dotted;
} */

.person::after {
  content: "\1F464\FE0E";
  font-size: 0.625em;
  vertical-align: text-top;
  display: inline-table;
}

.nobreak {
  word-break: keep-all;
  white-space: nowrap;
}

pre {
  background-color: #080808;
  color: #ffffff;
  border: 3px solid;
  border-top-color: #002828;
  border-left-color: #002828;
  border-right-color: #307070;
  border-bottom-color: #307070;
  padding: 0.5em;
  font-family:
    "MS Gothic",
    "Osaka-Mono",
    "BIZ UDGothic",
    "IPAMonaGothic",
    monospace;
  line-height: 1;
  overflow-x: auto;
}

#gene2000 {
  max-width: 82em;
}

#gene2007 {
  max-width: 39.5em;
}

.legend {
  background-color: #006030;
}

.lineage {
  color: #ffff00 !important;
}

.unknown {
  background-color: #333333;
  color: #ffffff;
}

.eden {
  background-color: #ffffee;
  color: #000000;
}

.muryou {
  background-color: #ffffff;
  color: #000000;
}

.shiba {
  background-color: #007f7f;
  color: #ffffff;
}

.soldigit {
  background-color: #507f90;
  color: #ffffff;
}

.taihiyou {
  background-color: #000050;
  color: #ffffff;
}

.honten {
  background-color: #303c6d;
  color: #ffffff;
}

.rebirth {
  background-color: #004040;
  color: #ffffff;
}

.dlKaomoji .dlRow dd:last-of-type {
  margin-bottom: 1em;
}

.dlKaomoji dt {
  color: #ffffee;
  font-weight: bold;
}

.map {
  background-color: #eeeedd;
  color: #000000;
}

.map a {
  color: #0000cc;
}

.map a:visited {
  color: #800080;
}

.map a:active,
.map a:hover {
  color: #ff0000 !important;
}

#mapEast {
  max-width: 57em;
}

#mapWest {
  max-width: 55em;
}

.mapWater {
  background-color: #007f7f;
  color: #ffffff;
}

.mapCol1 {
  background-color: #ddddaa;
  color: #000000;
}

.mapCol2 {
  background-color: #ddbbdd;
  color: #000000;
}

.mapCol3 {
  background-color: #aadddd;
  color: #000000;
  z-index: -1;
}

.mapCol4 {
  background-color: #aaddaa;
  color: #000000;
}

.mapCol5 {
  background-color: #ddbbbb;
  color: #000000;
}

#starchart {
  /* background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../img/Starfsml.gif"); */
  background-image: url("../img/Bg.gif");
  max-width: 66.5em
}

/* .star {
  color: #cceeff;
} */

.starname {
  color: #00ffff;
}

.dlGlossary {
  max-width: 40em;
}

.dlGlossary dt {
  color: #ffffee;
  font-weight: bold;
}

.dlGlossary p {
  margin-top: 0;
}

.serverTable {
  border-top: 1px solid #307070;
  border-bottom: 1px solid #307070;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 1em 0;
  /* width: 100%; */
  /* font-size: 14px; */
}

.serverTable tr {
  border-bottom: 1px solid #307070;
}

.serverTable td {
  padding: 0 0.25em;
}

.serverTable tr > td:not(:last-of-type) {
  padding: 0 1em 0 0;
}

/* .serverTable tr > td:not(:last-of-type) {
  border-right: 1px solid #307070;
} */

#buttonTop {
  height: 4em;
  width: 4em;
  padding: 0;
  position: fixed;
  bottom: 0.5em;
  left: 0;
  right: 0.5em;
  margin-left: auto;
  margin-right: 0;
  z-index: 1;
  filter: opacity(0.67);
  font-size: 0.833333em;
}

#buttonTop:hover {
  filter: opacity(1);
}

@media only screen and (max-width: 800px) {
  body {
    font-size: 14px;
    /* line-height: 1.5; */
  }
}

@media only screen and (max-width: 500px) {
  body {
    margin: 0;
    font-size: 1.125em;
    /* line-height: 1.4; */
  }
  
  h1, h2, h3, h4, h5, h6 {
    text-align: center;
  }

  ul li {
    margin-top: 0.5em;
  }

  ul li:first-of-type {
    margin-top: 0;
  }

  blockquote {
    line-height: inherit;
  }

  #globalNav {
    border: 0;
  }

  .navHome dd {
    margin-left: 0;
  }

  .center {
    border-left: 0;
    border-right: 0;
  }

  .subtitle {
    display: block;
  }

  .timeline ol {
    margin-left: 1em;
  }

  .timeline ul {
    margin-left: 0;
  }

  h3 {
    text-align: left;
  }

  .timeline p {
    margin-left: 0;
  }

  .editorsNote {
    padding: 0.25em 0;
  }

  .dlRow dd:last-of-type {
    margin-bottom: 1em;
  }

  pre {
    font-size: 14px;
    margin-left: 0.5em;
    margin-right: 0.5em;
  }

  .dlGlossary dd,
  .dlKaomoji dd {
    margin-left: 1em;
  }

  footer {
    padding: 0 0.5em;
  }
}

/* @media only screen and (min-width: 2600px) {
  body {
    font-size: 2.5em;
  }

  footer,
  details,
  .center {
    max-width: 40em;
  }
} */

@media print {
  * {
    border-color: #666666 !important;
  }

  body {
    background-color: #ffffff;
    background-image: none;
    color: #000000;
  }

  .center {
    background-color: #ffffff;
    border: none;
    padding: 0;
  }

  a,
  a:visited {
    color: #0080ff;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: #333333;
  }

  mark {
    background-color: #ffff00;
    color: #000000;
  }

  /* nav {
    display: none;
  } */

  #globalNav {
    background-color: initial;
  }

  #globalNav .currentPage {
    background-color: initial;
    border: 1px solid;
  }
  
  details > summary {
    background-color: initial;
    border: 1px solid;
    border-bottom: none;
  }

  .navHome {
    background-color: initial;
  }

  pre {
    background-color: initial;
    color: initial;
  }

  .subtitle {
    color: #008080;
  }

  #contentsContainer {
    background: none;
  }

  blockquote,
  span[lang="ja"] {
    color: #009999;
  }

  span[style="color:#ffff00"] {
    background-color: #ffff00;
    color: #000000 !important;
  }

  .editorsNote {
    color: #dd0000;
  }

  .tlNote {
    /* color: #009900; */
    background-color: #bbddbb;
    color: #000000;
  }

  .legend {
    background-color: #cccccc;
  }

  .lineage {
    background-color: #ffff00;
    color: #000000 !important;
  }

  .map {
    background-color: #ffffff;
  }

  .mapWater {
    background-color: #eeffff;
    color: #000000;
  }

  .mapCol1 {
    background-color: #ffffcc;
  }

  .mapCol2{
    background-color: #ffddff;
  }

  .mapCol3{
    background-color: #ccffff;
  }

  .mapCol4{
    background-color: #ccffcc;
  }

  .mapCol5{
    background-color: #ffcccc;
  }

  #starchart {
    background-image: none;
  }

  .starname {
    color: #008080;
  }

  .dlKaomoji dt,
  .dlGlossary dt {
    color: #333333;
  }

  .linkHonten,
  .linkNazo {
    background: none !important;
    color: #000000 !important;
  }

  .linkNazo a:visited {
    color: #0080ff !important;
  }

  #buttonTop {
    display: none;
  }
}