/* Template level */
body {
    font-family: Georgia, serif;
    font-size: 11px;
    display: flex;
    justify-content: center;
}

#resume {
    max-width: 800px;
    width: 100%;
    padding: 24px 48px;
    box-sizing: border-box;
}

h1 {
    font-size: 26px;
    text-align: center;
    margin: 5px;
}

h2 {
    border-width: 1px;
    border-style: none none solid none;
    margin: 10px 0 2.5px 0;
}

section {
    margin: 3px 0;
}

ul {
    margin: 0;
    padding-left: 20px;
}

a {
    text-decoration: none;
    color: black;
}

.item {
    margin-top: 8px;
}

.item>.item-header {
    display: block;
}

.item>.item-header>.item-header-title {
    font-weight: bold;
}

.item-location {
    font-weight: normal;
}

.item-header-subtitle-row,
.item-header-title-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.item-header-subtitle-row>.item-header-subtitle {
    font-style: italic;
}

.item-header .item-details {
    text-align: right;
    flex-shrink: 0;
}

.item-header .item-details>.item-details-title {
    font-weight: bold;
}

.clearfix {
    clear: both;
}

.centered {
    text-align: center;
}

/* Section specific */
/* basics */
.vertical-separator {
    text-align: center;
    padding: 0 10px;
}

.vertical-separator:not(:first-child) {
    border-left: 1px solid #000;
    text-align: center;
}

/* Set some print settings. */
@media print {
    @page {
        size: portrait;
        margin: 10mm 25mm;
    }

    #resume {
        max-width: 100%;
        border: 0px;
        background: #fff;
        box-shadow: none;
        -webkit-box-shadow: none;
    }

    body,
    html,
    #resume {
        margin: 0px;
        padding: 0px;
    }

    .controls {
        display: none;
    }
}