@import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600&family=Source+Serif+Pro:wght@400;600&display=swap");

:root {
    --dark-blue: #2d3142;
    --light-blue: #4f5d75;
    --orange: #ef8354;
    --light-grey: #bfc0c0;

    --black: #000000;
    --white: #faf0e6;
}

h1,
h2 {
    font-weight: 600;
}

li,
a,
button {
    font-weight: 400;
    text-decoration: none;
}

body {
    font-family: "Source Serif Pro", serif;
    font-size: 18px;
    margin: 0;
}

header {
    background-color: var(--dark-blue);
    font-family: "Source Sans Pro", sans-serif;
    text-align: center;
    margin-bottom: 5rem;
}

nav {
    background-color: var(--light-grey);
}

nav ul {
    margin: 0;
    list-style-type: none;
}

nav li {
    list-style: none;
    display: inline;
    padding: 1.5rem;
}

nav li a {
    color: var(--dark-blue);
}

nav li a:visited {
    color: var(--dark-blue);
}

table,
th,
td {
    border: 1px solid black;
    border-collapse: collapse;
}
th,
td {
    padding-top: 10px;
    padding-bottom: 20px;
    padding-left: 30px;
    padding-right: 40px;
}

.app_root {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.main-canvas {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;

    margin: 0;
    /* This allows the flexbox to grow to max size, this is needed for WebGPU */
    flex: 1;
    /* This forces CSS to ignore the width/height of the canvas, this is needed for WebGL */
    // contain: size;
}

.cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    grid-gap: 20px;
}

.card {
    display: grid;
    grid-template-rows: max-content 200px 1fr;
}

.card h2 a {
    color: var(--dark-blue);
}

.meta {
    color: var(--light-grey);
    font-size: 14px;
}

.mermaid {
    text-align: center;
}

.hero {
    padding-top: 0rem;
    padding-bottom: 0rem;
}

.hero-text-white {
    font-size: 2rem;
    color: var(--white);
}

.hero-text-orange {
    font-size: 2rem;
    color: var(--orange);
}

.container {
    width: 80%;
    margin: 0 auto;
}
