@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/lato-300-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/lato-300-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/lato-400-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/lato-400-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

body {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
}

.cv {
    padding: 0;
    margin: 0 auto;
    position: relative;
}

.cv-header .author,
.cv-header .position {
    margin: 0;
    padding: 0;
}

/**
 * Layout used for screen widths >= 1000px
 */
@media (min-width: 1000px), print {
    .cv {
        width: 1000px;
    }

    /* Header */
    .cv-header {
        position: absolute;
        top: 70px;
        left: 0;
        width: 100%;
        height: 145px;
        overflow: hidden;
    }

    .cv-header .author {
        margin: 0;
        padding: 0;
        padding-left: 12pt;
        margin-bottom: -10px;
    }
    .cv-header .position {
        margin: 0;
        padding-left: 12pt;
    }

    /* Main area of CV (sidebar + content) */
    .cv-main {
        position: absolute;
        top: 215px;
    }

    /* Sidebar */
    .cv-sidebar {
        overflow: hidden;
        background: #2c3236 !important;
        width: 300px;
        color: #FFF !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .cv-sidebar a {
        color: #FFF !important;
    }

    .cv::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 300px;
        height: 70px;
        background: #2c3236;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .cv-sidebar {
        position: absolute;
        left: 0;
        top: 0;
        min-height: 600px;
        display: inline-block;
        height: 100%;
    }


    /* Content area (no more header or sidebar) */
    .cv-content {
        padding: 0;
        margin: 0;
        position: relative;
        top: 0;
        left: 325px;
        width: 675px;
    }

    .cv-sidebar h2 {
        font-size: 12pt;
        margin-top: 36pt;
        margin-bottom: 4pt;
        padding-left: 18pt;
    }

    .cv-sidebar .cv-info {
        margin-top: 1.5em;
    }

}


.cv-sidebar,
.cv-sidebar img {
    width: 300px;
}

.cv-header .author {
    font-size: 62pt;
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    word-spacing: 25pt;
    letter-spacing: 2pt;
}

.cv-header .position {
    font-family: sans-serif;
    font-size: 16pt;
}

.cv-sidebar p {
    position: relative;
    margin: 0;
    padding: 0 18pt;
    margin-top: 4pt;
}

.cv-sidebar a {
    text-decoration: none;
}

.cv-sidebar .cv-info {
    font-style: normal;
}

.cv-sidebar .cv-info p {
    text-align: right;
}

.cv-sidebar p svg {
    position: absolute;
    left: 18pt;
    bottom: 2.3pt;
    width: 1em;
    height: 1em;
    fill: currentColor;
    opacity: 0.4;
}

.cv-sidebar .cv-info p:first-of-type {
    margin-top: 0.8em;
}


.cv-sidebar ul {
    list-style-type: none;
    padding-left: 18pt;
    margin-top: 0;
}

/* Part headers (education, work experience) */
.cv-content h2 {
    font-size: 14pt;
    border-bottom: solid 1pt #CABABB;
    margin-bottom: 10pt;
    padding-bottom: 2pt;
}

/* Working places, education levels */
.cv-content h3 {
    font-size: 12pt;
    padding: 0;
    margin: 0;
}

.cv-content section {
    clear: both;
}

.cv-content h3 .note {
    font-weight: normal;
    font-style: italic;
}

.area-holder {
    position: relative;
    margin-bottom: 1.5em;
}

ol.area-holder.publications {
    list-style: none;
    padding-left: 0;
    margin: 0 0 1.5em;
}

.publication cite.title {
    font-style: normal;
}

.entry {
    clear: both;
    margin-bottom: 1em;
    page-break-inside: avoid;
}

.entry.long {
    page-break-inside: auto;
    orphans: 5;
}

.entry li {
    page-break-inside: avoid;
}

.entry > div {
    padding-left: 115pt;
}

.entry .venue {
    font-style: italic;
}

.entry a {
    color: #1B2A65;
}

.entry .source a {
    font-style: italic;
    color: black;
}

.cv-sidebar .entry > div {
    padding-left: 0;
    display: inline-block;
}

.cv-sidebar .entry {
    padding-left: 18pt;
    margin-bottom: 0;
}

.cv-sidebar .entry .title {
    width: 80pt;
}

.cv-languages dl {
    margin: 0;
    padding: 0 18pt;
    overflow: hidden;
}
.cv-languages dt {
    float: left;
    clear: left;
    margin: 0;
    padding: 0;
}
.cv-languages dd {
    margin: 0;
    padding: 0;
    text-align: right;
}

.entry .item {
    font-style: italic;
}

.entry .period {
    float: left;
    width: 115pt;
    color: #1B2A65;
    font-size: 14pt;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    padding-left: 0;
}

.responsibility .entry .period {
    font-size: 12pt;
}

.responsibility .entry {
    margin-bottom: 0em;
}

.entry ul, .entry li {
    padding-left: 0;
    list-style: disc;
}

.entry h4 {
    font-weight: normal;
    font-style: italic;
}

.cv-tools {
    text-align: right;
    position: absolute;
    right: 0;
    color: black;
}
.cv-tools .tool {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 10pt 5pt;
    font-size: 11pt;
    font-family: inherit;
    color: inherit;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
}
.cv-tools .tool svg {
    width: 18pt;
    height: 18pt;
    fill: #665758;
    margin-bottom: 3pt;
}

/**
 * Quick fixes for small screens (phones, etc.)
 */
@media screen and (max-width: 999px) {
    .cv {
        margin: 0 10pt;
    }
    .cv-tools {
        display: none;
    }
    .cv-header {
        background: #515d65 !important;
        color: white;
        margin-top: 0;
        margin-bottom: 12pt;
        margin-left: -10pt;
        margin-right: -10pt;
        padding: 10pt;
    }
    .cv-header .author {
        font-size: 25pt;
        word-spacing: 10pt;
        letter-spacing: 0pt;
    }

    .cv-sidebar,
    .cv-sidebar img {
        width: inherit;
    }
    img.author {
        width: 30%;
        border-radius: 7px;
    }
    .cv-sidebar .cv-info {
        position: absolute;
        top: 0;
        left: 30%;
        right: 0;
    }
    .cv-sidebar .cv-info p {
        text-align: left;
    }
    .cv-sidebar {
        position: relative;
        margin-top: 0.6em;
    }
    .cv-sidebar h2 {
        font-size: 12pt;
        margin-top: 10pt;
        margin-bottom: 5pt;
    }
    .cv-sidebar section {
        margin-bottom: 1em;
    }

    .entry .period {
        width: 100%;
        font-style: italic;
        font-size: 12pt;
        padding-bottom: 2pt;
    }
    .entry > div {
        padding-left: 0;
    }

    .cv-sidebar p svg {
        position: static;
        margin-right: 7pt;
        vertical-align: middle;
        opacity: 0.6;
    }

    .cv-languages dt {
        float: none;
        display: inline-block;
        margin-right: 0.4em;
        width: 80px;
    }
    .cv-languages dd {
        display: inline;
        text-align: left;
    }
    .cv-languages dd::after {
        content: "";
        display: block;
    }

    .cv-sidebar a {
        color: #1B2A65;
    }
    .cv-content h2 {
        font-size: 12pt;
        background: #515d65 !important;
        color: white;
        border: none;
        padding: 10pt 10pt;
        margin: 5pt -10pt;
    }
    .entry ul, .entry li {
        padding-left: 2px;
        margin-left: 7px;
    }
}


/**
 * Printing rules (to make nice-looking PDF)
 */

.only-print {
    display: none;
}

@media print {
    @page {
        margin: 1.5cm;
    }
    html, body {
        font-size: 12pt;
        background: #FFF;
        overflow: visible;
    }
    .only-print {
        display: inherit;
    }
    .only-web {
        display: none;
    }
    .cv-sidebar,
    .cv-sidebar img {
        width: 6cm;
    }
    .cv-sidebar p {
        padding-left: 2.5em;
    }
    .cv-content {
        left: 7cm;
        width: 19cm;
    }
    .entry .period {
        font-size: 13pt;
        color: #000 !important;
    }
    a {
        color: black !important;
        text-decoration: none !important;
    }
    .cv-sidebar .entry .title {
        width: 70pt;
    }
    .cv-sidebar p {
        font-size: 90%;
    }
    .cv-tools {
        display: none;
    }
}

