* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 16px;
  overflow-x: hidden;
  max-width: 100vw;
  color: #333;
  font-family: 'Courier Prime', Trebuchet MS, Lucida Sans Unicode, Arial, sans-serif;
  font-size: 20px;
  font-weight: normal;
  background: #e3dfdc;
}

a {
  /*color: #307082;*/
  color: #0066ff;
}

a:hover {
  color: #D60808;
}

acronym {
  border: none;
}

div.menu {
  margin: 0;
  padding: 0 26px;
}

div.menu table tr > td:last-of-type a {
  position: relative;
  top: -10px;
  transition: transform 0.3s ease-in-out;
}

div.menu table tr > td:last-of-type img {
  width: 200px;
  height: auto;
}

div.menu table tr > td:last-of-type a:hover {
  background: transparent;
  transform: scale(1.1);
}

div.container {
  position: relative;
  display: block;
  overflow-x: hidden;
  max-width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  background: white;
}

div.allmenu {
  height: 30px;
  margin: 10px 0;
}

div.allmenu a:link,
div.allmenu a:visited {
  color: inherit;
  text-decoration: none;
}

div.allmenu a:hover {
  background: #333;
  color: #fff !important;
}

div.sidemenu {
  width: 58%;
  margin-left: auto;
  margin-right: auto;
}

div.sidemenu ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  column-gap: .5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

div.sidemenu ul ul {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  position: relative;
  line-height: 1;
  transform: translateX(-50px);
}

div.sidemenu ul ul li {
  transform: translateX(50px);
}

div.sidemenu ul ul ul {
  transform: translateX(0);
}

div.sidemenu ul ul > li:first-of-type::before {
  content: "\27F6"; /* Unicode for ⟶ */
  position: relative;
  padding-right: 5px;
}

div.sidemenu a:link,
div.sidemenu a:visited,
div.allmenu .menu table td a {
  font-weight: normal;
  color: #333;
  text-decoration: none;
  display: inline-block;
  padding: 6px 8px;
  line-height: 1;
}

div.sidemenu a:hover,
div.allmenu a:focus-visible {
  background: #333;
  color: #fff;
}

div.page {
  margin: 0;
  padding: 20px 80px;
  min-height: 400px;
  clear: both;
  line-height: 150%;
}

div.page img {
  float: left; 
  padding-right: 1em;
  padding-bottom: 1em;
  /* Mozilla has a rather ugly default of borders around any-link-img */
  border-style: none;
}

div.page p {
  text-align: justify;
  line-height: 1.4;
}

div.p {
  clear: both;
}

div.page h1 {
  font-size: 2.2rem;
  font-weight: bold;
  color: #0066ff;
  line-height: 1;
}

div.page h2 {
  color: #ff0000;
}

div.page h1:not(:first-of-type) {
  margin-top: 4rem;
}

div.page h3 {
  font-size: 1.2em;
  font-weight: bold;
  color: #09345f;
}

div.code {
  margin-top: 1em;
  margin-bottom: 1em;
  background-color: #DDDDDD;
  font-family: monospace, mono, monotype, serif, sans-serif;
}

pre {
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 2em;
  background-color: #DDDDDD;
  font-family: monospace, mono, monotype, serif, sans-serif;
}

div.screen {
  margin-top: 1em;
  margin-bottom: 1em;
  background-color: #121212;
  color: #fff;
  font-family: monospace, mono, monotype, serif, sans-serif;
}

div.footer {
  width: 100%;
  text-align: center;
  font-style: italic; 
  font-size: 80%;
  margin: 0;
  padding: 40px 80px;
}

div.head {
  font-size: 112%;
  font-weight: bold;
}

div.cont {
  text-align: justify;
  margin-left: 2em;
  margin-bottom: 1.5em;
}

article p {
  text-align: justify;
  margin-left: 2em;
  margin-bottom: 1.5em;
}

article > p:last-of-type {
  margin-bottom: 2.5em;
}

article ul li {
  list-style-position: inside;
}

article h2 {
  font-size: 150%;
  font-weight: bold;
}

article time {
  font-size: 90%;
  color: #333;
  background-color: rgba(255, 255, 0, 1);
  padding: 2px 6px;
}

article:target {
  background: #e3dfdc;
  -moz-box-shadow: 0 0 5px 10px #999999ff;
  -webkit-box-shadow: 0 0 5px 10px #999999ff;
  box-shadow: 0 0 5px 5px #999999ff;
  border-radius: 10px;
  padding: 2px;
}

#newslinkid {
  color: #333 !important;
  text-decoration: none;
}

#newslinkid:hover {
  color: grey !important;
  text-decoration: none;
}

div.subentry {
  margin-left: 1em;
}

article h2 {
  margin-bottom: 1px;
}

/*************************************** responsive ***************************************/
@media only screen and (max-width:1200px) {
 div.sidemenu {
  width: 80%;
 }
 
}

@media only screen and (max-width:1024px) {
 body {
  padding: 8px;
 }

 div.page,
 div.footer {
  padding: 8px;
 }

}
 
@media only screen and (max-width:992px) {
 body {
  font-size: 17px;
 }

 div.allmenu {
  height: 54px;
 }

 div.sidemenu {
   width: calc(100% - 80px);
 }
 
 div.menu table tr > td:last-of-type img {
  width: 160px;
 }

}


@media only screen and (max-width:767px) {
 body {
  padding: 10px;
 }

 body,
 html {
  font-size: 14px;
 }

 div.allmenu {
  width: 100%;
  height: 8px;
  margin-left: 0;
  background-position: center 10px;
  margin-bottom: 8px;
 }

 div.menu table tr > td:last-of-type a {
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translateX(-50%);
 }

 div.menu {
  padding: 0;
 }

 div.container {
  width: 100%;
  background: #FFF;
  box-shadow: none;
 }

 div.sidemenu {
  position: static;
  top: 0;
  left: 0;
  width: 100%;
  margin: 30px 0;
 }

 div.sidemenu ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  column-gap: 0;
  max-width: calc(100% - 20px);
  margin-left: auto;
  margin-right: auto;
 }

 div.page {
  margin: 0 10px;
 }

 div.page,div.footer {
  padding: 0;
 }

 div.sidemenu li {
  display: inline;
  list-style-type: none;
  padding-right: 8px;
 }

 div.footer {
  margin: 30px 0 20px 0;
  padding: 0 10px;
 }

 article p,
 article pre {
  margin-left: 0;
 }

 article pre {
  overflow-x: scroll;
  padding-right: 40px;
 }

 article ul li {
  list-style-position: outside;
 }

}
 
@media (prefers-color-scheme: light) {
 div.allmenu { background: #ffffff;}
}
 
@media (prefers-color-scheme: dark) {
 body { background: #121212; color: #cad3f5; }
 div.container { background: #232323; }
 div.allmenu a:hover { background: #4dc4c4; color: #121212 !important; }
 div.sidemenu a:link, div.sidemenu a:visited, div.allmenu .menu table td a { color: #fff; }
 div.sidemenu a:hover, div.allmenu a:focus-visible { background: #4dc4c4; color: #121212; }
 div.page h1 { color: #39648f; }
 div.page h2 { color: #b31b1b; }
 div.page h3 { color: #6969ff; }
 #newslinkid { color: #808080 !important; text-decoration: none; }
 #newslinkid:hover h2 { /*color: #a78080;*/ opacity: .9; text-decoration: none; }
 article time { color: #ffff00; background-color: transparent; padding: 0; }
 article:target { background: #3c4562; }
 pre { background-color: #363a4f; }
 div.code { background-color: #363a4f; }
 div.screen { background-color: #363a4f; color: #61c192; }
 div.allmenu { background: #232323; }
 a { color: #6070ff; }
 a:hover { color: #f69816; }
 div.footer { background: #232323;}
}
