body {
    margin: 0;
    font-family: Georgia, 'Times New Roman', Times, serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

header, footer {
    background-color: #D3D3FF;
    margin: 0;
    padding: 10px 20px;
    flex-grow: 0;
    flex-shrink: 0;
}

nav {
    display: flex;
    flex-direction: row;
    align-items: center;
}

header {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 18px;
}

nav ul {
    display: flex;
    margin: 0;
    padding: 0;
    gap: 50px;
}

header a, footer a {
    text-decoration: none;
    color: black;
    padding: 10px;
}

li {
    list-style: none;
    display: flex;
}

main {
    margin: 25px 100px;
    flex-grow: 1;
}

h1 {
    text-align: center;
}

#disclaimer, #instructions {
    margin-left: 20px;
    margin-right: 20px;
}

section {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#search-and-filters, #search, #color-filters, #stripes-filter, #shapes-filter, #category-filter {
    margin: 10px;
}

#search {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

#search-input, #stripes {
    width: 100px;
    margin-left: 5px;
}

input[type="checkbox"], #reset-colors, #search {
    margin-left: 15px;
}

#filters {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    line-height: 1.5;
}

#color-filters {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

button {
    padding: 10px;
    height: fit-content;
}

#more-filters-button {
    width: 130px;
}

#more-filters {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

fieldset {
    width: 175px;
}

#flags-and-labels {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
    padding: 0;
}

#flags-and-labels li {
    padding: 10px;
}

img {
    width: 200px;
    height: 120px;
    object-fit: scale-down;
}

#flags-and-labels div {
    display: flex;
    align-items: flex-end;
    padding: 0px 50px;
    width: 120px;
}

.border {
    border: 1px solid black;
}

#attributions {
    text-align: center;
}

footer nav {
    display: flex;
    justify-content: space-around;
}