@import url("variables.css");

:root 
{
    font-family: var(--font-family), sans-serif;
}

body 
{
    font-size: 1.5rem;
    scroll-behavior: smooth;
    overflow-y: scroll;
    overflow-x: hidden;

    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    
    min-height: 100vh;
    max-width: 100vw;

    margin: 0;
    padding: var(--padding) var(--padding-side);
    padding-bottom: 0;

    background-color: var(--cyan);
    background: linear-gradient(180deg,var(--cyan) 0%, var(--cyan-4) 100%);
    color: var(--cyan-1);
}
body > *
{
    margin-bottom: var(--padding);
    padding: var(--padding);
    background-color: var(--cyan-4);

    border-radius: var(--border-radius);
}

a
{
    text-decoration-thickness: 0.05em;
    text-underline-offset: 0.1em;
    font-size: 1.5em;
    color: inherit;
    transition: var(--slow-transition);
}
a:hover
{
    filter: brightness(0.5);
    color: inherit;
}
a:visited
{
    color: inherit;
}

p
{
    word-wrap: break-word;
    font-size: 1.5em;
}
p > a
{
    font-size: 1em;
}

blockquote
{
    border-radius: var(--border-radius);
    background-color: var(--cyan-3);
    padding: 0 var(--padding);
}

::-webkit-scrollbar
{
    width: 1rem;
}
::-webkit-scrollbar-button
{
    height: 0;
}
::-webkit-scrollbar-track
{
    background-color: var(--cyan-4);
}
::-webkit-scrollbar-thumb
{
    background-color: var(--cyan-1);
}

article > h1
{
    padding: 0;
}
h1
{
    margin-top: auto;
    margin-bottom: auto;
    border-bottom: 0.1em solid var(--cyan);
}
:is(h1, h2, h3, h4, h5, h6) 
{
    text-align: center;
}

header
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
}

footer 
{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    align-items: center;
    padding: 0;
}
footer > *
{
    padding-left: 1em;
    padding-right: 1em;
}

section
{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
}
article
{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    max-width: 20rem;
    margin: var(--padding);
    border-radius: var(--border-radius);
    background-color: var(--cyan-3);
    padding: var(--padding);
}
article > *
{
    max-width: 100%;
    word-wrap: break-word;
}

main 
{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;

    padding: var(--padding);
    padding-bottom: 0;
}
main > *
{
    margin-bottom: var(--padding);
}

figure
{
    margin: 0;
    margin-bottom: var(--padding);
    max-width: var(--img-width);
    
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
}
img
{
    width: 100%;
    max-width: var(--img-width);
    height: auto;
    max-height: 100%;
    border-radius: var(--border-radius);
    user-select: none;
}

button
{
    border: none;
    background-color: transparent;
    color: var(--cyan-1);
    transition: var(--fast-transition);
}
button:hover
{
    cursor: pointer;
    scale: 1.1;
}
button:active
{
    filter: brightness(0.5);
}

nav
{
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
}
nav a
{
    padding: 0.5em;
    text-decoration: none;
    font-weight: bold;
    cursor: pointer;
}

ul
{
    padding-inline-start: 1em;
}

@media screen and (max-width:768px)
{
    body
    {
        font-size: 1rem;
        padding: var(--padding);
    }
    footer
    {
        flex-wrap: wrap;
    }
    blockquote
    {
        margin: var(--padding) 0;
    }
    header
    {
        margin-left: 0;
        margin-right: 0;
    }
}