#wrapper {
    width: 1000px;
    margin: 0 auto;
    background-color: #d79956;
    padding: 2em;
}

@font-face {
    font-family: 'firlest';
    src: url('Fonts/Firlest-Regular.otf') format('opentype');
}

body {
    margin: 0;
    padding: 0;
    background-color: #e0af7b;
}

header {
    font-family: 'firlest', serif;    
    background-color: #3bd188;
}

h1 {
    font-family: 'firlest', serif;
    text-shadow: #6a4b2b 2px 2px 0px;
}

h2 {
    font-family: 'firlest', serif;
}

p, h4 {
    font-size: 115%;
}

h3 {
    font-size: 140%;
}

.header {
    list-style-type: none;
    background: #3bd188;
    margin: 0;
    padding: 0;
    text-align: center;
}

.logo {
    font-size: 5em;
    padding-top: .3em;
}

.header li {
    display: inline-block;
    position: relative;
}

.header li a {
    display: block;
    padding: 15px 20px;
    color: black;
    text-decoration: none;
}

.dropdown a {
    display: block;
}

.dropdown {
    background: #33b676;
    z-index: 999;
    display: none;
    font-size: 50%;
}

.logo:hover .dropdown {
    display: contents;
}

.dropdown li a:hover {
    color: #335745;
}

:root {
    --bar-width: 60px;
    --bar-height: 8px;
    --hamburger-gap: 6px;
    --hamburger-margin: 5rem;
    --hamburger-height: calc(var(--bar-height) * 3 + var(--hamburger-gap) * 2);
}

.hamburger::before,
.hamburger::after,
.hamburger input {
    content: "";
    width: var(--bar-width);
    height: var(--bar-height);
    background-color: #d79956;
    border-radius: 9999px;
    transition: opacity .25s, width .25s;
    transform-origin: left center;
}

.hamburger {
    --x-width: calc(var(--hamburger-height) * 1.41421356237);

    display: flex;
    flex-direction: column;
    gap: var(--hamburger-gap);
    width: max-content;
    position: absolute;
    top: var(--hamburger-margin);
    left: var(--hamburger-margin);
    z-index: 2;
    cursor: pointer;

}

.hamburger input {
    appearance: none;
    padding: 0;
    margin: 0;
    outline: none;
    pointer-events: none;
}

.hamburger:has(input:checked)::before {
    rotate: 45deg;
    width: var(--x-width);
    translate: 0 calc(var(--bar-height) / -2)
}

.hamburger:has(input:checked)::after {
    rotate: -45deg;
    width: var(--x-width);
    translate: 0 calc(var(--bar-height) / 2)
}

.hamburger input:checked {
    opacity: 0;
    width: 0;
}

.sidebar {
    transition: translate .25s;
    translate: -100%;
    padding: .5rem 1rem;
    background-color: #33b676;
    position: absolute;
}

.sidebar a {
    color: black;
    text-decoration: none;
    font-family: 'firlest', serif;
    font-size: 300%;
}

.sidebar div {
    padding-bottom: 1em;
    border-bottom: #335745 solid 1px;
}

.sidebar a:hover {
    color: #335745;
}

.hamburger:has(input:checked) + .sidebar {
    translate: 0;
}

#grid-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    list-style-type: none;
    text-align: center;
    gap: 10px;
    padding-bottom: 25px;
}

#grid-container li a {
    text-decoration: none;
    color: black;
    font-family: 'firlest', serif;
    font-size: 3em;
    transition: .25s;
}

#grid-container li {
    border: 2px solid black;
    border-radius: 25px;
    text-shadow: #6a4b2b 2px 2px 0px;
}

#grid-container li a:hover {
    font-size: 3.5em;
}

#homebody {
    text-align: center;
}

footer p {
    text-align: center;
}

footer {
    background-color: #3bd188;
    padding-top: 1em;
    padding-bottom: 1em;
}

table {
    border: solid 1px black;
    margin: auto;
}

td {
    border: solid 1px black;
    text-align: center;
}

th {
    border: solid 1px black;
}

#result {
    display: none;
}

@media (max-width: 600px) {
    #grid-container {
        grid-template-columns: 1fr;
    }

    #wrapper {
        width: fit-content;
    }
}