html {
    scroll-behavior: smooth;
}

* {
    margin: 0;
    box-sizing: border-box;
    cursor: none;
}

p {
    font-family: "Sono", monospace;
}

body {
    background-color: #191822;
}

ul {
    list-style: none;
    padding: 0;
}

a {
    font-family: "Sono", monospace;
    color: #e25d34;
    text-decoration: #e25d34 wavy underline 0.07rem;
}

#cursor {
    width: 0.5rem;
    height: 0.5rem;
    background-color: #e29734;
    border-radius: 0.25rem;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    mix-blend-mode: exclusion;
    pointer-events: none;
    z-index: 10;
}

#cursor-tail {
    transform: translate(-50%, -50%);
    z-index: 10;
    width: 1rem;
    height: 1rem;
    background-color: #e29734;
    border-radius: 1rem;
    position: absolute;
    top: 0;
    left: 0;
    transition: width 100ms linear, height 100ms linear, top 100ms, left 100ms;
    mix-blend-mode: exclusion;
    pointer-events: none;

    &.point {
        width: 1.5rem;
        height: 1.5rem;
    }

    &.click {
        width: 0.75rem;
        height: 0.75rem;
    }
}

.button {
    border: 1px solid #e29734;
    color: #e29734;
    transition: all 0.1s ease;
    background-color: #e297343b;

    p {
        width: 100%;
        display: inline-block;
        text-align: center;
        text-transform: uppercase;
    }

    &:hover {
        background-color: #e29734;
        color: #191822;
    }

    &:active {
        background-color: #e29734b0;
    }

    &.next {
        width: 3rem;
        height: 3rem;
        border-radius: 1.5rem;
        
        .arrow {
            width: 100%;
            height: 100%;

            background-color: #e29734;
            mask: url(../assets/arrow.svg) no-repeat center;
            -webkit-mask: url(../assets/arrow.svg) no-repeat center;

            &:hover {
                background-color: #191822;
            }
        }
    }

    &.selected {
        background-color: #e29734;
        color: #191822;
    }
}

#content {
    width: 50rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.line {
    border-left: 1px solid #e29734;
    flex-grow: 1;
}

.panel {
    height: 100vh;
    margin-top: -5rem;
    padding-top: 5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
}

#landing {
    height: 110vh;
    margin-top: 0rem;
    padding-top: 0rem;

    .window {
        margin-top: 30vh;
    }

    #landing-menu {
        border: 1px solid #e29734;
        padding: 0.25rem;
        color: #e25d34;

        a {
            text-decoration: none;
            color: #e29734;
        }
    }

    #window-to-menu {
        flex-grow: 1;
    }
}

.window {
    border: 1px solid #e29734;
    padding: 0.5rem 0.25rem 0.25rem 0.25rem;

    .header {
        margin: 0 0 0.5rem 0.25rem;
        color: #e29734;
        text-transform: uppercase;
    }

    .body {
        color: #f6efe5;
        border: 1px solid #e29734;
        padding: 1rem;
        text-transform: none;
        overflow: scroll;
        
        .page {
            max-height: 0;
            opacity: 0;
            transition: 
                all 0.25s ease;

            &.visible {
                transition: all 0.25s ease 0.25s;
                max-height: 10rem;
                opacity: 1;
            }
        }
    }

    .button-row {
        display: flex;
        flex-direction: row;
        gap: 1rem;
        justify-content: flex-end;
        margin-top: 0.25rem;

        .button {
            min-width: 8rem;
        }
    }
}

#menu-to-about {
    flex-grow: 1;
}

#progress {
    width: 100vw;
    position: fixed;
    bottom: 0;
    background-color: #191822;
    user-select: none;

    #bar {
        position: absolute;
        top: 0;
        background-color: #e29734;
        width: 0%;
        height: 100%;
        z-index: -10;
        transition: width 0.5s ease;
    }

    .links {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-around;
        text-transform: uppercase;
        color: #e29734;
        transition: color 0.5s ease 0.25s;

        p {
            flex-grow: 1;
            text-align: center;
        }

        .passed {
            color: #191822;
            transition: color 0.5s ease 0.25s;
        }
    }

    .progress-link {
        position: relative;
        transition: background-color 0.25s ease;
        background-color: #e2973400;
        z-index: 10;

        &:hover {
            background-color:#e297343b;
            z-index: 10;
        }
    }
}

#about {
    display: flex;
    flex-direction: column;
    align-items: center;

    .window {
        width: 40rem;
    }
    .body {
        height: 24rem;
        overflow: hidden;
    }
}

#work {
    .window {
        width: 60rem;
        height: 30rem;
        display: flex;
        flex-direction: column;

        .body{
            display: flex;
            gap: 0.5rem;
            padding: 0;
            flex-grow: 1;
            align-items: center;
            justify-content: center;
            
            .display {
                border: 1px solid #e29734;
                flex-grow: 3;
                height: 100%;
            }

            .list {
                border: 1px solid #e29734;
                padding: 0.5rem;
                display: flex;
                flex-direction: column;
                gap: 0.5rem;
                height: 100%;

                .listing {
                    padding: 0.25rem 0.5rem;
                    border: 1px solid #e29734;
                    width: 100%;
                    transition: all 0.25s ease;

                    .tagline {
                        font-size: 0.75rem;
                        color: #997546;
                    }

                    &.work {
                        background-color: #34d1e212;

                    }

                    &.project {
                        background-color: #d9e23412;
                    }

                    &:hover {
                        background-color: #e29734;
                        color: #191822;
                    }

                    &:active {
                        background-color: #e29734b0;
                    }

                    .tags {
                        display: flex;
                        font-size: 0.75rem;
                        gap: 0.5rem;
                        justify-content: flex-end;
                        color: #e29734;

                        .tag {
                            background-color: #191822;
                            border: 1px solid #e29734;
                            border-radius: 0.75rem;
                            padding: 0.25rem 0.5rem;
                        }
                    }
                }
            }
        }
    }
}

#links {
    #links-container {
        display: flex;
        flex-direction: column;
        gap: 2rem;

        p {
            display: inline-block;
        }

        .sub {
            display: block;
            font-size: 0.75rem;
            font-style: italic;
            color:#997546;
            margin-top: 0.25rem;
        }
    }
}

#contact {
    width: 30rem;

    .copy {
        color: #e25d34;
    }

    #thanks {
        text-align: center;
        font-size: 0.75rem;
        width: 10rem;
        margin-bottom: 30vh;
        border: 1px solid #e29734;
        color: #f6efe5;
        padding: 1rem;
        border-radius: 5rem;
    }

    #copy-notif {
        background-color: #e29734;
        color: #191822;
        padding: 0;
        transition: all 0.5s ease;
        align-self: flex-end;
        width: fit-content;
        max-width: 0;
        font-size: 0.75rem;
        height: 1rem;
    }

    .line {
        margin-top: -1rem;

    }
}