* {
    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;
    background-color: white;
    display: flex;
    justify-content: center;
}

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

nav ul 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: 50px 1fr 50px;
    row-gap: 10px;
}

main > * {
    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;
}

#aboutme h2 {
    color: white;
}

#aboutme footer {
    text-align: center;
}

#aboutme footer a, #aboutme footer a:visited, #aboutme footer a:hover {
    color: white;
}

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

#portfolio {
    display: grid;
    grid-template: repeat(2, 1fr) / repeat(5, 1fr);
    grid-template-areas:    "portfolio anchor img1 img2 img3"
                            "portfolio anchor img4 img5 img6";
    grid-gap: 10px;
    align-items: end;
    background-color: rgba(247, 77, 101, 0.9);
    padding-block: 1rem;
}

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

#portfolio img {
    max-inline-size: 100%;
}

#portfolio img:hover {
    opacity: 0.7;
    transition: opacity 0.5s;
}

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

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

#testimonials 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;
}

#testimonials h2 {
    order: -2;
}

blockquote.featured {
    order: -1;
    flex: 1 0 auto;
}

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

.resume-fieldset legend {
    padding-inline: 0;
    padding-block: 0;
}

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

.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;
}

.button:hover {
    background-color: rgba(247, 77, 101, 0.9);
    transition: background-color .5s;
}

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

@media screen and (max-width: 767.98px) {
    main {
        grid-template-columns: 25px 1fr 25px;
    }

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

    .my-picture {
        margin-inline-end: 0;
    }

    #portfolio {
        grid-template: 1fr / 1fr 1fr;
		grid-template-areas:    "portfolio portfolio"
						        "anchor img1";
    }
}

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

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