:root {
    --title-font: Futura, sans-serif;
}

html {
    line-height: 1.2em;
    font-family: ui-rounded, system-ui, ui-sans-serif, sans-serif;
    color: #212121;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    --hue: 226;
    --highlight-color: hsl(var(--hue),50%,40%);
    background-color: #ededed;
    text-align: center;
    align-content: center;
    margin: auto;
    height: 100%;
}

#quote {
    position: fixed;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    font-size: 14px;
    font-weight: 100;
    padding: 18px;
    line-height: 1.5em;
    left: 0px;
    right: 0px;
    z-index: -1;
    color: #b9b9b9;
}

#about {
    line-height: 1.5em;
}

a {
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid lightgray;
}

a:hover {
    background-color: #f5f5f5;
    color: var(--highlight-color);
}

/* ---- CONTENT ---- */
main {
    max-width: 1200px;
    padding: 2em 0em;
    display: flex;
    justify-content:center;
    margin: auto;
    background-color: white;
    box-shadow: 0px 20px 20px -15px rgba(0, 0, 0, 0.15);
    border-bottom: 2px solid whitesmoke;
    border-radius: 2px;
}

#left {
    text-align: right;
    border-right: 0.5px solid var(--highlight-color);
}

#right {
    text-align: left;
}

#about {
    max-width: 600px;
}

footer {
    margin: 1em 0em 1.5em 0em;
    text-align: center;
    line-height: 1.5em;
    color: darkgray;
    font-size: 14px;
}

/* ---- Headers ---- */
h1 {
    font-family: var(--title-font);
    color: var(--highlight-color);
}


h3 {
    font-family: var(--title-font);
    font-weight: 100;
    color: var(--highlight-color);
}

h4 {
	font-family: var(--title-font);
	font-weight: 100;
	color: var(--highlight-color);
    filter: opacity(0.7) brightness(1.1);
	margin: 0.5em auto;
}

/* ---- TITLE ---- */
#image {
    background-image: url("../images/headshot.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size:cover;
    border-radius: 1em;
    margin: 0em 0em 1em auto;
    height: 150px;
    width: 150px;
    box-shadow: 0px 10px 20px -10px hsla(var(--hue), 50%, 10%, 0.2);
}

#title {
	padding: 0.5em;
    align-content: flex-end;
    text-align: right;
}

#title #name {
    margin-top: 0px;
    margin-bottom: 0.2em;
    line-height: 1.2em;
    font-size: 28px;
}

/* ---- EXPERIENCE ---- */
.experience .title {
    line-height: 1.5em
}

.subtitle {
    font-size: 14px;
    font-style: oblique;
    font-weight: 300;
    display: block;
    color: #a5a5a5;
}

/* ---- LISTS ---- */

#contact_info {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.5em;
}

ul {
    line-height: 1.5em;
    margin: 0.5em auto;
}

#left li {
    list-style-type: none;
}

#right li {
    color: #424242;
    list-style-type: circle;
}

.langList {
    line-height: 1.9em;
}

.langList span {
    position: relative;
    display: inline;
    border: 1px solid var(--highlight-color);
    color: var(--highlight-color);
    border-radius: 6px;
    font-size: 13px;
    padding: 3px 10px;

    background-color: hsla(var(--hue), 50%, 40%, 0.1);
}

/* ---- SECTIONS ---- */
section {
    box-sizing: content-box;
    padding: 0.5em;
    margin: 0.5em;
}

.bordered {
    border-top: 0.5px solid var(--highlight-color);
}

section h3 {
    margin: 0em 0em 0.5em 0em;
}
/* ---- COLLECTIONS ---- */
.collection {
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
    width: 90%;
    align-content: stretch;
}

.collection div {
    background-color: hsla(var(--hue), 50%, 94%, 1);
    color: var(--highlight-color);
    border-radius: 6px;
    display: block;
    padding: 5px 10px;
    text-align: center;
    margin: 2px;
    position: relative;
}

.detailButton {
    outline:none;
    border: none;
    cursor: pointer;
    background-color: #f0f0f0;
    color: gray;
    font-size: 12px;
    padding: 3px 6px;
    border-radius: 6px;
    -webkit-appearance: none;
    -moz-appearance: none;

}

.detailButton:active {
    background-color: gainsboro;
}

@media screen and (max-width: 480px) {
    #image {
        margin: auto;
        margin-bottom: 1em;
    }

    #title {
        text-align: center;
        border-bottom: 0.5px solid var(--highlight-color);
    }

    main {
        display: block;
        justify-content: center;
    }

    #left {
        text-align: left;
        border-right: none;
        border-bottom: 0.5px solid var(--highlight-color);

    }

    #right {
        text-align: left;
        overflow: auto;
    }

    #contact_info {
        flex-direction: row;
        flex-wrap: wrap;
    }

    #contact_info a {
        margin: 0px 5px;
        white-space: nowrap;
    }
}
