@font-face {
  font-family: 'SpecialElite';
  src: url('fonts/SpecialElite-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Nunito';
  src: url('fonts/Nunito-VariableFont_wght.ttf') format('truetype');
}

:root {
    --font-headline-1: SpecialElite, Courier;
    --font-headline-2: Nunito, Arial;
    --font-text: SpecialElite, Courier;
    --fontsize-1: 1em;
    --fontsize-2: 1.1em;
    --fontsize-3: 1.6em;
}
@media (prefers-color-scheme: dark) {
	:root {
	  --background-color: rgb(38,46,50);
      --font-color-text: rgb(225,225,225);
      --border-color-gray: rgb(225,225,225,0.5);
      --bg-color-signal: rgb(225,0,0);
	}
}
@media (prefers-color-scheme: light) {
	:root {
	  --background-color: rgb(210,240,255);
      --font-color-text: rgb(0,0,0);
      --border-color-gray: rgb(0,0,0,0.5);
      --bg-color-signal: rgb(255,0,0);
	}
}

html {
    margin: 0em;
    padding: 0em;
    color: var(--font-color-text, black);
    background-color: var(--background-color, white);
}
body {
    font-family: var(--font-text, Helvetica, Arial);
    font-size: 1em;
    font-weight: 400;
    margin: 0em;
    padding: 0em;

    display: grid;
    grid-template-columns: 3em auto 3em;
    grid-template-rows: auto;
    grid-template-areas: 
    ". header ."
    ". main ."
    ". footer .";
}
a {
    color: inherit;
    border: none;
    text-decoration: underline; 
    text-underline-offset: 0.125em; 
    text-decoration-thickness: 1px;
}
a:active, a:focus {
    outline: none;
    outline-style: none
}

hr {
    border-style: none;
    border-top-style: dotted;
    border-top-width: 1px;
    border-top-color: var(--font-color-text, black);
}
p {
    font-family: var(--font-text, Courier, Helvetica);
    font-size: var(--fontsize-1);
    text-align: left;
    line-height: 1.5;
    margin: 0.5em 0em;
}

h1 {
    font-family: var(--font-headline-1, Helvetica);
    font-size: var(--fontsize-2);
    font-weight: bold;
    margin: 0.5em 0em;
}
h2 {
    font-family: var(--font-headline-1, Helvetica);
    font-size: var(--fontsize-1);
    margin: 1em 0em;
}
h3 {
    font-family: var(--font-headline-1, Helvetica);
    font-size: var(--fontsize-3);
    margin: 0.5em 0em;
}
h4 {
    font-family: var(--font-headline-1, Helvetica);
    font-size: var(--fontsize-2);
    margin: 0.5em 0em;
}


header {
    grid-area: header;
    position: relative;
    display: block;
    padding: 1em 0em 2em 0em;
}
header h3 {
    font-family: var(--font-headline-2, Helvetica);
    font-size: var(--fontsize-1);
    font-weight: normal;
    margin: 0.25em;
}
header h1 {
    font-family: var(--font-headline-1, Courier, Helvetica);
    font-size: var(--fontsize-3);
    margin: 2em 0em 0em 0em;
}
header h2 {
    font-family: var(--font-headline-1, Courier, Helvetica);
    font-size: var(--fontsize-2);
    margin: 0em 0em;
}
header h1, header h2, header h3 {
    padding: 0em;
    text-align: center;
}


main {
    grid-area: main;
    position: relative;
    display: grid;
    column-gap: 1em;
    row-gap: 0em;
}
.main_portal {
    grid-template-columns: calc(40% - 0.5em) calc(60% - 0.5em);
    grid-template-rows: auto auto;
    grid-template-areas:
    "main0 main0"
    "main1 main2";
}
.main_article {
    grid-template-columns: calc(40% - 0.5em) calc(60% - 0.5em);
    grid-template-rows: auto auto;
    grid-template-areas:
    "main0 main0"
    "main1 main2";
}

maintop {
    grid-area: main0;
    position: relative;
    display: block;
}
mainleft {
    grid-area: main1;
    position: relative;
    display: block;
}
mainright {
    grid-area: main2;
    position: relative;
    display: block;
}

introtext {
    position: relative;
    display: block;
    margin: 1em 0em 1.5em 0em;
}
introtext p {
    text-align: center;
}

footer {
    grid-area: footer;
    position: relative;
    display: block;
    margin: 4em 0em 2em 0em;
}
footer p {
    font-family: var(--font-headline-2, Helvetica);
    text-align: center;
}



.signal {
    padding: 0em 0.1em;
    background-color: var(--bg-color-signal, red);
    color: white;
    display: inline-block;
    overflow: visible;
}


maintext {
    position: relative;
    display: block;
    float: left;
    margin: 0em 0em 2em 0em;
}

serieslinks {
    position: relative;
    display: block;
    float: left;
    width: 100%;
}

images {
    position: relative;
    display: block;
    float: left;
    margin: 0em 0em 2em 0em;

    background: white;
    border-style: solid;
    border-width: 0.75em;
    border-color: white;
    box-shadow: 0px 0px 1px rgba(0,0,0,0.5);
}
images div {
    position: relative;
    display: block;
    float: left;
}

.recent_post_image {
    width: calc(100% - 1.5em);
    object-fit: cover;
    border-style: solid;
    border-width: 0.75em;
    border-color: white;
    box-shadow: 0px 0px 1px rgba(0,0,0,0.5);
}

teasertitle {
    position: relative;
    display: block;
    margin: 0em 0em 0em 0em;
    padding: 0.25em 0em 0.25em 0em;
}
teasertitle h1 {
    text-align: left;
}

teasertext {
    position: relative;
    display: block;
    margin: 0em 0em 2em 0em;
    padding: 0.25em 0em 0.25em 0em;
}
teasertext h1 {
    font-size: var(--fontsize-2);
}
teasertext h5 {
    font-size: var(--fontsize-1);
}

.left_bar {
    padding: 0.25em 0em 0.25em 1.5em;
    border-left-style: solid;
    border-left-width: 0.5em;
    border-left-color: var(--border-color-gray, black);
}



linklisttitle {
    position: relative;
    display: block;
    margin: 1em 0em 0em 0em;
    padding: 0.25em 0em 0.25em 0em;
}
linklisttitle h1 {
    text-align: left;
}
linklistcontent {
    position: relative;
    display: block;
    margin: 0em 0em 1em 0em;
    padding: 0.25em 0em 0.25em 0em;
}




imagebox {
    position: relative;
    display: block;
    float: left;
    overflow: hidden;
    border-style: solid;
    border-width: 0px;
    border-color: transparent;
}
.subblockimages_wide_width { display: block; }
.subblockimages_small_width { display: none; }
@media only screen and (max-width: 500px) {
        .subblockimages_small_width {
            display: block;
        }
        .subblockimages_wide_width {
            display: none;
        }
        body {
            grid-template-columns: 1em auto 1em;
        }
        header {
            padding-bottom: 2em;
        }
        footer {
            margin-top: 2em;
        }
        .main_portal {
            grid-template-columns: 100%;
            grid-template-rows: auto auto auto;
            grid-template-areas:
            "main0"
            "main2"
            "main1";
        }
        .main_article {
            grid-template-columns: 100%;
            grid-template-rows: auto auto auto;
            grid-template-areas:
            "main0"
            "main1"
            "main2";
        }
        .left_bar {
            padding: 0.25em 0em 0.25em 0em;
            border: none;
        }
        teasertitle h1 {
            text-align: center;
        }
        linklisttitle h1 {
            text-align: center;
        }
        introtext p {
            text-align: center;
        }
        articledate p {
            text-align: center;
        }
    }
@media only screen and (min-width: 1000px) {
    body {
        grid-template-columns: auto 900px auto;
    }
}