

*, *::before, *::after {
    box-sizing: border-box;
}

body {
    font-size: 10pt;
    padding-top: 0 !important;
}

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

/* Remove page-break-after avoid — causes Safari to leave large blank gaps */
h1, h2, h3, h4, h5 {
    page-break-after: auto;
    page-break-inside: avoid;
}

/* Kill subtitle pseudo-element that has font-size:100px and can cause phantom height */
div.subtitle,
div.subtitle::after,
div.subtitle::before {
    display: none !important;
    content: none !important;
    height: 0 !important;
    line-height: 0 !important;
}

header,
nav,
.bottom,
.hero-section,
.cty-apply.button-big,
.job-info__details h3,
.job-info__utils,
div.subtitle,
.button__secondary,
#contact h2,
.phone svg,
.article.cta,
.about-us,
.similar-jobs,
.step .title::after,
.menu-trigger,
.pensum,
.article.awards,
.contact-image  {
    display: none!important;
}

.print-title {
    display: block !important;
    margin-bottom: 16px;
}

.logo-print {
    display: block !important;
    margin-bottom: 32px!important;
    margin-top: 0px!important;
}

main > section.boxed {
    height: auto !important;
}

/* hero-section is fully hidden in print; .print-title replaces it */

p, div {
    font-size: 11px;
    line-height: 18px;
}

h1,
span.location {
    color:#000;
    font-size: 20px;
    line-height: 32px;
}

h2 {
    font-size: 14px;
    line-height: 28px;
    margin-bottom: 6px;
}

.item {
    display: flex;
}

.item__label {
    width: 120px;
}

.item__label, .item__value, .utils {
    font-size: 11px;
    line-height: 27px;
}

.article,
header .top .article,
.hero__content {
    max-width: 100%;
    width: 100%;
    padding: 0px !important;
    box-sizing: border-box;
}

.contact-text span {
    display: none !important;
    position: static !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    top: auto !important;
}

.box {
    padding: 16px;
}

.grid-2-3,
.grid-2-eq-80 {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.job-info {
    order: 1;
}

.job-description {
    order: 2;
}

.article ul {
    gap: 2px;
}

.article ul li {
    padding-left:10px;
}

.article ul li::before {
    content: "• ";
    font-family: sans-serif;
    font-size: 14px;
    top: 2px;
    color:#000;
}

.bg {
    background-color: transparent !important;
}

.bg h2, .bg h3, .bg p, .bg b, .bg li, .bg span {
    color: #000 !important;
}

.bg div {
    font-size: 11px;
}

.bg div img {
    width: 20px;
    height: 20px;
    filter: invert(1) brightness(0);
}

.grid-3-eq-60 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto auto !important;
    gap: 24px;
}

#benefits {
    page-break-before: auto;
}

.benefits {
    margin: 0 0 12px 0 !important;
    gap: 8px !important;
}

.benefit {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
}

.benefit div {
    font-size: 11px !important;
    line-height: 16px !important;
}

.contact-cards,
.contact-cards.case-2 {
    display: grid;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto;
    gap: 10px;
}

/* Reset any row-spanning from posting.css */
.contact-cards .card,
.contact-cards.case-2 .card {
    grid-row: auto !important;
    grid-column: auto !important;
}

.contact-teaser {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
}

.contact-cards .card,
.contact-teaser,
.contact-cards.case-2 .card {
    background-color: transparent;
    border: solid 1px var(--color-bg)!important;
    padding: 16px!important;
    color: #000 !important;
}

.contact-text {
    padding: 0px !important;
}

.contact-cards h3 {
    font-size:14px;
    line-height: 28px;
}

.contact-text .person {
    margin-bottom: 0px;
}

#apply {
    margin-top: 24px;
}

.step {
    border: none;
}

.step .title {
    padding: 0!important;    
}

.step .title b,
.step .content p {
    font-size: 11px;
    line-height: 18px;
    color: #000;
}

.ui.accordion .accordion .title~.content, .ui.accordion .title~.content {
    display: block !important;
}

.bg .article {
    margin-top:24px;
    padding-top:0px;
    padding-bottom:0px;
}

#contact .article {
    padding-top:0px;
}

.step:last-of-type {
    border: none!important;
}

section {
    scroll-margin-top: 0 !important;
}

.animate-on-scroll,
.benefit.animate-on-scroll,
.benefit.animate-on-scroll.is-visible,
.article.animate-on-scroll,
.article.animate-on-scroll.is-visible,
.step.animate-on-scroll,
.step.animate-on-scroll.is-visible,
.job.animate-on-scroll,
.job.animate-on-scroll.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    will-change: auto !important;
}

 #job {
    margin-top: 24px;
 }

#benefits {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
 }

#benefits .article {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
 }

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