
/*
 * Colors
 */
:root {
    /*
     * Nord color palette https://www.nordtheme.com/
     */

    /* Base component color of "Polar Night".           Styleguide Nord - Polar Night */
    --nord0: #2e3440;
    /* Lighter shade color of the base component color. Styleguide Nord - Polar Night */
    --nord1: #3b4252;
    /* Lighter shade color of the base component color. Styleguide Nord - Polar Night */
    --nord2: #434c5e;
    /* Lighter shade color of the base component color. Styleguide Nord - Polar Night */
    --nord3: #4c566a;
    /* Base component color of "Snow Storm".            Styleguide Nord - Snow Storm */
    --nord4: #d8dee9;
    /* Lighter shade color of the base component color. Styleguide Nord - Snow Storm */
    --nord5: #e5e9f0;
    /* Lighter shade color of the base component color. Styleguide Nord - Snow Storm */
    --nord6: #eceff4;
    /* Bluish core color.                               Styleguide Nord - Frost */
    --nord7: #8fbcbb;
    /* Bluish core accent color.                        Styleguide Nord - Frost */
    --nord8: #88c0d0;
    /* Bluish core color.                               Styleguide Nord - Frost */
    --nord9: #81a1c1;
    /* Bluish core color.                               Styleguide Nord - Frost */
    --nord10: #5e81ac;
    /* Colorful component color.                        Styleguide Nord - Aurora */
    --nord11: #bf616a;
    /* Colorful component color.                        Styleguide Nord - Aurora */
    --nord12: #d08770;
    /* Colorful component color.                        Styleguide Nord - Aurora */
    --nord13: #ebcb8b;
    /* Colorful component color.                        Styleguide Nord - Aurora */
    --nord14: #a3be8c;
    /* Colorful component color.                        Styleguide Nord - Aurora */
    --nord15: #b48ead;

    --color-background: var(--nord0);
    --color-background-elevated: var(--nord1);
    --color-text: var(--nord4);
    --color-heading: var(--nord6);
    --color-button: var(--nord7);
    --color-hover: var(--nord10);
}

/*
 * Site
 */

* {
    box-sizing: border-box;
}

html {
    font-family: Sans-Serif;
    font-size: 100%;
    background-color: var(--color-background);
    color: var(--color-text);
    max-width: 300px;
    margin: 0 auto;
}

a {
    color: inherit;
    text-decoration: inherit;
}

a:hover, button:hover {
    color: var(--color-hover);
}

nav, footer {
    padding: 1rem;
    background-color: var(--color-background-elevated);
    display: grid;
    grid-template-columns: auto 1fr auto;
}

h1, h2, h3, .sitesubtitle {
    color: var(--color-heading);
}

.sitename {
    font-size: 2rem;
}

.menu {
    color: var(--color-heading);
    align-self: end;
}

.menuitem {
    font-size: 1.2rem;
    padding-left: 1rem;
}

footer {
    color: var(--color-text);
}

main {
    padding-top: 20px;
}


/*
 * Index Pages
 */

.index-images {
    display: grid;
    grid-gap: 20px;
}

.index-image-container {
    position: relative;
    width: 300px;
}

.index-image-title {
    position: absolute;
    bottom: 0;
    background: rgb(0, 0, 0);
    background: rgba(0, 0, 0, 0.5);
    color: var(--color-text);
    width: 100%;
    transition: 0.5s ease;
    opacity: 0;
    padding: 1rem;
    text-align: center;
}

.index-image-container:hover .index-image-title {
    opacity: 1;
}

.index-image {
    width: 300px;
    height: auto;
}

.paginator {
    padding-top: 1rem;
    padding-bottom: 1rem;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
}

.paginator-nobutton {
    display: inline-block;
    width: 50px;
    border: none;
    margin: 0;
    padding: 0;
}

.paginator-button {
    display: inline-block;
    width: 50px;
    background-color: var(--color-button);
    color: var(--color-text);
    text-align: center;
    border: none;
    margin: 0;
    padding: 0;
    border-radius: 4px;
    font-size: 1.2rem;
}

.paginator-text {
    display: inline-block;
    width: 180px;
    color: var(--color-text);
    text-align: center;
    border: none;
    margin: 0;
    padding: 0;
}

/*
 * Article Pages
 */

.article-image-container {
    padding-bottom: 20px;
}

.article-image {
    width: 100%;
    height: auto;
}


/*
 * Pages
 */

.page-container {
    padding: 1rem;
}


/*
 * Responsive
 */

@media (min-width: 620px) {
    html {
        max-width: 620px;
    }

    .index-images {
        grid-template-columns: 300px 300px;
    }
}

@media (min-width: 940px) {
    html {
        max-width: 940px;
    }

    .index-images {
        grid-template-columns: 300px 300px 300px;
    }
}

