:root {
  color-scheme: dark;
  --background-colour: #000;
  --grey-background-colour: #202020;
  --grey-background-colour-trans: rgba(32, 32, 32, 0.5);
  --text-colour: #bbb;
  --link-colour: #669999;
  --link-hover-colour: #defcba;
  --header-colour: #deadab;
  --gold-colour: #efdcab;
  --border-colour: #909090;
  --news-header-colour: #a1b2c3;
  --box-header-background-colour: #101010;
  --serif-font: "Georgia", serif;
  --sans-serif-font: "Arial", sans-serif;
  --monospace-font: monospace;
}
@font-face {
  font-family: 'FontWithASyntaxHighlighter';
  src:
    url('FontWithASyntaxHighlighter-Regular.woff2')
    format('woff2')
  ;
}
@font-palette-values --jorsysPalette {
  font-family: 'FontWithASyntaxHighlighter';
  override-colors:
    0 orange,      /* keywords, {} */
    1 #e65656,     /* comments */
    2 yellow,      /* literals */
    3 #2aaaba,     /* numbers */
    4 #50a0e0,     /* functions, [] */
    5 lightgreen,  /* js others */
    6 black,       /* not in use */
    7 hotpink,     /* inside quotes, css properties, few chars */
    8 darkgray     /* few chars */
  ;
}


@media only screen and (max-width: 699px) {
  .logo {
    top: 0;
  }
  #topline {
    width: 50px;
    clip-path: path("M 0 49 L 51 97 L 51 99 0 51 L 0 50 Z");
  }
  .toplogo {
    left: 225px;
    width: calc(100vw - 225px - 1em);
    object-fit: contain;
    object-position: left;
    border-bottom: 1px solid var(--border-colour);
    padding: 1ex 0 1ex 0;
    z-index: 2;
    top: 0;
  }

  .menus {
    position: absolute;
    z-index: 1;
    background-color: var(--background-colour);
    padding-right: 1ex;
    top: 140px;
  }
  input:checked ~ .foldedmenu {
    display: none;
  }
  input:not(:checked) ~ .overlay {
    display: none;
  }
  input:not(:checked) ~ .menus {
    display: none;
  }
  .foldedmenu::after {
    display: block;
    content: "";
    width: 175px;
    height: 50px;
    z-index: 2;
    clip-path: path("M 0 20 L 0 19 L 149 19 L 174 0 L 174 0 L 175 0 L 175 1 L 150 20 L 0 20 Z");
    background-color: var(--border-colour);
    border-bottom: 1px solid var(--border-colour);
  }
  .foldedmenu {
    position: absolute;
    display: block;
    width: 175px;
    height: 1.5em;
    text-align: center;
    border-right: 1px solid var(--border-colour);
    top: 135px;
    left: -1px;
    z-index: 2;
  }
  .overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
  }

  .site {
    display: block;
  }
  .middle {
    width: 100%;
  }
  .content {
    margin-top: 5em;
    padding-left: 2%;
    padding-right: 2%;
  }

  .news-date {
    display: inline;
  }
  .news-datetime {
    display: none;
  }
  .newsmeta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex: 0 0 auto;
    padding: 1ex;
    font-size: small;
  }
}

@media only screen and (max-width: 999px) {
  .rightmenu::after {
    content: "";
    display: block;
    background: var(--border-colour);
    width: 175px;
    height: 50px;
    clip-path: path("M 0 50 L 0 49 L 149 49 L 174 30 L 174 0 L 175 0 L 175 31 L 150 50 L 0 50 Z");
  }
  .rightmenu {
    position: relative;
    margin-top: -1em;
  }
  .menucontentright {
    padding-top: 1em;
    padding-right: 1ex;
    border-right: 1px solid var(--border-colour);
    margin-top: -5px;
  }
  .rightmenu hr {
    margin-left: 1ex;
  }

  .postedby {
    display: none;
  }
}

@media only screen and (min-width: 700px) {
  .leftmenu {
    top: 190px;
  }
  .foldedmenu {
    display: none;
  }

  .logo {
    top: 50px;
  }
  #topline {
    width: 400px;
    clip-path: path("M 0 99 L 0 100 L 275 100 L 400 1 L 400 0 L 275 99 L 0 99 Z");
  }

  .site {
    display: flex;
  }
  .middle {
    width: calc(100% - 175px);
  }
  .content {
    padding-left: 2%;
    padding-right: 2%;
  }

  .news-date {
    display: none;
  }
  .news-datetime {
    display: inline;
  }
  .newsmeta {
    display: flex;
    flex-direction: row;
    flex: 0 0 auto;
    gap: 0.5rem;
    justify-content: flex-end;
    font-size: 1em;
    padding-right: 1em;
  }
}
@media only screen and (min-width: 700px) and (max-width: 999px) {
  .rightmenu {
    top: 190px;
  }
  .toplogo {
    margin-left: 1em;
    padding: 1ex;
    height: 80px;
    position: absolute;
  }
}

@media only screen and (min-width: 1000px) {
  .leftmenu::after {
    content: "";
    display: block;
    background: var(--border-colour);
    width: 175px;
    height: 50px;
    clip-path: path("M 0 50 L 0 49 L 149 49 L 174 30 L 174 0 L 175 0 L 175 31 L 150 50 L 0 50 Z");
  }
  .rightmenu {
    top: 0;
    right: 3px;
    position: absolute;
  }
  .rightmenu::before {
    content: "";
    display: block;
    background: var(--border-colour);
    width: 175px;
    height: 120px;
    clip-path: path("M 0 120 L 0 110 L 30 90 L 40 90 L 140 20 L 175 20 L 175 21 L 140 21 L 40 91 L 30 91 L 1 110 L 1 120 Z");
  }
  .rightmenu::after {
    content: "";
    display: block;
    background: var(--border-colour);
    width: 175px;
    height: 50px;
    clip-path: path("M 0 0 L 0 30 L 25 50 L 175 50 L 175 49 L 25 49 L 1 30 L 1 0 Z");
  }
  .menucontentright {
    padding-left: 1ex;
    border-left: 1px solid var(--border-colour);
  }
  .rightmenu hr {
    margin-left: 0;
  }
  .menudivisor {
    display: none;
  }

  .toplogo {
    margin-left: 1em;
    padding: 1ex;
  }

  .middle {
    width: calc(100% - (175px + 175px));
  }
  .content {
    padding-left: 8%;
    padding-right: 8%;
  }
}
@media only screen and (min-width: 1300px) {
  .newsmeta {
    gap: 2rem !important;
  }
}



/** <logos> **/
#menulogo {
  margin-left: 50px;
  margin-top: 20px;
  position: absolute;
  width: 80px;
}
#menulogoencirclement {
  clip-path: path("M 175 49 L 400 49 L 499 0 L 500 0 L 400 50 L 175 50 L 151 50 A 61 61 0 1 0 150 80 L 175 80 L 175 175 L 174 175 L 174 79 L 151 79 A 61 61 0 1 1 150 49 Z");
  background-color: var(--border-colour);
  height: 135px;
  width: 175px;
}
#topline {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 175px;
  height: 100px;
  background-color: var(--border-colour);
}
.logo {
  position: absolute;
  z-index: 1;
  background-color: var(--background-colour);
}
.toplogo {
  height: 80px;
  position: absolute;
}
/** <logos> **/



/** <menus> **/
#menucheckbox {
  display: none;
}

.leftmenu {
  position: relative;
  width: 175px;
}
.menucontentleft {
  padding: 1em 1ex 0 0;
  border-right: 1px solid var(--border-colour);
  margin-top: -5px;
}
.leftmenu hr {
  margin-left: 1ex;
}

.rightmenu {
  width: 175px;
}
.rightmenu img {
  display: none;
}
.menudescr {
  color: var(--header-colour);
  white-space: nowrap;
  font-weight: bold;
}
.menuheader {
  color: var(--gold-colour);
  padding-top: 1em;
  font-weight: bold;
}

.menucontent {
  font-family: var(--sans-serif-font);
  text-align: end;
}
.menucontent ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.menucontent hr {
  margin-top: 1em;
  margin-bottom: 1em;
  margin-right: 0;
  background: var(--border-colour);
  border: none;
  height: 1px;
}
/** </menus> **/



/** <news styling> **/
.newsheader {
  background-color: var(--box-header-background-colour);
  color: var(--news-header-colour);
  display: flex;
  align-items: center;
  font-family: var(--sans-serif-font);
  width: 100%;
  border-bottom: 1px solid var(--border-colour);
}
.newstitle {
  flex: 1 1 auto;
  font-size: 1.2em;
  font-weight: bold;
  padding: 1ex;
}

.newscontainer {
  margin-bottom: 2em;
  border-color: var(--border-colour);
  border-style: solid;
  border-width: 1px;
}
.newscontent {
  padding: 0 1em 0 1em;
}
.newscontent img, .newscontent hr {
  max-width: 71%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2em;
  margin-bottom: 2em;
}
.newscontent table {
  margin-left: auto;
  margin-right: auto;
}
/** </news styling> **/



/** <quote styling> **/
blockquote {
  font-style: italic;
  text-align: justify;
}
.quote-source::before {
  content: "— ";
  color: var(--text-colour);
}
.quote-source {
  color: var(--gold-colour);
  margin-left: 5em;
}
.quote-time {
  display: none;
}
/** </quote styling> **/



/** <heading styling> **/
.heading {
  display: flex;
  flex-direction: row;
}
.headingtitle {
  margin: 1ex;
}
.heading:hover > .headinglink {
  display: block;
}
.headinglink {
  display: none;
  align-content: center;
  margin-left: 1em;
}
/** </heading styling> **/



/** <format table and box styling> **/
.formattable {
  background-color: var(--grey-background-colour);
  width: 100%;
  border: 1px solid var(--border-colour);
}
.formattable dl {
  display: grid;
  grid-template-columns: auto 1fr;
}
.formatlbl {
  text-align: right;
  vertical-align: top;
  font-weight: bold;
  padding-right: 1em;
  width: 7em;
}
.formatbitlbl {
  text-align: right;
  vertical-align: top;
  font-weight: bold;
  padding-right: 1em;
}
.formatbox {
  padding: 0 1em 1em 1em;
  margin: 1em;
  background-color: var(--grey-background-colour-trans);
  border: 3px solid var(--border-colour);
}
.formatbox-title {
  font-size: 1.5em;
  text-decoration: underline;
}
/** </format table and box styling> **/



/** <Code and code boxes> **/
code {
  color: var(--header-colour);
  word-wrap: break-word;
  padding: .1rem .3rem .3rem;
  border-radius: .2rem;
  border: 1px solid;
  border-color: var(--border-colour);
  font-family: var(--monospace-font);
}
pre code {
  display: block;
  overflow: scroll;
}
.code-block code {
  border: 0;
}
.code-block {
  word-wrap: break-word;
  padding: .1rem .3rem .3rem;
  border-radius: .2rem;
  border: 1px solid;
  border-color: var(--border-colour);

  line-height: 1em;
  font-size: medium;

  counter-reset: line;
  padding-left: 3em;
  position: relative;
  white-space: pre;
}

.codeblock-line {
  display: block;
  position: relative;
  padding-left: 1.5em;
  font-family: "FontWithASyntaxHighlighter", monospace;
  font-palette: --jorsysPalette;
}

/* Line number styling */
.codeblock-line::before {
  counter-increment: line;
  content: counter(line);
  position: relative;
  left: -2em;
  width: 2em;
  text-align: right;
  color: var(--text-colour);
  user-select: none; /* prevents selecting line numbers */
  font-family: var(--monospace-font);
  display: inline-block;
}
/** </Code and code boxes> **/



/** <misc> **/
body {
  background-color: var(--background-colour);
  color: var(--text-colour);
  font-family: var(--serif-font);
  margin: 0;
}

p {
  text-align: justify;
  font-size: 1em;
}

.content ul {
  text-align: justify;
}

a {
  color: var(--link-colour);
  text-decoration: none;
}
a:hover {
  color: var(--link-hover-colour);
}
a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.centered {
  margin: auto;
  display: block;
  max-width: 100%;
}

.content h1 {
  text-align: center;
  font-weight: bold;
  font-size: 2em;
  text-transform: uppercase;
  letter-spacing: 1ex;
  white-space: pre-line;
  padding: 3.5em 0 1em 0;
  margin-left: auto;
  margin-right: auto;
}

.contentillustration {
  text-align: center;
  clear: both;
  display: block;
}
.contentillustration img {
  max-height: 128px;
  max-width: 100%;
}

.aboutbox {
  text-align: justify;
  max-width: 40em;
  margin: 0 auto 3em auto;
  color: var(--gold-colour);
}

.copyrightfooter {
  text-align: justify;
  color: var(--gold-colour);
  padding: 1em 10% 1em 10%;
}

.gold {
  color: var(--gold-colour);
  display: inline;
}
/** </misc> **/
