* {
    background-color: aliceblue;
    font-family: sans-serif;
}

body {
    width: 96vw;
}

h1 {
    text-align: center;
    font-size: clamp(36px, 8vw, 96px);
    margin: 0 auto;
    width: fit-content;
}

h2 {
    font-size: clamp(20px, 4vw, 72px);
}

h3 {
    font-size: clamp(16px, 2vw, 56px);
}

p {
    font-size: clamp(12px, 1.5vw, 32px);
}

li {
    font-size: clamp(12px, 1.5vw, 32px);
}

a {
    font-size: clamp(12px, 1.5vw, 32px);
}

#poster {
    align-self: center;
    width: 100%;
    height: auto;
    object-fit: contain;
}

#software-control-flow-diagram {
    width: 100%;
}

#hardware-control-flow-diagram {
    width: 100%;
}

#pcb {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

#pcb > section {
    width: 50%;
}

#pcb > section:nth-child(5) {
    width: 100%;
}

#pcb > section > img {
    width: 100%;
}

#threeD-print {
    display: flex;
    width: 100%;
}

#threeD-print > img {
    width: 50%;
}

#laser-cut {
    display: flex;
    width: 100%;
}

#laser-cut > img {
    width: 50%;
}