/* Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    width: 100%;
    min-height: 100%;
    background-color: #555;
    color: #AAA;
    font-family: Arial, sans-serif;
}

/* Main container */
.CenterColumn {
    width: 80%;
    margin: 0 auto;
    background-color: #222;
    padding: 2em;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.centerColumnInside {
    height: 100%;
}

/* Top Bar */
.TopBar {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5em;
    flex-wrap: wrap;
    margin-bottom: 2em;
}

.Headshot {
    width: 250px;
    border-radius: 20%;
    opacity: 0.95;
}

.headshotText {
    flex: 1;
    min-width: 250px;
}

.TopBar h2 {
    font-size: 2.8em;
    margin-bottom: 0.3em;
}

.degree p {
    display: inline-block;
    margin-right: 1em;
    font-size: 1.1em;
    opacity: 0.9;
}

.about {
    font-size: 1em;
    line-height: 1.5em;
    margin-top: 0.5em;
}

/* Section Titles */
.subjects h1 {
    font-size: 1.9em;
    margin: 1.2em 0 0.6em 0;
    border-bottom: 2px solid #444;
    padding-bottom: 0.2em;
}

/* Experience Blocks */
.experience {
    margin-left: 1em;
    margin-bottom: 1.2em;
}

.experience h2 {
    margin: 0.2em 0;
}

/* Education Blocks */
.education {
    margin-left: 1em;
    margin-bottom: 1.2em;
}

/* Skills */
.skills {
    margin-left: 1em;
}

#languages {
    margin-left: 1em;
    margin-bottom: 0.8em;
}

#languages h3 {
    display: inline-block;
    margin-right: 0.5em;
}

#languages h3::after {
    content: ",";
}

#languages h3:last-child::after {
    content: "";
}

.skills p {
    margin: 0.5em 0 1.2em 0;
    line-height: 1.4em;
}

/* Achievements */
.achievements h2,
.achievements p {
    margin-left: 1em;
}

/* Footer */
footer {
    margin-top: 0;
    width: 100%;
    background: #feee70;
    text-align: center;
    color: black;
    height: 2em;
    font-size: 3em;
    line-height: 2em;
    border-radius: 5px;
}

footer a {
    width: 100%;
}

/* Mobile Enhancements */
@media (max-width: 700px) {
    .TopBar {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .headshotText {
        width: 100%;
    }

    .TopBar h2 {
        font-size: 2.2em;
    }

    .Headshot {
        width: 60%;
        max-width: 260px;
    }

    .CenterColumn {
        width: 95%;
        padding: 1.2em;
    }
}
