@import url(https://fonts.googleapis.com/css2?family=Roboto+Slab&family=Roboto+Mono);
:root {
    /* Variables */
    --background-dark: #121212;
    --background-light: #1f1f1f;
    --text-color: white;

    --gradient-source: orangered, saddlebrown;
    --gradient: linear-gradient(to right, var(--gradient-source));
}

body {
    background-color: var(--background-dark);
    font-family: 'Roboto Slab', serif;
    line-height: 1.5;
    color: var(--text-color);
    text-align: justify;
    scroll-behavior: smooth;
    margin: 1rem;
}

header {
    overflow: hidden;

    background-color: var(--background-light);
    margin: 1rem auto;
    border-radius: 1rem;

    display: flex;
    justify-content: space-between;
    align-items: center;

    > a {
        padding: 1rem;
    }
}

main {
    background-color: var(--background-light);
    margin: 1rem auto;
    border-radius: 1rem;
}

footer {
    background-color: var(--background-light);
    margin: 1rem auto;
    border-radius: 1rem;
}

/* responsivness section */
    header {
        flex-direction: column;
        > img {
            max-width: 50%;
        }
    }
    h1 {
        font-size: 4rem;
    }

@media only screen and (min-width: 600px) {
    header {
        max-width: 80%;
    }

    main {
        max-width: 80%;
    }

    footer {
        max-width: 80%;
    } 
}

@media only screen and (min-width: 768px) {
    h1 {
        font-size: 5rem;
    }
}

@media only screen and (min-width: 992px) {
    header {
        flex-direction: row;

        > img {
            max-height: 260px;
        }
    }
}

@media only screen and (min-width: 1200px) {
    header {
        max-width: 70%;
    }

    main {
        max-width: 70%;
    }

    footer {
        max-width: 70%;
    }
}
/* end responsivness section */

header a:link {
    text-decoration: none;
}

h1 {
    font-family: "Roboto Mono", monospace;
    width: auto;
    margin: 0;

    background: var(--gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
h2 {
    font-family: "Roboto Mono", monospace;
    font-size: 2.5rem;

    margin: 0;
    padding: 0;

    background: var(--gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-align: center;
}

section, .padding {
    padding: 1rem
}

hr {
    margin:0;
    border: 0;
    background: var(--gradient);
    height: 1ex;
}

/* footer section */
#timestamp {
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
    text-align: center;
}
    #timestamp td:first-child {
        text-align: left;
    }
    #timestamp td:last-child {
        text-align: right;
    }

#copyright_notice  p {
    font-size:x-small;
    text-align: center;
    margin: 0.25rem 0;
    padding: 0;
}
#back_to_top {
    text-align: center;
    margin-bottom: 0;
}
/* end footer section */

/* figure section */
    .figure-grid {
        margin: 1rem 0;
        gap: 1rem;
        display: grid;
            grid-template-columns: repeat(1, 1fr);
        @media only screen and (min-width: 768px) {
            grid-template-columns: repeat(2, 1fr);
        }
        @media only screen and (min-width: 1200px) {
            grid-template-columns: repeat(3, 1fr);
        }
    }
    figure img {
        margin: auto 1rem;
        padding: 1rem 0;
        width: calc(100% - 2rem);
        aspect-ratio: 3/2;
        object-fit: cover;
    }
    figure {
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        height: 100%;
        border: double 0.5ex transparent;
        border-radius: 1rem;
        background-image: linear-gradient(var(--background-light), var(--background-light)), var(--gradient);
        background-origin: border-box;
        background-clip: content-box, border-box;

        margin: 1rem auto;
        @media only screen and (min-width: 600px) {
            width: calc(80% - 2rem);
        }
        @media only screen and (min-width: 1200px) {
            width: calc(70% - 2rem);
        }
    }
    .figure-grid figure {
        margin: 0;
        width: auto;
    }

    figure hr {
        height: 0.5ex;
        width: 100%;
        margin: 0;
    }
    figcaption {
        margin: 1rem;
        text-align: center;
    }
    a.figure-link {
        color: var(--text-color) !important;
        text-decoration: none !important;
    }
/* end figure section */

p {
    margin: 0.5rem 0;
    text-align: justify;
}

ul {
    list-style-type: '\01F98A';
    margin: 0;
    padding-left: 2ch;
}

a:link {
    color: darkorange;
    text-decoration: none;
}
a:visited {
    color: hsl(25, 76%, 40%);
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
a:active {
    color:orangered;
    text-decoration: underline;
}   