:root {
    --accent-color: rgba(247, 77, 101, 0.9);
}

* {
    box-sizing: border-box;
}

body {
    font-size: 16px;
    display: grid;
    margin-inline: 0;
    margin-block: 0;
    font-family: 'Montserrat', sans-serif;
}

h1, h2 {
    font-family: 'Dosis', sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    color: #3d3d3d;
}

h1 {
    margin-block-end: 0;
}

h2 {
    margin-block-end: 0.75rem;
}

input, select, textarea {
    font-family: 'Montserrat', sans-serif;
}

nav {
    position: sticky;
    inset-inline-start: 0;
    top: 0; /* TODO: remove when fixed */
    background-color: white;
    display: flex;
    justify-content: center;

    ul {
        display: flex;
        flex-wrap: wrap;
        padding-inline: 0;
        justify-content: center;

        li {
            margin-inline: .25rem;
            margin-block: 0;
            line-height: 1.5rem;
            list-style: none;
        }
    }
}

main {
    padding-block: 0;
    margin-block: 0;
    display: grid;
    grid-template-columns: 25px 1fr 25px;
    row-gap: 10px;

    > * {
        grid-column: 2;
    }
} 

.social_logo {
    inline-size: 1rem;
}

.full-bleed {
   grid-column: 1 / span 3;
   padding-inline: 2rem;
}

.flex-header, .motto, #aboutme footer {
    flex-basis: 100%;
}

#aboutme {
    background-color: black;
    color: white;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;

    h2 {
        color: white;
    }

    footer {
        text-align: center;

        a {
            &, &:visited, a:hover {
                color: white;
            }
        }
    }

    aside {
        order: 10;
        text-align: center;
    }
} 

#portfolio {
    display: grid;
    grid-template: 1fr / 1fr 1fr;
    grid-template-areas:    "portfolio portfolio"
                                "anchor img1";
    grid-gap: 10px;
    align-items: end;
    background-color: var(--accent-color);
    padding-block: 1rem;

    h2 {
        grid-area: portfolio;
        align-self: start;
        margin-block: 0;
    }

    img {
        max-inline-size: 100%;

        &:hover {
            opacity: 0.7;
            transition: opacity 0.5s;
        }

        &.anchor {
            grid-area: anchor;
            align-self: start;
        }
    }
}

#testimonials {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;

    blockquote {
        border-inline: solid 1px black;
        border-block: solid 1px black;
        padding-inline: 0.5rem;
        padding-block: 0;
        margin-inline: 0;
        margin-block: 0.5rem;

        &.featured {
            order: -1;
            flex: 1 0 auto;
            background-color: black;
            color: white;
            margin-inline-start: 1rem;
            font-weight: bold;
        }
    }

    h2 {
        order: -2;
    }
}

.resume-fieldset {
    border-inline: none;
    border-block: none;
    margin-inline: 0;
    margin-block: 0;
    padding-inline: 0;
    padding-block: 0;

    legend {
        padding-inline: 0;
        padding-block: 0;
    }
}

.label-standard {
    display: block;
    margin-block: 0.125rem;
}

.label-standard, .resume-fieldset legend {
    font-size: 0.875rem;
}

.field {
    margin-block-end: 1.25rem;
}

.button {
    background-color: #000000;
    color: white;
    font-family: 'Montserrat', sans-serif;
    padding-inline: 1rem;
    padding-block: .5rem;
    border-inline: none;
    border-block: none;

    &:hover {
        background-color: var(--accent-color);
        transition: background-color .5s;
    }
}

.my-picture {
    max-inline-size: 75px;
    margin-inline-end: 0;
}

@media screen and (min-width: 768px) {
    main {
        grid-template-columns: 50px 1fr 50px;
    }

    #aboutme {
        justify-content: initial;
        text-align: initial;
    }

    .my-picture {
        margin-inline-end: 1rem;
    }

    #portfolio {
        grid-template: repeat(2, 1fr) / repeat(5, 1fr);
        grid-template-areas:    "portfolio anchor img1 img2 img3"
                                "portfolio anchor img4 img5 img6";
    }
}

@media screen and (min-width: 1200px) {
    main {
        grid-template-columns: 1fr 900px 1fr;
    }

    .full-bleed {
        padding-inline: 15%;
    }
}

@media print {
    #aboutme {
        background-color: white;
        color: black;
    }

    #contactme {
        display: none;
    }
}