: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; }