:root {
    --verticalDefaultSpacing: 22px;
}

body {
    font-size: 10pt;
}

@page {
    size: A4;
    margin: 60pt 40pt 60pt;
}

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

h1, h2, h3, h4, h5 {
    page-break-after: avoid;
}

.hiddenPrint {
    display: none !important;
}

.printOnly {
    display: block;
    margin-bottom: var(--verticalDefaultSpacing);
}

a, a:visited {
    text-decoration: none;
}

li {
    margin-bottom: 2px;
}

h1 {
    font-size: 24px;
    line-height: 28px;
}

h2, h2 b, h3, h3 b {
    font-size: 18px;
    line-height: 23px;
    margin: 0 0 16px 0;
}

ul {
    list-style: disc;
    margin-left: 15px;
}

li {
    padding: 0;
}

li::before {
    display: none;
}

#logo img {
    height: 120px;
}

#introduction {
    gap: 32px;
}

.jobMeta, .mainInformationTexts {
    flex-basis: initial;
}

.jobMetaItem {
    display: flex;
    flex-direction: row;
    padding: 0;
    border-top: 0;
    gap: 12px;
}

.jobMetaItem strong {
    flex-shrink: 0;
}

.jobMetaItem br {
    display: none;
}

.jobMetaItem:last-child {
    border-bottom: 0;
}

.printOnly ul {
    margin-top: 0;
}

#contact {
    background-color: transparent;
    padding: 0;
}

#contact h2 {
    margin-bottom: 16px;
}

.contactInner {
    flex-direction: column;
    gap: 16px;
}

.contacts, .contactCta, .aboutInformationTexts {
    flex-basis: initial;
}

.contacts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.contacts h3, .contacts h3 b {
    font-size: 10pt;
}

footer {
    font-size: 10pt;
    background-color: transparent;
    padding-top: 0;
    padding-bottom: 0;
    color: var(--textcolor);
    margin-top: 80px;
}