
body {
    margin: 0;
    padding: 0;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    color: #001133;
    font-size: 16px;
}

h1, h2, h3, h4 {
    text-transform: uppercase;
}

#header {
    background-color: #001133;
    background-image: url(../images/portfolio/header.jpg);
    background-repeat: no-repeat;
    background-size: fit;
    background-position: 95% 20%;
    font-size: 1.5rem;
    color: #ddf;
    padding: 12px;
}

#header h1, #header h3, #header p {
    text-shadow: 1px 2px 0 #001133;
}
#header p {
    font-size: 1.2rem;
    width: clamp(300px, 60%, 600px);
    margin: 0 auto 1.2rem auto;
}

.base-container {
    width: clamp(400px, 90%, 1024px);
    margin: 2em auto;
}
.illustration-container {
    width: clamp(400px, 100%, 1280px);
    margin: 2em auto;
}
.flex-container {
    display: flex;
    gap: 8px;
    padding: 0 8px;
    margin: auto;
    max-width: 1024px;
}
.flex-container img {
    width: clamp(200px, 100%, 500px);
    height: auto;
}

.wire-to-complete {
    width: 70%;
    max-width: 800px;
    height: auto;
}
.screenshot {
    width: 100%;
    max-width: 800px;
    height: auto;
}

.thumbnail {
    width: 50%;
    max-width: 400px;
    height: auto;
}

.illustration-thumbnail {
    width: clamp(20%, 100%, 300px);
    border-radius: 12px;
    object-fit: cover;
    margin: 1px;
}

.center { text-align: center; }
.left { text-align: left; }
.boost { font-size: 1.35rem; }
.tight { margin-bottom: -0.5em; }
.faded { opacity: 0.7; }

@media(max-width: 700px) {
    #header {
        background-position: 60% 20%;
        min-width: 400px;
    }
    .illustration-thumbnail {
        width: clamp(25%, 32%, 200px);
    }
}
