/* Public website only: the intranet keeps its existing layout. */
.public-site { min-height:100vh !important; }
.public-site img, .public-site video, .public-site iframe { max-width:100%; }
.public-site img { height:auto; }
.public-site h1, .public-site h2, .public-site h3 { overflow-wrap:anywhere; line-height:1.2; }
.public-site p, .public-site li, .public-site a { overflow-wrap:break-word; }
.public-site .hero { position:relative; overflow:hidden; }
.public-site .hompageNav .dropdown:focus-within > .dropdown-menu { display:block; }
.public-site .hompageNav .navbar-brand { width:180px; flex:0 0 auto; }
.public-site .hompageNav .navbar-brand img { width:100%; }
.public-site .hompageNav .navbar-toggler { width:48px; height:48px; margin:8px 0; border-radius:8px; background:#fff; border:1px solid #ae1122; }
.public-site .navbar-toggler-icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath stroke='%23ae1122' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
.public-site .hompageNav a:focus-visible, .public-site button:focus-visible { outline:3px solid #ae1122; outline-offset:3px; }
.public-site .contentWrapper table { max-width:100%; }
.public-site .blog-card { max-width:100%; }
@media (max-width:1199.98px) {
  .public-site .hompageNav, .public-site .is-sticky .hompageNav { padding:8px 20px; background:#fff !important; }
  .public-site .hompageNav .navbar-brand, .public-site .is-sticky .hompageNav .navbar-brand { width:160px !important; margin:0; filter:none; }
  .public-site .hompageNav .navbar-brand img, .public-site .is-sticky .hompageNav .navbar-brand img { width:100% !important; }
  .public-site .hompageNav .navbar-collapse { flex-basis:100%; max-height:calc(100dvh - 110px); overflow-y:auto; }
  .public-site .hompageNav .navbar-nav, .public-site #navbarNav .navbar-nav { background:#fff; padding:8px 0; }
  .public-site .hompageNav .nav-item { margin:0; border-bottom:1px solid #e8e8e8; }
  .public-site .hompageNav .nav-item a { display:block; color:#404348 !important; font-size:1rem; padding:12px 8px; white-space:normal; }
  .public-site .hompageNav .dropdown-menu { position:static; display:block; float:none; border:0; margin:0; padding:0 0 8px 16px; background:#f3f4f5 !important; box-shadow:none; }
  .public-site .hompageNav .dropdown-menu a { color:#404348 !important; }
  .public-site .hompageNav .dropdown-toggle::after { display:none; }
  .public-site #blognavbar { font-size:1rem; }
  .public-site #blognavbar .navbar-brand { width:150px !important; }
  .public-site #blognavbar .navbar-brand img { width:100%; }
  .public-site .footerList { padding:24px 16px; gap:24px; align-items:flex-start; }
  .public-site .footerList > li { flex:1 1 240px; min-width:0 !important; width:auto !important; min-height:0; padding:12px; background:none; }
  .public-site .footerList > li img { max-width:220px; }
}
@media (max-width:991.98px) {
  .public-site { padding-bottom:70px; }
  .public-site .contentWrapper { font-size:1.125rem; line-height:1.65; }
  .public-site .contentWrapper h1 { font-size:clamp(1.65rem,4vw,2.4rem); }
  .public-site .homePageTextBlock { width:100%; padding:24px 16px !important; }
  .public-site .offsetTrapetzLeft, .public-site .offsetTrapetzRight { display:none; }
  .public-site .hero { height:55svh !important; min-height:300px; max-height:600px; background-position:center; background-attachment:scroll; }
  .public-site .headerbild-text { inset:auto 6% 10%; margin:0 !important; width:88%; }
  .public-site .headerbild-text p:first-of-type { margin:0; font-size:clamp(1.6rem,4.5vw,2.7rem); line-height:1.2; }
  .public-site .headerbild-text p { margin:12px 0 0; }
  .public-site .hero > img { top:auto !important; bottom:12px; width:70px !important; }
  .public-site .whiteTilt { display:none; }
  .public-site .justImage, .public-site .paralaxImage { min-height:280px; background-attachment:scroll; }
  .public-site .paralaxText { position:relative; margin:0; min-width:0; padding:20px; background:#555; }
  .public-site .card-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:16px 0; }
  .public-site .card-group .card { margin:0; min-width:0; }
  .public-site .bd-highlight .btn { width:100%; clip-path:none; display:flex; align-items:flex-end; background:linear-gradient(transparent,#fff); }
  .public-site .bd-highlight .btn p { margin:0; font-size:1.15rem; }
  .public-site #sidebar, .public-site #sidebar:not(.active) { inset:auto 0 0; width:100%; border-radius:0; z-index:1030; padding:4px; box-shadow:0 -2px 12px #0002; }
  .public-site #sidebar .custom-menu { display:none; }
  .public-site #sidebar > .content > div { flex-direction:row !important; gap:4px; }
  .public-site #sidebar .content a { flex:1 1 0; min-width:0; justify-content:center; align-items:center; min-height:48px; padding:6px; font-size:0.85rem; }
  .public-site #sidebar .content a img, .public-site #sidebar .content a br { display:none; }
  .public-site #sidebar .content a p { margin:0; }
  .public-site #cookieBanner { width:auto; inset:auto 12px 80px; border-radius:12px; z-index:1040; font-size:0.9rem; }
  .public-site #cookieBanner .row { margin:0; padding:0 !important; align-items:center; }
  .public-site #cookieBanner .col-10 { width:calc(100% - 60px); }
  .public-site #cookieBanner .col-2 { width:60px; padding:0; }
  .public-site #cookieBanner p { margin-bottom:0; }
  .public-site .kontakt { width:50%; font-size:1rem; }
  .public-site .kontakt img { max-width:70px; }
  .public-site .kontakt .row { margin-bottom:12px !important; }
  .public-site .topCounter > .container-fluid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; padding:24px 16px; }
  .public-site #counterIcons, .public-site #counterCount, .public-site #counterText { display:contents; }
  .public-site #counterIcons > div, .public-site #counterCount > div, .public-site #counterText > div { width:100%; min-width:0; }
  .public-site #counterIcons img { max-height:65px; width:auto; }
  .public-site #counterCount p { font-size:clamp(1.2rem,4vw,2rem); margin:0; }
  .public-site #counterText p { font-size:0.8rem; margin-bottom:24px; }
  .public-site #counterDiagramm { display:none; }
  .public-site .blogArticle { width:50%; }
  .public-site .blogWrapper .col-4 { width:75%; }
}
@media (max-width:991.98px) { .public-site #counterIcons > div:nth-child(1) { grid-column:1; grid-row:1; } }
@media (max-width:991.98px) { .public-site #counterCount > div:nth-child(1) { grid-column:1; grid-row:2; } }
@media (max-width:991.98px) { .public-site #counterText > div:nth-child(1) { grid-column:1; grid-row:3; } }
@media (max-width:991.98px) { .public-site #counterIcons > div:nth-child(2) { grid-column:2; grid-row:1; } }
@media (max-width:991.98px) { .public-site #counterCount > div:nth-child(2) { grid-column:2; grid-row:2; } }
@media (max-width:991.98px) { .public-site #counterText > div:nth-child(2) { grid-column:2; grid-row:3; } }
@media (max-width:991.98px) { .public-site #counterIcons > div:nth-child(3) { grid-column:1; grid-row:4; } }
@media (max-width:991.98px) { .public-site #counterCount > div:nth-child(3) { grid-column:1; grid-row:5; } }
@media (max-width:991.98px) { .public-site #counterText > div:nth-child(3) { grid-column:1; grid-row:6; } }
@media (max-width:991.98px) { .public-site #counterIcons > div:nth-child(4) { grid-column:2; grid-row:4; } }
@media (max-width:991.98px) { .public-site #counterCount > div:nth-child(4) { grid-column:2; grid-row:5; } }
@media (max-width:991.98px) { .public-site #counterText > div:nth-child(4) { grid-column:2; grid-row:6; } }
@media (max-width:991.98px) { .public-site #counterIcons > div:nth-child(5) { grid-column:1; grid-row:7; } }
@media (max-width:991.98px) { .public-site #counterCount > div:nth-child(5) { grid-column:1; grid-row:8; } }
@media (max-width:991.98px) { .public-site #counterText > div:nth-child(5) { grid-column:1; grid-row:9; } }
@media (max-width:575.98px) {
  .public-site .card-group { grid-template-columns:1fr; }
  .public-site .bd-highlight { height:190px; }
  .public-site .footerList { display:block; }
  .public-site .footerList > li { margin-bottom:16px; padding:8px; }
  .public-site .blogArticle { width:100%; }
  .public-site .blogWrapper .row > [class*="col-"] { max-width:100%; }
  .public-site input, .public-site select, .public-site textarea { font-size:16px; }
  .public-site .container { padding-right:20px; padding-left:20px; }
  .public-site .stellenAngebot { line-height:1.5; }
}
@media (prefers-reduced-motion:reduce) {
  .public-site *, .public-site *::before, .public-site *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

.public-site .pagination { flex-wrap:wrap; gap:4px; }
@media(max-width:575.98px) {
  .public-site #blognavbar + div > .container > form > .row > .col-5 { width:100%; }
}

/* Keep full image proportions on small screens instead of cropping wide banners. */
.public-site .public-hero-image { display:none; }
.public-site .hompageNav { width:100% !important; max-width:100%; }
.public-site .blogArticle { min-width:0 !important; }
.public-site .blogArticle .card { width:100%; max-width:100%; min-width:0; }
.public-site .blogArticle .row { margin-left:0; margin-right:0; }
.public-site .contentWrapper img:not(.public-hero-image) { max-width:100%; height:auto; }
@media(max-width:991.98px) {
  .public-site .hero:has(> .public-hero-image),
  .public-site .justImage:has(> .public-hero-image),
  .public-site .paralaxImage:has(> .public-hero-image) {
    height:auto !important; min-height:0; max-height:none; background-image:none !important;
  }
  .public-site .hero > img.public-hero-image,
  .public-site .justImage > img.public-hero-image,
  .public-site .paralaxImage > img.public-hero-image {
    display:block; position:static !important; width:100% !important; height:auto; max-height:none;
  }
  .public-site .headerbild-text p:first-of-type { font-size:clamp(1.1rem,4.5vw,2rem); }
  .public-site .blog-card-img { height:auto; aspect-ratio:16/9; background-size:contain; background-repeat:no-repeat; background-color:#f3f4f5; }
}

@media(max-width:1199.98px) {
  .public-site .hompageNav { position:relative !important; top:auto !important; }
}

@media(max-width:1199.98px) {
  .public-site .sticky-wrapper:has(.hompageNav) { position:relative !important; height:auto !important; width:100%; }
}
