* {
    box-sizing: border-box;
}

/**
 * CSS Variables
 */
body {
    --mwpt--contentSize: 750px;
    --mwpt--wideSize: 1000px;
}

/**
 * Outer Layout
 */
header,
main {
    margin: 0 auto;
    width: 100%;
    max-width: var(--mwpt--wideSize);
}

/**
 * Logo
 */
.site-identity {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.site-logo {
    max-width: 150px;
}

.site-title {
    font-size: var(--wp--preset--font-size--medium);
    margin: 0;
}

.site-title a {
    text-decoration: none;
    color: var(--wp--preset--color--black);
}

/**
 * Header Image
 */
#wp-custom-header {
    margin: 0 -1rem; /* Even out the outer paddings */
}

/**
 * Articles
 */

article {
    width: 100%;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px dotted var(--wp--preset--color--darkblue);
}

/**
 * Article Meta
 */

article aside {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background-color: var(--wp--preset--color--gray);
    font-size: var(--wp--preset--font-size--small);
    padding: 1em;
}

article aside a {
    color: var(--wp--preset--color--black);
}

/**
 * Article thumbnail
 */
article .tumbnail img {
    margin: 0 auto;
    padding: 1rem 0;
    display: block;
    max-width: 100%;
}

/**
 * Menu
 */
.menu-icon {
    margin: 2rem auto;
    display: block;
    cursor: pointer;
}

/**
 * Menu open/close animation
 */
nav.primary-menu,
#menu_opener {
    display: none;
}

#menu_opener:checked + nav.primary-menu {
    display: block;
}

/**
 * Menu
 */
nav.primary-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

nav.primary-menu a {
    text-align: center;
    display: block;
    padding: .5rem;
}