@font-face {
    font-family: "Junicode";
    src: url("https://cdn.eriksonarias.dev/fonts/Junicode-RegularCondensed.woff");
    font-style: normal;
    font-weight: 400;
}

@font-face {
    font-family: "Junicode";
    src: url("https://cdn.eriksonarias.dev/fonts/Junicode-BoldCondensed.woff");
    font-style: normal;
    font-weight: 600;
}

@font-face {
    font-family: "Junicode";
    src: url("https://cdn.eriksonarias.dev/fonts/Junicode-ItalicCondensed.ttf");
    font-style: italic;
    font-weight: 400;
}

@font-face {
    font-family: "Junicode";
    src: url("https://cdn.eriksonarias.dev/fonts/Junicode-BoldItalicCondensed.ttf");
    font-style: italic;
    font-weight: 600;
}

@font-face {
    font-family: "DM Mono";
    src: url("https://cdn.eriksonarias.dev/fonts/DMMono-Regular.ttf");
    font-style: normal;
    font-weight: normal;
}

@font-face {
    font-family: "DM Mono";
    src: url("https://cdn.eriksonarias.dev/fonts/DMMono-Italic.ttf");
    font-style: italic;
    font-weight: normal;
}

@font-face {
    font-family: "DM Mono";
    src: url("https://cdn.eriksonarias.dev/fonts/DMMono-Medium.ttf");
    font-style: normal;
    font-weight: bold;
}

@font-face {
    font-family: "DM Mono";
    src: url("https://cdn.eriksonarias.dev/fonts/DMMono-MediumItalic.ttf");
    font-style: italic;
    font-weight: bold;
}

:root {
    --red: #d63c3c;
    --blue: #817ae7;
}

html {
    background-color: black;
    margin: 0;
    color: white;
    font-family: "DM Mono", monospace;
    font-size: 12pt;
    min-height: 100vh;
    box-sizing: content-box;
}

body {
    margin: 0;
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

p {
    font-size: 1.2rem;
    line-height: 2;
    margin: 0;
}

strong {
    color: var(--red);
}

h1 {
    font-family: "Junicode", serif;
    font-size: 2.5rem;
    margin: 0;
    line-height: 0.85;
}

h2 {
    font-family: "Junicode", serif;
    font-size: 2rem;
    margin: 0;
    line-height: 0.85;
}

h3, h4 {
    margin: 0;
}

a {
    color: white;
}

.red {
    color: var(--red);
}

#nav {
    width: 100%;
    height: 60px;
    padding: 20px;
    box-sizing: border-box;
    position: fixed;
    background-color: black;
    border-bottom: 1px solid white;
    display: flex;
    align-items: center;
    gap: 20px;
    z-index: 1;
}

#footer {
    height: 100px;
}

#content {
    width: 100%;
    padding: 60px 20px 0 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5vh;

    .content-section {
        width: 60%;
        display: flex;
        flex-direction: column;
        gap: 30px;

        .section-img {
            width: 100%;
            display: flex;
            justify-content: center;

            img {
                max-width: min(600px, 100%);
            }
        }
    }

    .quote {
        color: lightgray;
        border-left: 3px solid lightgray;
        padding-left: 20px;
        margin-left: 20px;
        font-style: italic;
    }

    .files {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;

        .file {
            background-color: white;
            border: 2px solid white;
            padding: 10px;

            span {
                color: black;
            }
        }

        .file:hover {
            background-color: black;

            span {
                color: white;
            }
        }
    }

    .credits {
        color: lightgray;
        font-style: italic;
    }
}

.content-section:first-child {
    padding-top: 40px;
}


#hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    width: 100%;
    box-sizing: border-box;

    h1 {
        text-align: center;
        font-size: 5rem;
    }

    h2 {
        text-align: center;
        font-size: 2.5rem;
        margin: 20px 0;
    }

    #next {
        padding: 10px 30px;
        border-radius: 5px;
        text-align: center;
        background-color: var(--red);
        margin-bottom: 20px;

        h2 {
            margin: 0;
        }
    }

    #hero-img {
        margin-top: 50px;
        margin-bottom: 30px;
        max-width: 100%;
        height: auto;

        img {
            filter: opacity(0.7);
            max-width: 100%;
        }
    }

    #scroll-to {
        border: 2px dotted white;
        border-radius: 5px;
        padding: 10px 20px;
    }
}

#contact-cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;

    .contact-card {
        width: calc(33.3333333% - 10px);
        border: 2px solid gray;
        box-sizing: border-box;

        .contact-img {
            width: 100%;
            aspect-ratio: 1/1;

            img {
                width: 100%;
                object-fit: cover;
                border-bottom: 2px solid gray;
                box-sizing: border-box;
            }
        }

        .contact-info {
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 10px;
            box-sizing: border-box;

            h2 {
                margin-bottom: 10px;
            }

            a {
                word-break: break-all;
            }
        }
    }
}

#template {
    border: 2px solid var(--blue);
    box-sizing: border-box;
    border-radius: 5px;
    padding: 20px;

    .break {
        margin: 10px 0;
    }

    .blank {
        color: var(--blue);
        font-weight: bold;
    }
}

@media screen and (max-width: 1000px) {
    p {
        font-size: 1rem;
    }

    #content .content-section {
        width: 100%;
    }

    #contact-cards .contact-card {
        width: calc(50% - 10px);
    }
}

@media screen and (max-width: 500px) {
    h1 {
        font-size: 2rem;
    }

    #hero h1 {
        font-size: 3.5rem;
    }

    #hero h2 {
        font-size: 2rem; 
    }

    #hero #next h3 {
        font-size: 1rem;
    }

    #contact-cards {
        flex-direction: column;

        .contact-card {
            width: initial;
            flex: 1;
            display: flex;
            align-items: stretch;

            .contact-info {
                flex: 2;
                padding: 10px;
                justify-content: initial;

                h1 {
                    font-size: 1.5rem;
                }

                h2 {
                    font-size: 1.5rem;
                }
            }

            .contact-img {
                display: none;
                flex: 1;
                width: 25%;
                aspect-ratio: unset;

                img {
                    border-bottom: none;
                    border-right: 2px solid gray;
                    height: auto;
                    object-fit: contain;
                }
            }
        }
    }
}