@font-face {
    font-family: "Public Sans";
    font-style: normal;
    font-weight: 300;
    src:
        url("fonts/Public_Sans_300.woff2") format("woff2"),
        url("fonts/Public_Sans_300.woff") format("woff");
}
@font-face {
    font-family: "Public Sans";
    font-style: italic;
    font-weight: 300;
    src:
        url("fonts/Public_Sans_300italic.woff2") format("woff2"),
        url("fonts/Public_Sans_300italic.woff") format("woff");
}
@font-face {
    font-family: "Public Sans";
    font-style: normal;
    font-weight: 400;
    src:
        url("fonts/Public_Sans_400.woff2") format("woff2"),
        url("fonts/Public_Sans_400.woff") format("woff");
}
@font-face {
    font-family: "Public Sans";
    font-style: italic;
    font-weight: 400;
    src:
        url("fonts/Public_Sans_400italic.woff2") format("woff2"),
        url("fonts/Public_Sans_400italic.woff") format("woff");
}
@font-face {
    font-family: "Public Sans";
    font-style: normal;
    font-weight: 700;
    src:
        url("fonts/Public_Sans_700.woff2") format("woff2"),
        url("fonts/Public_Sans_700.woff") format("woff");
}
@font-face {
    font-family: "Public Sans";
    font-style: italic;
    font-weight: 700;
    src:
        url("fonts/Public_Sans_700italic.woff2") format("woff2"),
        url("fonts/Public_Sans_700italic.woff") format("woff");
}

h2 {
    color: #2080f0;
}
hr {
    flex-grow: 1;
    margin-top: 4.5ex;
    margin-left: 1em;
    height: 2px;
    border: 0;
    color: #2080f0;
    background-color: #2080f0;
}
table {
    width: 100%;
    border-collapse: collapse;
}
th.title,
th.jobtitle {
    width: 35%;
    text-align: left;
}
th.jobtitle {
    font-size: 1.2em;
}
.place {
    width: 45%;
    text-align: left;
}
th.date {
    width: 20%;
    text-align: right;
}
td.text {
    width: 65%;
    text-align: left;
    line-height: 1.5;
    vertical-align: baseline;
}
th,
td.place {
    padding-top: 1ex;
    vertical-align: baseline;
}
li {
    margin-bottom: 1ex;
}
ul {
    padding-left: 1em;
}
li ul {
    margin-top: 1ex;
}
.main {
    min-width: 40em;
    max-width: 60em;
    margin: 0 auto;
    font-family:
        Public Sans,
        sans-serif;
    hyphens: auto;
    text-wrap: pretty;
}
.language {
    text-align: right;
    line-height: 1.5;
}
.language a,
.language a:visited,
.language a:hover,
.language a:active,
.language a:focus {
    text-decoration: none;
    color: #2080f0;
}
.contact {
    text-align: right;
    position: absolute;
    right: 0;
    line-height: 1.5;
    top: 1ex;
}
.contact a,
.contact a:visited,
.contact a:hover,
.contact a:active,
.contact a:focus {
    text-decoration: none;
    color: black;
}
.impressum {
    text-align: center;
    font-weight: 300;
    color: #808080;
    margin-top: 12ex;
}
@media print {
    .impressum,
    .language {
        display: none;
    }
}
