:root {
    --lg-breakpoint: 1280px;
    --lightred: color-mix(in srgb, var(--red), white 85%);
}

html {
    height: 100%;
}
body {
    height: 100%;
    padding: 0px;
    margin: 0 auto;
}

@media screen and (min-width: 769px) {
    body {
        display: grid;
        grid-template:
            [row1-start] "header header header" 50px [row1-end]
            [row2-start] "main main aside" auto [row2-end]
            [row3-start] "history activity member" auto [row3-end]
            [row4-start] "footer footer footer" 50px [row4-end];
        gap: 5px;
    }
}

body > header {
    grid-column: 1 / span 3;
    grid-row: first-line;
    grid-area: header;
    display: flex;
    margin: 0;
}

body > header menu {
    display: flex;
    list-style: none;
    margin: 0;
}

main {
    grid-area: main;
}

aside {
    grid-area: aside;
}

section.activity {
    grid-area: activity;
}

section.history {
    grid-area: history;
}

section.member {
    grid-area: member;
}

section + section {
    margin-top: 5px;
}

body > header {
    align-items: center;
}

body > footer {
    grid-area: footer;
    align-self: end;
    margin: 0;
    font-size: small;
}

body > header {
    background-color: black;
    color: white;
    padding: 0.5em;
    height: 50px;
}

body > header a,
body > header a:visited {
    color: white;
    height: 44px;
    margin-left: 0;
}

body > header a:hover {
    color: white;
}

body > header input {
    display: none !important;
}

body > header a img {
    height: 44px;
}

main,
section {
    padding: 0.5em;
}

.menu-button {
    position: relative;
    width: 20px;
    top: -4px;
    height: 3px;
    background: white;
    display: inline-block;
}
.menu-button:before,
.menu-button:after {
    position: absolute;
    display: block;
    content: "";
    background: white;
    width: 20px;
    height: 3px;
}

.menu-button:before {
    top: 8px;
}
.menu-button:after {
    top: -8px;
}

@media screen and (min-width: 769px) {
    header menu {
        flex-grow: 1;
        padding-left: 0;
    }
    header menu li {
        padding-left: 1em;
    }
    header menu li:last-child {
        text-align: right;
        padding: 0;
        flex-grow: 1;
    }

    body {
        max-width: 1280px;
    }

    .menu-button {
        visibility: hidden;
    }

    div.split {
        display: flex;
    }

    div.split > div.column {
        width: 50%;
    }

    div.column:first-child {
        padding-right: 0.5em;
    }

    div.column + div.column {
        padding-left: 0.5em;
    }

}

@media screen and (max-width: 768px) {
    body {
        grid-template:
            [row1-start] "header" 50px [row1-end]
            [row2-start] "main" auto [row2-end]
            [row2-start] "aside" auto [row2-end]
            [row3-start] "footer" 50px [row3-end];
    }

    .menu-button {
        visibility: visible;
    }

    header {
        justify-content: space-between;
    }

    body > header menu {
        display: none;
        padding: 0.2em;
    }

    body > header menu li {
        padding: 0.2em;
    }

    body > header label[for="menu-control"] {
        padding: 0.2em 0.5em;
        border-radius: 3px;
    }

    body > header label[for="menu-control"]:hover {
        background-color: grey;
    }

    header input[name="menu-control"]:checked ~ menu {
        background-color: black;
        position: absolute;
        right: 0;
        top: 50px;
        display: block;
        width: 150px;
    }

    header input[name="menu-control"]:checked ~ label .menu-button {
        background-color: black;
    }
    header input[name="menu-control"]:checked ~ label:hover .menu-button {
        background-color: grey;
    }

    header input[name="menu-control"]:checked ~ label .menu-button:before {
        transform: rotate3d(0, 0, 1, 45deg);
        top: 0;
    }

    header input[name="menu-control"]:checked ~ label .menu-button:after {
        transform: rotate3d(0, 0, 1, -45deg);
        top: 0;
    }
}

section.newsitem {
    border: 1px solid var(--lightred);
    padding: 0;
    border-radius: 5px;
}

section.newsitem > p,
section.newsitem > a {
    padding: 0.5em;
}

section.newsitem header {
    padding: 0.3em;
    margin-bottom: 0;
    background-color: var(--lightred);
    color: var(--red);
    height: 2em;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

section.newsitem header a {
    color: var(--red);
    overflow: hidden;
    text-overflow: ellipsis;
}

section.newsitem summary {
    padding: 0.3em;
    margin-bottom: 0;
}


div.jumbotron {
    background-image: url(/images/blades.jpg);
    border-radius: 5px;
    padding: 3em;
}

div.jumbotron div {
    background-color: #ffffffdd;
    border-radius: 5px;
    padding: 1em;
}
