:root {
    --light-green: oklch(0.75 0.17 131.18);
    --dark-green: oklch(0.4 0.09 130.46);
    --dark-red: oklch(0.5 0.2 17.68);
    --light-red: oklch(0.8 0.09 1.19);
    --light-grey: oklch(86.9% 0.005 56.366);
    --dark-grey: oklch(37.4% 0.01 67.558);

    --menu-background: var(--light-green);
    --menu-text: var(--dark-green);
    --menu-hover-background: var(--dark-green);
    --menu-hover-text: white;
    --even-article-background: var(--dark-red);
    --even-article-text: white;
}

html,
body {
    height: 100%;
    font-family: "Cause", cursive;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    font-size: 18px;
    text-align: justify;
}

body > header {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    min-height: 240px;
    text-align: center;

    .header-titles {
        background-color: color-mix(
            in oklch,
            var(--light-grey) 75%,
            transparent
        );
    }

    h1 {
        font-weight: bold;
        font-size: 3.5rem;
        color: var(--dark-red);
    }

    .subtitle {
        font-size: 2rem;
        font-weight: bold;
        color: var(--dark-green);
        transform: translateY(-0.65rem);
    }

    .header-menu {
        padding: 2rem;
        padding-bottom: 4rem;

        ul {
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
            justify-content: center;
        }

        li {
            display: block;
        }

        a {
            display: block;
            padding: 10px 20px;
            border-radius: 0.5rem;
            text-transform: uppercase;
            transition: all 0.4s;

            background-color: var(--menu-background);
            color: var(--menu-text);

            &:hover {
                background-color: var(--menu-hover-background);
                color: var(--menu-hover-text);
            }
        }
    }
}

body > main > article {
    padding-block: 2rem;
    padding-inline: 1.5rem;

    &:nth-child(even) {
        background-color: var(--even-article-background);
        color: var(--even-article-text);
    }

    & > * {
        max-width: 640px;
        margin: auto;
    }

    h2 {
        font-size: 2rem;
        font-weight: bold;
    }

    h3 {
        font-size: 1.25rem;
        text-decoration: underline wavy;
    }

    p {
        margin-block: 1rem;
    }
}

#contact li {
    position: relative;
    padding-block: 0.25rem;
    padding-left: 24px;

    &:first-child {
        white-space: pre;
    }

    .icon {
        position: absolute;
        left: 0;
    }
}

#CUTI2WRy {
    font-family: "Courier New", Courier, monospace;
}

#back-to-top {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    height: 4rem;
    width: 4rem;
    padding-inline: 0.3rem;
    border-radius: 50%;
    font-size: 4rem;
    color: var(--dark-grey);
    transition: all 0.4s;

    &:hover {
        background-color: color-mix(
            in oklch,
            var(--light-grey) 75%,
            transparent
        );
    }
}

/* Utilities */

.full-background-image {
    position: relative;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

.icon {
    display: inline;
    height: 0.9em;
    transform: translateY(0.2rem);
}

.image-cover {
    background-image: url("/image/cover.jpg");
}

.image-cover-brume {
    background-image: url("/image/cover-brume.jpg");
}

.image-cover-neige {
    background-image: url("/image/cover-neige.jpg");
}

.notification {
    background-color: var(--light-red);
    border-inline: var(--dark-red) 8px solid;
    padding-block: 0.2em;
    padding-inline: 0.6em;
}
