html {
    margin: 0;
    padding: 0;
}

body {
    margin: 0;
    padding: 0;

    font-family: "Raleway", sans-serif;
    font-optical-sizing: auto;
    font-weight: 550;
    font-style: normal;
    letter-spacing: 0.02em;

    --header-bg-color: hsl(19, 28%, 89%);
    --header-fg-color: contrast-color(var(--header-bg-color));
}

header {
    background-color: var(--header-bg-color);
    color: var(--header-fg-color);
    margin-top: 0;
    padding-bottom: 0.3em;
    position: sticky;
    top: 0;
    h1 {
        text-align: center;
        font-family: "Hurricane", cursive;
        letter-spacing: 0.04em;
        font-weight: 400;
        font-style: normal;
        font-size: 3.5rem;
        word-spacing: 0.15em;
        margin: 0;
        @media (max-width: 700px) {
            line-height: 1.2em;
        }
        span {
            display: inline-block;
        }
    }
    menu {
        padding-left: 0;
        list-style-type: none;
        display: flex;
        gap: 2em;
        justify-content: center;
        font-size: 1.1rem;

        li {
            cursor: pointer;
            h3 {
                margin: 0;
                opacity: 0.7;
                transform-origin: center;
                transition: transform 0.3s;
                @media (max-width: 700px) {
                    transform-origin: left center;
                }

                &.active {
                    text-shadow: 2px 2px 2px rgba(0,0,0,0.2);
                    transform: scale(1.12);
                }
                &:hover {
                    transform: scale(1.12);
                }
            }
            &.social {
                display: flex;
                gap: 0.2em;
                a {
                    transition: transform 0.3s;
                    img {
                        height: 1.2em;
                    }
                    &:hover {
                        transform: scale(1.12);
                    }

                }
            }
        }

        @media (max-width: 700px) {
            display: none;
            position: absolute;
            top: 1em;
            left: 3em;
            right: 3em;
            padding: 0.9em 1.3em;
            flex-direction: column;
            gap: 0.5em; 
            background-color: var(--header-bg-color);
            color: var(--header-fg-color);
            border: 1px solid var(--header-fg-color);
            &.open {
                display: flex;
            }
        }
    }
    div.menu2 {
        display: none;
        @media (max-width: 700px) {
            cursor: pointer;
            display: block;
            font-size: 1.3em;
            position: absolute;
            top: 0.5em;
            left: 1em;
        }
    }
    div.i18n {
        position: absolute;
        top: 0.5em;
        bottom: 0;
        right: 1em;
        display: flex;
        gap: 0.6em;
        font-size: 2em;

        @media (max-width: 700px) {
            font-size: 1.3em;
        }

        div {
            cursor: pointer;
        }
    }
}

footer {
    background-color: var(--header-bg-color);
    color: var(--header-fg-color);
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;

    div.social {
        position: fixed;
        bottom: -0.15em;
        right: 0.3em;
        display: flex;
        gap: 0.2em;
    }

    img.instagram, img.bsky {
        height: 1em;
    }
}

main {
    padding-bottom: 4em;
}

ul.carusel {
    display: flex;
    gap: 4vw;
    padding-left: 4vw;
    padding-right: 4vw;
    padding-bottom: 2em;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    align-items: center;

    li {
        list-style-type: none;
        scroll-snap-align: center;
        box-shadow: 9px 9px 9px rgba(0,0,0,0.2);
        border: 1px solid #cccccc;

        @media (max-width: 700px) {
            border: none;

        }

        img {
            display: block;
            border: 8px solid white;
            max-height: 70vh;
            max-width: 100dvw;
            width: auto;
            height: auto;
            @media (max-width: 700px) {
                box-shadow: none;
                border: none;
            }
        }
    }
}

.text {
    margin-left: auto;
    margin-right: auto;
    max-width: 54rem;
    padding-left: 1em;
    padding-right: 1em;
}

h2 {
    text-align: center;
}
