#resume {
    margin-left: auto;
    margin-right: auto;
}

#resume > section {
    margin-bottom: 2em;
    display: block;
}

@media print {
    #resume {
        width: 80%;
    }

    #resume > section {
        margin-bottom: 1em;
    }
}

#resume h1 {
  margin-bottom: -0.25em;
}

#resume-summary {
  margin-bottom: 0.5em;
}

#resume h2 {
    font-size: 1.1em;
}

#resume-header > .resume-section-content {
    text-align: center;
}

#resume-header > * {
    margin: 0 0 0 0;
}

#resume-contact {
    margin-left: auto;
    margin-right: auto;
    width: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.resume-contact-label {
  float: left;
  width: 2em;
}

.resume-contact-detail {
  float: left;
}

#resume-summary p {
    text-align: justify;
}

.resume-labeled-section {
    width: 100%;

    break-inside: avoid-page;
}

.resume-unlabeled-section {
    width: 100%;

    break-inside: avoid-page;
}

.resume-section-label, .resume-section-content {
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

#resume-experience {
    break-inside: auto;
}

.resume-experience-item {
    break-inside: avoid-page;
}

.resume-section-label {
    width: 20%;
    margin-right: 1em;

    font-weight: bold;
}

.resume-section-content {
    width: 100%;
}

.resume-section-content * {
    /* Margin and padding will be set on outer containers. */
    margin-top: 0;
    margin-bottom: 0;

    padding-top: 0;
    padding-bottom: 0;
}

#resume-skills ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-items: start;
    padding-left: 10%;
}

#resume-skills .resume-section-content {
    margin-left: auto;
    margin-right: auto;
}

#resume-skills li {
    display: inline-block;
}

@media (max-width: 32em) {
    #resume-contact {
      grid-template-columns: 1fr;
    }

    #resume-skills ul {
      grid-template-columns: 1fr 1fr;
      padding-left: 5%;
    }
}

.resume-experience-item {
    margin-bottom: 1em;
    overflow: hidden;
}

.resume-experience-item:last-child {
    margin-bottom: 0;
}

.resume-experience-item-title, .resume-experience-item-org {
    float: left;
    font-weight: bold;
    font-size: .8em;
}

.resume-experience-item-org {
    clear: left;
}

.resume-experience-item-date-range {
    float: right;
    text-align: right;
    font-weight: bold;
    font-size: .8em;
}

.resume-experience-item-description {
    clear: both;
    font-size: .8em;
}

.resume-experience-item-description ul {
    justify-items: start;
    padding-left: 2em;
}

#resume-publications .resume-section-content {
    font-size: .8em;
}

#resume-publications .resume-section-content ul {
    padding-left: 2em;
}

@media (max-width: 30em) {
    .resume-section-label, .resume-section-content {
        text-align: justify;
        width: 100%;
    }

    #resume-skills li {
        width: 33%;
    }

    #resume-skills ul {
        margin-left: .5em;
        margin-right: .51em;
    }
}

@media (max-width: 20em) {
    #resume-skills li {
        width: 45%;
    }
}
