html, body {
    margin: 0;
    padding: 0;
    background-color: #8ddfff;
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    font-family: "Comic Neue";
    font-weight: 400;
    font-weight: bold;
}

nav {
    display: flex;
    justify-content: center;
    align-items: end;
    background: url("assets/clouds.svg") no-repeat;
    background-size: 100% 100%;
    width: 50%;
    margin: 10px auto;
    padding-top: 10vw;
    padding-bottom: 1vw;
    text-align: center;
}

nav > a {
    all: unset;
    margin: 0 2vw;
    font-size: clamp(12px, 2vw, 24px);
    cursor: default;
}

nav > a:hover {
    text-decoration: underline;
}

header {
    display: flex;
    justify-content: center;
    align-items: center;
    background: url("assets/hills.svg") bottom no-repeat;
    background-size: 100%;
    padding: 5vw 0;
    padding-bottom: 12vw;
}

header > h1 {
    all: unset;
    text-align: center;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: bold;
}

main {
    background-color: #b4ffb7;
    outline: 1px solid #b4ffb7;
    display: flex;
    flex: 1;
}

#title-container {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    padding: 0;
    padding-top: 1vw;
    align-items: center;
    background: url("assets/castle-hill.svg") bottom no-repeat;
    background-size: 100%;
}

#title-container > div {
    text-align: center;
    padding-bottom: 14vw;
}

#title-container > div > h1 {
    all: unset;
    display: block;
    font-weight: bold;
    font-size: 4vw;
}

#title-container > div > h2 {
    all: unset;
    display: block;
    font-size: 2.5vw;
}

#title-container > img {
    width: 30vw;
}

#biography {
    padding: 3vw 10vw;
    flex-direction: column;
    justify-content: start;
    align-items: center;
}

#biography > section {
    margin: 1.5vw 0;
}

#summary > .section-title {
    display: flex;
    margin: 1vw 0;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#summary > .section-title > img {
    width: 2vw;
}

#summary > .section-title > h2 {
    all: unset;
    text-align: center;
    font-size: 3vw;
    margin: 0 1vw;
    font-weight: bold;
}

#summary > .section-content {
    display: flex;
    justify-content: center;
    align-items: center;
}

#summary > .section-content > img {
    width: 25vw;
}

#summary > .section-content > div {
    background-color: #ffe4fb;
    border-radius: 5px;
    margin-left: 10vw;
    padding: 1vw;
}

#summary p {
    all: unset;
    font-size: 1.5vw;
    margin: 1vw 0;
    display: block;
}

#skills > .section-title {
    display: flex;
    margin: 1vw 0;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#skills > .section-title > img {
    width: 2vw;
}

#skills > .section-title > h2 {
    all: unset;
    text-align: center;
    font-size: 3vw;
    margin: 0 1vw;
    font-weight: bold;
}

#skills > p {
    all: unset;
    font-size: 1.5vw;
}

#skills > ul {
    all: unset;
    font-size: 1.5vw;
    border-radius: 5px;
    padding: 1vw;
    margin: 1vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background-color: #ffe4fb;
    list-style-position: inside;
}

#education > .section-title {
    display: flex;
    margin: 1vw 0;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#education > .section-title > img {
    width: 2vw;
}

#education > .section-title > h2 {
    all: unset;
    text-align: center;
    font-size: 3vw;
    margin: 0 1vw;
    font-weight: bold;
}

#education > .section-content {
    display: flex;
    gap: 1vw;
}

#education > .section-content > p {
    all: unset;
    font-size: 1.5vw;
    text-align: center;
    background-color: #ffe4fb;
    border-radius: 5px;
    padding: 1vw;
}

#education > .section-content > hr {
    all: unset;
    display: none;
    width: 3px;
    border-radius: 25px;
    background-color: black;
}

#fun-fact > .section-title {
    display: flex;
    margin: 1vw 0;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#fun-fact > .section-title > img {
    width: 2vw;
}

#fun-fact > .section-title > h2 {
    all: unset;
    text-align: center;
    font-size: 3vw;
    margin: 0 1vw;
    font-weight: bold;
}

#fun-fact > .section-content {
    background-color: #ffe4fb;
    border-radius: 5px;
    padding: 1vw;
}

#fun-fact > .section-content > p {
    all: unset;
    font-size: 1.5vw;
    display: block;
    margin: 1vw 0;
}

#contact {
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

#contact > section {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 33.3%;
    text-align: center;
}

#contact > hr {
    all: unset;
    width: 3px;
    border-radius: 25px;
    height: 35%;
    background-color: black;
}

#contact > section > img {
    width: clamp(90px, 25%, 150px);
}

#contact > section > h2 {
    all: unset;
    padding: 1vw 2vw;
    font-size: clamp(24px, 3vw, 36px);
    font-weight: bold;
    text-decoration: underline;
}

#contact > section > h3 {
    all: unset;
    padding: 1vw 2vw;
    font-size: clamp(16px, 2vw, 24px);
}

#handouts {
    flex-direction: column;
    justify-content: start;
    align-items: center;
    padding: 3vw 20vw;
}

#handouts > section {
    width: 100%;
    margin: 2vw auto;
}

#handouts > section > h2 {
    all: unset;
    font-weight: bold;
    font-size: clamp(24px, 2vw, 36px);
    text-align: center;
    display: block;
}

#handouts > section > p {
    all: unset;
    font-size: clamp(12px, 1.5vw, 24px);
}

#handouts > section > img {
    width: 100%;
    margin: 1vw 0;
}

footer {
    background-color: #b4ffb7;
    text-align: center;
    padding: 1vw;
    color: darkgray;
}

@media only screen and (max-width: 600px) {
    nav {
        display: flex;
        justify-content: center;
        align-items: end;
        background: url("assets/clouds.svg") no-repeat;
        background-size: 100% 100%;
        width: 100%;
        margin: 10px auto;
        padding-top: 20vw;
        padding-bottom: 1vw;
        text-align: center;
    }

    nav > a {
        font-size: 3vw;
    }

    #title-container {
        flex-direction: column;
        background: url("assets/castle-hill-mobile.svg") bottom no-repeat;
        background-size: 100%;
    }

    #title-container > div {
        text-align: center;
        padding-top: 5vw;
        padding-bottom: 100vw;
    }

    #title-container > div > h1 {
        font-size: 10vw;
        padding-bottom: 0;
    }

    #title-container > div > h2 {
        font-size: 6vw;
    }

    #title-container > img {
        display: none;
    }

    #biography {
        padding: 3vw 5vw;
    }

    #summary > .section-title {
        gap: 1vw;
        margin: 3vw 0;
    }

    #summary > .section-title > h2 {
        font-size: 8vw;
    }

    #summary > .section-title > img {
        width: 7%;
    }

    #summary > .section-content {
        flex-direction: column;
        align-items: center;
    }

    #summary > .section-content > img {
        width: 100%;
        margin: 0 3vw;
        margin-bottom: 3vw;
    }

    #summary > .section-content > div {
        margin: 0;
        padding: 5vw;
    }

    #summary p {
        font-size: 5vw;
        margin: 3vw 0;
    }

    #skills > .section-title {
        gap: 1vw;
        margin: 3vw 0;
    }

    #skills > .section-title > h2 {
        font-size: 8vw;
    }

    #skills > .section-title > img {
        width: 7%;
    }

    #skills > p {
        font-size: 5vw;
        margin: 3vw 0;
    }

    #skills > ul {
        font-size: 5vw;
        padding: 5vw;
        margin: 3vw 0;
        list-style-position: outside;
    }

    #skills > ul > li {
        margin: 1vw 2vw;
    }

    #education > .section-title {
        gap: 1vw;
        margin: 3vw 0;
    }

    #education > .section-title > h2 {
        font-size: 8vw;
    }

    #education > .section-title > img {
        width: 7%;
    }

    #education > .section-content {
        flex-direction: column;
        gap: 3vw;
    }

    #education > .section-content > p {
        font-size: 5vw;
        padding: 3vw;
    }

    #fun-fact > .section-title {
        gap: 1vw;
        margin: 3vw 0;
    }

    #fun-fact > .section-title > h2 {
        font-size: 8vw;
    }

    #fun-fact > .section-title > img {
        width: 7%;
    }

    #fun-fact > .section-content > p {
        font-size: 5vw;
        padding: 3vw;
    }

    header > h1 {
        font-size: 10vw;
        padding: 8vw 0;
    }

    #handouts {
        padding: 3vw 10vw;
    }

    #handouts > section > h2 {
        font-size: 7vw;
    }

    #handouts > section > p {
        font-size: 5vw;
    }

    #contact {
        flex-direction: column;
        gap: 0;
        padding-bottom: 5vw ;
    }

    #contact > section {
        width: 100%;
        margin: 1vw 0;
    }

    #contact > section > img {
        width: 20%;
    }

    #contact > section > h2 {
        padding: 1.5vw 0;
        font-size: 6vw;
    }

    #contact > section > h3 {
        padding: 1.5vw 0;
        font-size: 4vw;
    }

    #contact > hr {
        all: unset;
        display: none;
        width: 60%;
        border-radius: 25px;
        height: 8px;
        margin: 3vw 0;
        background-color: black;
    }
}