/* Public news views for Thoma Bau. Uses the site's existing Bootstrap grid and theme colours. */
.news-listing,
.news-detail { padding-top: 80px; padding-bottom: 80px; }
.news-listing .row,
.news-detail .row { margin-bottom: 30px; }
.news-detail > .container {
  width: auto;
  max-width: 1000px;
}
.news-detail .news-article {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.news-card { margin-bottom: 30px; background: #fff; border: 1px solid #eee; }
.news-card-image { display: block; overflow: hidden; background: #f4f4f4; }
.news-card-image img { width: 100%; height: 230px; object-fit: cover; transition: transform .35s ease; }
.news-card:hover .news-card-image img { transform: scale(1.04); }
.news-card-body { padding: 26px 28px 30px; }
.news-date { display: block; margin-bottom: 10px; color: #9a1311; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.news-card h2 { margin: 0 0 15px; font-size: 25px; line-height: 1.25; }
.news-card h2 a { color: #333131; }
.news-card h2 a:hover { color: #9a1311; }
.news-card p { margin-bottom: 22px; }
.news-back { display: inline-block; margin-bottom: 28px; color: #9a1311; font-weight: 700; text-transform: uppercase; }
.news-hero { width: 100%; height: auto; margin: 8px 0 35px; }
.news-lead { color: #555; font-size: 20px; line-height: 1.6; margin-bottom: 28px; }
.news-content { color: #555; font-size: 16px; line-height: 1.8; }
.news-content h2,
.news-content h3 { color: #333131; margin-top: 34px; }
.news-content ul,
.news-content ol { margin: 0 0 24px; padding-left: 24px; }
.news-content li { margin-bottom: 7px; }
.news-content strong { color: #333131; }
.news-content a { color: #9a1311; text-decoration: underline; }
.news-downloads { border-top: 1px solid #e7e7e7; margin-top: 45px; padding-top: 30px; }
.news-download { border-bottom: 1px solid #e7e7e7; padding: 18px 0; }
.news-download a { color: #333131; font-weight: 700; }
.news-download a:hover { color: #9a1311; }
.news-download p { margin: 8px 0 0; }
.news-download-meta { color: #888; font-size: 12px; margin-top: 7px; text-transform: uppercase; }
.news-empty { margin: 0; text-align: center; }
.home-news { padding: 0 0 80px; }
.home-news h2 { margin-bottom: 35px; }
.home-news-card { display: block; height: 100%; margin-bottom: 30px; color: #555; background: #fff; border: 1px solid #eee; transition: border-color .25s ease, box-shadow .25s ease; }
.home-news-card:hover,
.home-news-card:focus { color: #555; border-color: #9a1311; box-shadow: 0 8px 24px rgba(0, 0, 0, .08); text-decoration: none; }
.home-news-card > img { display: block; width: 100%; height: 220px; object-fit: cover; }
.home-news-card-body { padding: 24px 26px 27px; }
.home-news-date { display: block; margin-bottom: 9px; color: #9a1311; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.home-news-card h3 { margin: 0 0 14px; color: #333131; font-size: 22px; line-height: 1.3; }
.home-news-card p { margin-bottom: 20px; }
.home-news-read-more { color: #9a1311; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.home-news-all { margin-top: 8px; }
.career-jobs { padding-top: 0; }
.career-jobs h2 { margin-bottom: 35px; }
.career-job-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.career-job-grid > .col-md-4 { float: none; width: auto; padding: 0; }
.career-job-card { display: flex; flex-direction: column; height: 100%; margin-bottom: 30px; color: #555; background: #fff; border: 1px solid #eee; transition: border-color .25s ease, box-shadow .25s ease; }
.career-job-card:hover,
.career-job-card:focus { color: #555; border-color: #9a1311; box-shadow: 0 8px 24px rgba(0, 0, 0, .08); text-decoration: none; }
.career-job-card > img { display: block; width: 100%; height: 220px; object-fit: cover; }
.career-job-card-body { display: flex; flex: 1; flex-direction: column; padding: 24px 26px 27px; }
.career-job-card h3 { margin: 0 0 12px; color: #333131; font-size: 22px; line-height: 1.3; }
.career-job-meta { color: #9a1311; font-size: 13px; font-weight: 700; text-transform: uppercase; }
.career-job-more { display: block; margin-top: auto; padding-top: 20px; color: #9a1311; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.career-jobs .career-job-card { margin-bottom: 0; }
.career-detail { padding-top: 80px; padding-bottom: 80px; }
.career-detail > .container { width: auto; max-width: 1000px; }
.career-detail-content { width: 100%; margin-right: auto; margin-left: auto; }
.career-detail-header { width: auto; margin-bottom: 42px; padding: 0; background: transparent; display: block; line-height: normal; }
.career-kicker { display: block; margin-bottom: 10px; color: #9a1311; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.career-detail-header h1 { margin: 0 0 14px; }
.career-detail-meta { margin-bottom: 9px; color: #555; font-size: 17px; font-weight: 500; line-height: 1.5; }
.career-posted { color: #888; font-size: 12px; text-transform: uppercase; }
.career-detail-grid { display: flex; flex-wrap: wrap; margin-right: 0; margin-bottom: 0; margin-left: 0; }
.career-detail-main { padding-bottom: 20px; padding-left: 0; }
.career-job-content > p { margin-bottom: 22px; }
.career-job-content > p:last-child { margin-bottom: 0; }
.career-job-content > h2,
.career-job-content > h3 { margin-top: 34px; margin-bottom: 16px; }
.career-job-content > ul,
.career-job-content > ol { margin-bottom: 24px; }
.career-job-teaser > :last-child { margin-bottom: 0; }
.career-detail-sidebar { padding-top: 0; padding-right: 0; }
.career-detail-sidebar .career-facts,
.career-detail-sidebar .career-apply { margin-top: 0; margin-bottom: 30px; padding: 28px; background: #f7f6f5; border-top: 3px solid #9a1311; }
.career-detail-sidebar .career-apply { background: #333131; color: #fff; }
.career-detail-sidebar .career-apply h2,
.career-detail-sidebar .career-apply a { color: #fff; }
.career-detail-sidebar .career-apply .ot-btn-classic { color: #fff; border: 1px solid #fff; }
.career-detail-sidebar .career-apply .ot-btn-classic:hover { border-color: #9a1311; }
.career-facts,
.career-apply { border-top: 1px solid #e7e7e7; margin-top: 45px; padding-top: 30px; }
.career-facts > div { border-bottom: 1px solid #e7e7e7; padding: 16px 0; }
.career-facts h2,
.career-apply h2 { margin-top: 0; }
.career-facts h3 { margin: 0 0 7px; color: #333131; font-size: 18px; }
.career-facts p { margin-bottom: 0; }
.career-apply p { margin-bottom: 15px; }
.career-apply-email { font-size: 14px; line-height: 1.6; }
.career-qualifications { border-top: 1px solid #e7e7e7; margin-top: 45px; padding-top: 30px; }
.career-qualifications h2 { margin-top: 0; }
.career-qualification-text + .career-qualification-text { margin-top: 18px; }
.career-qualification-text > p { margin-bottom: 18px; }
.career-qualification-text > p:last-child { margin-bottom: 0; }
.career-qualification-text > h2,
.career-qualification-text > h3 { margin-top: 26px; margin-bottom: 14px; }
.career-qualification-text > ul,
.career-qualification-text > ol { margin-bottom: 18px; }
@media (max-width: 991px) {
  .career-job-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .career-detail-main { padding-right: 0; }
  .career-detail-sidebar { padding-top: 20px; padding-right: 0; padding-left: 0; }
}
@media (max-width: 767px) {
  .career-job-grid { grid-template-columns: minmax(0, 1fr); }
  .news-listing,
  .news-detail { padding-top: 45px; padding-bottom: 45px; }
  .news-card-image img { height: 200px; }
  .news-lead { font-size: 18px; }
  .home-news { padding-bottom: 45px; }
  .home-news-card > img { height: 200px; }
  .career-detail { padding-top: 45px; padding-bottom: 45px; }
  .career-detail-header { margin-bottom: 28px; }
  .career-detail-meta { font-size: 16px; }
  .career-detail-sidebar { padding-top: 20px; }
  .career-detail-sidebar .career-facts,
  .career-detail-sidebar .career-apply { padding: 22px; }
  .career-job-card > img { height: 200px; }
}
