@font-face {
    font-family: 'Caslon';
    src: url('assets/CaslonAntique.ttf');
}

@font-face {
    font-family: 'CaslonItalic';
    src: url('assets/CaslonAntique-Italic.ttf');
}

html,
body {
    height: 100%;
    font-size: 62.5%
}

img {
    user-select: none;
}

body {
    display: flex;
    justify-content: center;
    
    background-image: url(assets/background_light.jpg);
    background-size: cover;

    color: rgb(60 28 41);
    text-align: center;
    font-family: "Caslon";
    font-size: 3rem;
}

main {
    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 4rem;
    position: relative;

    &::before,
    &::after {
        position: absolute;
        top: -15rem;
        opacity: 0.3;
        
        border-left: 2px solid #f1e2cf;
        height: calc(100vh + 15rem);
        width: 0px;
        box-shadow: -1px 0px 6px 1px rgb(205 179 108 / 29%);
    
        content: "";
    }

    &::before {
        left: -20rem;        
    }

    &::after {
        right: -20rem;
    }
}

h1 {
    position: relative;
    text-transform: uppercase;
    line-height: 6.5rem;
    font-size: 8rem;
}

h2 {
    font-size: 5rem;
}

h3 {
    font-size: 3.5rem;
}

.button {
    --boxHeight: 3rem;
    --boxWidth: 2rem;
    --backgroundColor: rgb(63, 27, 41);
    --backgroundColorAlpha: rgb(from var(--backgroundColor) r g b / 80%);

    &::before,
    &::after {
        border-top: var(--boxWidth) solid transparent;
        border-bottom: var(--boxWidth) solid transparent;
        height: var(--boxHeight);
        width: 0;
        content: "";
    }

    &::before {
        border-right: var(--boxHeight) solid var(--backgroundColor);
    }

    &::after {
        border-left: var(--boxHeight) solid var(--backgroundColor);
    }

    &:hover {
        cursor: pointer;
        span {
            background-color: var(--backgroundColorAlpha);
        }

        &::before {
            border-right-color: var(--backgroundColorAlpha);
        }
        
        &::after {
            border-left-color: var(--backgroundColorAlpha);
        }
    }

    span {
        display: inline-block;
        background-color: rgb(63, 27, 41);
        background-image: url(assets/splatters/splatter.svg);
        background-size: cover;
        height: var(--boxHeight);
        padding: 2.3rem 0;
    
        text-decoration: none;
        color: white;
    }
}

.todo {
    font-family: "CaslonItalic";
}

.address {
    font-size: 2.5rem;
}

.present {
    font-family: "CaslonItalic";
    font-size: 2.5rem;
}

.footprint {
    position: absolute;
    top: 0;
}

.ditte {
    left: 0;
    transform: translate(-100%);
    width: 45vw;
}

.donald {
    top: 5rem;
    right: 2rem;
    transform: translate(100%);
    width: 40vw;
}

.crest {
    position: absolute;
    width: 10rem;
}

.todo1,
.todo2 {
    position: relative;
}

.todo1 {
    background-image: url(assets/strikethrough1.svg);
    background-repeat: no-repeat;
    background-position: center 0.5rem;
    background-size: 70%;
}

.todo2 {
    background-image: url(assets/strikethrough2.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 70%;
}

@keyframes fadeOut {
    100% { display: none }
}

.overlay_pre {
    position: fixed;
    top: 0;
    z-index: 5;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    background-image: url(assets/overlay_background.png);
    background-size: cover;
    background-position: center;

    &.hide {
        animation: fadeOut 0.1s forwards;
    }
}

.overlay {
    position: fixed;
    top: 0;
    z-index: 5;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    pointer-events: none;

    &::before {
        content: '';
        position: absolute;
        z-index: -1;
        inset: 0;

        background-image: url(assets/overlay_background.png);
        background-size: cover;
        background-position: center;
        mask-image: url(assets/inkstain/inkstain_short.gif);
        mask-size: cover;
        mask-position: center;
    }
}

html[lang="nl"] [data-lang="en"] {
    display: none;
}

html[lang="en"] [data-lang="nl"] {
    display: none;
}

@media (max-width: 800px) {
    h1 {
        line-height: 5.5rem;
        font-size: 7rem;
    }
    
    h2 {
        font-size: 5rem;
    }
    
    h3 {
        font-size: 3.5rem;
    }

    main {
        justify-content: flex-start;
        padding: 5rem 0 5rem;

        &::before,
        &::after {
            content: initial;
        }
    }

    .footprint {
        display: none;
    }

    .todo1,
    .todo2 {
        background-size: 50%;
    }
}