a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, button, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, input, ins, kbd, label, legend, li, main, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, section, select, small, span, strike, strong, sub, summary, sup, table, tbody, td, textarea, tfoot, th, thead, time, tr, tt, u, ul, var, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
    display: block
}

ol, ul {
    padding: 0;
    margin: 0;
    list-style: none
}

blockquote, q {
    quotes: none
}

blockquote:after, blockquote:before, q:after, q:before {
    content: '';
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

[role="button"], [type='submit'], [type='button'], [type='reset'], button {
    border: none;
    border-radius: 0;
    background: none;
    cursor: pointer;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-border-radius: 0
}

[type="checkbox"], [type="radio"], [type="checkbox"]+label, [type="radio"]+label {
    cursor: pointer
}

b, strong {
    font-weight: bold
}

* {
    box-sizing: border-box
}

.page-header, .section-heading, .descriptor-wrapper {
    border-style: solid;
    border-color: #000
}

.section-heading, .section-sub-heading, .portfolio-list__title, .job-title, .job-company, .job-location, .job-date {
    font-variant: small-caps;
}

.section-heading::first-letter, .section-sub-heading::first-letter, .portfolio-list__title::first-letter, .job-title::first-letter, .job-company::first-letter, .job-location::first-letter, .job-date::first-letter {
    text-transform: uppercase
}

html {
    background-color: gray
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    margin-left: auto;
    margin-right: auto;
    max-width: 1440px;
    background-color: #fff;
    font-size: 16px;
    line-height: 1.4;
	min-height: 100vh;
}

.page-wrapper {
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
    padding: 50px 20px
}

.page-header {
    border-top-width: 5px;
    border-bottom-width: 5px;
    padding: 20px 0;
    margin-bottom: 30px
}

.page-main {
    margin-bottom: 40px
}

.page-footer {
    font-size: 80%;
    text-align: center
}

.page-footer a {
    color: #000
}

.page-heading {
    font-size: 30px;
    font-weight: bold;
    text-align: center
}

.section-heading, .section-sub-heading {
    font-weight: bold
}

.section-heading {
    margin-bottom: 1em;
    font-size: 22px;
    border-bottom-width: 3px;
    display: inline-block
}

.section-sub-heading {
    font-size: 17px;
    margin-bottom: 10px
}

.section-sub-heading:after {
    content: ':'
}

.disc-list {
    margin-left: 1em;
    margin-bottom: 1em;
    list-style: disc
}

.flex-three-col {
    display: flex;
    flex-wrap: wrap;
}

.flex-three-col>* {
    flex: 0 0 100%;
    max-width: 100%
}

@media screen and (min-width: 550px) {
    .flex-three-col>* {
        flex: 0 0 50%;
        max-width: 50%
    }
}

@media screen and (min-width: 1024px) {
    .flex-three-col>* {
        flex: 0 0 33%;
        max-width: 33%
    }
}

.flex-two-col, .descriptor-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.flex-two-col>*, .descriptor-wrapper>* {
    flex: 0 0 100%;
    max-width: 100%
}

@media screen and (min-width: 700px) {
    .flex-two-col>*, .descriptor-wrapper>* {
        flex: 0 0 50%;
        max-width: 50%
    }
}

.main-skills {
    margin-bottom: 20px
}

.skill-list {
    padding: 0 0 20px
}

.portfolio-addition {
    margin: 30px 0
}

.portfolio-list {
    margin-bottom: 30px
}

.portfolio-list>* {
    margin-bottom: 10px
}

.descriptor-wrapper {
    border-bottom-width: 1px
}

.descriptor-wrapper>*:last-child {
    text-align: right
}

.job-details {
    margin-bottom: 40px
}

.job-title {
    font-size: 20px;
    font-weight: bold;
    text-transform: capitalize
}

.job-company {
    text-transform: uppercase
}

.job-location {
    font-style: italic;
}

.job-date {
    font-weight: bold
}
