innhold/custom/styles/base.css
Ruben a273a7a7a0 Add language switching and improve table styling
Add h4 styling Improve footnotes styling Add table styling with
alternating row colors Make site multilingual with language switching
Update footer to use translations Improve language handling in
navigation links
2025-12-12 21:55:12 +01:00

242 lines
4.6 KiB
CSS

/* MINIMAL CSS RESET*/
* { margin-bottom: 0; }
/* VARIABLES */
:root {
--font-body: Roboto, sans-serif;
--font-heading: "PT serif", Georgia, "Nimbus Roman", serif;
--color-blue: #6391b5;
--color-blue: oklch(0.6376 0.0739 242.84);
--color-green: #009c80;
--color-green: oklch(0.618 0.1176 173.93);
--color-green-light: #f2fbf8;
--color-green-light: oklch(0.9811 0.01 173.93);
--color-grey: #404040;
--color-grey: oklch(0.3715 0 0);
}
/* GLOBAL */
html { font-family: var(--font-body); font-size: clamp(16px, 2.3vw, 20px); scroll-behavior: smooth; }
body { margin: 0; color: var(--color-grey) }
p, ul, ol, aside { line-height: 1.5em; hyphens: auto }
img { max-width: 100%; height: auto; }
h1 { color: var(--color-green); font-size: 2.3rem }
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-heading);
font-weight: 400;
line-height: 1.3em;
margin-top: 1.3em;
text-wrap: pretty;
}
h4 { font-weight: 700}
a {
color: var(--color-green);
text-decoration: none;
&:hover { color: var(--color-blue) }
}
.grid-container {
display: grid;
grid-template-rows: auto 1fr auto;
grid-template-columns: 1fr;
grid-template-areas: "header" "main" "footer";
height: 100%;
width: 100%;
justify-content: center;
min-height: 100vh;
align-items: stretch;
}
.contain, :where(main>article, main>aside, main>section) {
display: grid;
grid-template-columns: minmax(.8rem, 1fr) minmax(0, 42rem) minmax(.3rem, 1fr);
> * {
grid-column: 2;
}
}
.escape {
grid-column: 1 / -1 !important;
}
/* HEADER */
header {
border-bottom: 3px #00000022 solid;
grid-area: header;
> div {
padding-bottom: .2rem;
display: flex;
.logo {
margin-right: .3rem;
svg {
width: 7rem;
height: 100%;
#symbol {
fill: var(--color-blue);
}
#tekst {
fill: var(--color-green);
}
}
}
nav {
display:flex;
align-items: center;
justify-content:flex-end;
flex: 1;
ul {
display: flex;
list-style: none;
flex-wrap: wrap;
margin-top: .4rem;
padding: 0;
justify-content: flex-end;
a {
margin-left:0.4rem;
margin-top:0.4rem;
}
}
}
}
}
/* MAIN */
main {
grid-area: main;
background-color: var(--color-green-light);
padding-bottom: 2rem;
aside { margin-top: 1.3em }
article {
.intro {
font-size: 1.2rem;
line-height: 1.35em;
}
.footnotes {
margin-top:1rem;
hr {border: 1px var(--color-grey) dashed}
}
}
.button {
margin-top: 1.3rem;
justify-self: start;
}
}
table {
margin-top: 1.3em;
border-collapse: collapse;
width: 100%;
thead {
tr {
background-color: var(--color-green);
color: white;
th {
padding: 0.6rem;
text-align: left;
font-weight: 600;
}
}
}
tbody {
tr {
&:nth-child(odd) {
background-color: white;
}
&:nth-child(even) {
background-color: oklch(0.96 0.005 173.93);
}
td {
padding: 0.5rem 0.6rem;
border-bottom: 1px solid oklch(0.9 0.01 173.93);
}
}
}
}
/* BUTTONS */
.button {
display: inline-block;
text-decoration: none;
border-radius: 2rem;
padding: 0.55rem 1rem;
background-color: transparent;
color: var(--color-grey);
outline: 0.08rem var(--color-grey) solid;
&:hover {
background-color: var(--color-grey);
color: white;
outline: none;
}
&:active, &.active {
background-color: var(--color-green);
color: white;
outline: none;
}
&:focus {
background-color: var(--color-green);
color: white;
outline: none;
}
&.inverted {
background-color: transparent;
color: white;
outline: 0.08rem white solid;
&:hover {
background-color: white;
color: var(--color-green);
outline: none;
}
&:active, &.active {
background-color: var(--color-green-light);
color: var(--color-green);
outline: none;
}
&:focus {
color: white;
background-color: var(--color-grey);
outline: none;
}
}
&.bigger {
font-size: 1.2em;
/*padding: calc(0.35rem * 1.2) calc(1rem * 1.2);*/
border-radius: calc(1rem * 1.2);
}
&.centered {
justify-self: center;
}
}
/* FOOTER */
footer {
color: var(--color-green-light);
a {
color: var(--color-green-light);
&:hover { color: white; text-decoration: underline }
}
background-color: var(--color-green);
grid-area: footer;
> div {
margin: 1rem 0;
text-align: center;
.generated { font-size: .6rem }
}
}