/* Custom font faces: place the corresponding TTF files in static/fonts/ */
@font-face {
    font-family: 'IsabellaBlack';
    src: url('../fonts/IsabellaBlack.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'MPLANTIN';
    src: url('../fonts/MPLANTIN.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Goudy Medieval Alternate';
    src: url('../fonts/Goudy Medieval Alternate.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Optional helpers to apply fonts */
.font-isabella {
    font-family: 'IsabellaBlack', serif;
}

.font-mplantin {
    font-family: 'MPLANTIN', serif;
}

.font-goudy-medieval-alt {
    font-family: 'Goudy Medieval Alternate', serif;
}

/* Placeholder site stylesheet */
html,
body {
    height: 100%;
}

:root {
    /* Match header/footer outer heights (height + vertical padding) */
    --header-h: 50px;
    /* 40px height + 10px padding */
    --footer-h: 30px;
    /* 20px height + 10px padding */
}

body {
    background: #33373a;
    color: #eee;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    /* ensure full viewport height */
    overflow: hidden;
    /* prevent body from scrolling */
}

main {
    /* Fill the viewport between fixed header and footer */
    position: fixed;
    top: calc(var(--header-h) + 20px);
    left: 0;
    right: 0;
    bottom: var(--footer-h);
    color: #eee;
    overflow-y: auto;
    /* only main scrolls */
}

main h1 {
    font-size: 1.5rem;
}

body {
    font-family: MPLANTIN, serif;
    margin: 0;
    color: #222;
}

button, label {
    user-select: none;
}

header {
    font-family: IsabellaBlack;
    height: calc(var(--header-h) - 10px);
    padding: 5px 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    z-index: 1000;
}

header nav a {
    font-size: 22px;
}

header .header-title {
    font-size: 28px;
}

@media screen and (max-width: 431px) {
    :root {
        --header-h: 70px;
    }
}

@media screen and (max-width: 600px) {
    header nav a {
        font-size: 18px;
    }

    header .header-title {
        font-size: 24px;
    }

}

footer {
    color: Black;
    height: 20px;
    padding: 5px 0;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    z-index: 1000;
}

header,
footer {
    width: 100vw;
    overflow: hidden;
    background-image: url(/static/img/seemlessbar.jpg);
    background-repeat: repeat-x;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

a {
    color: Black;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.container {
    margin: 0 auto;
    padding: 0;
}

header a {
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
}

header a.active {
    background: #222;
    color: #fff;
    text-decoration: none;
}