@font-face {
  font-family: "Audiowide";
  src:
    local("Audiowide"),
    url("Audiowide-Regular.ttf") format("opentype");
}

@font-face {
  font-family: "Emoji";
  src:
    local("Emoji"),
    url("Emoji-Bold-1.ttf") format("opentype");
}

.emoji {
    font-family: "Emoji";
    font-size: 14px;
}

body {
    display: grid;
    margin: 0;
    background: #f0f8f8;
    font-family: sans;
    grid-template-columns: 1;
    grid-template-areas:
        'header' 'main' 'nav' 'aside' 'footer';
}

body > * {
    padding: 0.5rem;
}

header {
    grid-area: header;
    color: white;
    background: #36712e;
}

body.test header {
    background-color: black;
}

header h1 {
    text-align: center;
    font-family: Audiowide;
    font-size: 54px;
    margin: 0;
}

header h1 a {
    text-decoration: none;
    color: white;
}

/* MAIN */

main {
    font-family: sans;
    font-size: 14pt;
    grid-area: main;
    background: white;
}

main.news ul {
    padding: 0;
    list-style: none;
}

main.news li {
   margin: 16px 8px 24px 16px;
}

main.about {
    font-family: sans-serif;
    background: none;
    border: none;
    box-shadow: none;
}

main.about ul {
    list-style: none;
}

main.about strong {
    color: #36712e;
    font-weight: bold;
    font-style: italic;
}

main.about h1 {
  font-size: 24px;
  color: #36712e;
}

main.about h1 em {
    font-style: normal;
}

main .date {
    text-align: right;
    margin-bottom: 32px;
}

main .date:has(.warn1) {
    margin-bottom: 16px;
}

main .warn1 {
    text-align: center;
}

main .warn2 {
    display: inline-block;
    height: 100%;
    margin: 8px;
    font-size: 12pt;
    border: 1px solid #999;
    padding: 8px;
    background: #ffff80;
    font-family: sans;
    color: #333;
}

main .warn2 a {
    text-decoration: underline dotted 1px #333;
    color: #333;
}

main.about {
    color: #333;
}

main.about h2 {
    font-size: 18px;
}

main a, nav a, aside a {
    font-size: 12pt;
    color: #333;
    text-decoration: underline dotted 1px #888;
}

nav a {
    margin: 0 2px;
}

main.about a {
    font-size: 14pt;
}

main a:hover, nav a:hover, aside a:hover {
    background: #ffff80;
    color: #333;
}

nav {
    grid-area: nav;
    color: #888;
    font-family: sans-serif;
    font-size: 12pt;
    padding: 0rem 1rem;
}

nav li {
  display: inline-block;
  margin: 0 4px;
}

nav ul {
  margin: 0;
  padding: 0 0 0 8px;
}

nav.about {
    margin: 16px;
}

nav.about a {
    font-size: 16px;
    color: #333;
}

nav .current {
    background-color: #ffff80;
}

nav a:hover {
    background: #ffff80;
    color: #333;
}

aside {
    grid-area: aside;
    font-size: 14px;
    padding: 0;
}

aside .rbox {
    padding: 0.5rem 1rem;
    color: #666;
    background: #dbefdb;
    border: 1px solid transparent;
    border-radius: 15px;
    margin: 10px 16px;
}

body.test aside .rbox {
    background-color: #999;
}

aside ul {
    padding-left: 24px;
}

aside h1 {
    font-size: 10px;
}

footer {
    grid-area: footer;
    display: grid;
    grid-template-columns: 1;
    grid-template-areas: 'left1' 'left2' 'left3' 'right';
    background: #36712e;
    font-size: 12px;
    color: white;
}

footer .left1 {
    grid-area: left1;
    min-width: 100px;
}

footer .left2 {
    grid-area: left2;
}

footer .left3 {
    grid-area: left3;
}

footer .right {
    grid-area: right;
}

footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

footer li {
    margin: 2px 0;
}

footer a {
    color: white;
    text-decoration: underline dotted 1px white;
    margin: 0;
}

body.test footer {
    background-color: black;
}

ol {
    list-style: disc;
}

/* desktop breakpoint */
@media (min-width:1024px) {
    body {
        grid-template-columns: repeat(4, 1fr);
        grid-template-areas:
            'header header header header'
            'nav main main aside'
            'footer footer footer footer';
    }
    body > * {
        padding: 1rem;
    }
    main.news {
        margin: 8px 8px 16px 8px;
        border: 1px solid #aaa;
        box-shadow: 4px 4px 4px #ddd;
    }
    main.news ul {
        list-style: disc;
    }
    main.news li {
        margin: 16px;
    }
    footer {
        grid-template-columns: 20ch 20ch 1fr 40ch;
        grid-template-areas: 'left1 left2 left3 right';
    }
    footer .right {
        text-align: right;
    }
}
