/* Shared layout adjustments, loaded after the component styles. */
.row > *, .customer-stories__grid > *, .header-inner-box > * { min-width: 0; }
.section-title h2, .section-heading h1, .service-content h5,
.service-hero h1, #impressum, .footer-area a, .footer-area button {
  overflow-wrap: anywhere;
}
.section-title h2, .service-hero h1 { hyphens: auto; }
#home-2.service-hero .hero-content-wrap { min-width: 0; width: 100%; }
.team-group-photo picture, .team-group-photo img { display: block; width: 100%; }
.team-group-photo img { height: auto; }
.banner-inner { width: 100%; }
.banner-inner h1 { font-size: clamp(40px, 10.5vw, 164px); line-height: 1.1; }

.service-list > .row { width: 100%; }
.service-list .servtext { padding: 40px clamp(24px, 5vw, 80px); }
.more-services > div.service-list .about-content-wrap,
.more-services > div.service-list:nth-of-type(even) .row .about-content-wrap {
  padding: 0;
}
.service-list .service-parallax-image { min-height: 0; height: clamp(320px, 40vw, 650px); }
.footer-area .company-email a { overflow-wrap: anywhere; }
.footer-area .logo img { max-width: 100%; height: auto; }
.footer-area .dsgvo-settings-link { text-align: left; }

#hamburger { border: 0; padding: 6px; background: transparent; min-width: 44px; min-height: 44px; }
#hamburger:focus-visible, .close-nav:focus-visible { outline: 2px solid #beab7b; outline-offset: 3px; }
.mobile-nav { width: min(360px, 100vw); height: 100dvh; overscroll-behavior: contain; }
.mobile-nav:not(.show) { visibility: hidden; }
.mobile-nav.show { visibility: visible; }
.mobile-nav .close-nav { min-width: 44px; min-height: 44px; }
.mobile-nav .sidebar-nav .metismenu a { min-height: 44px; overflow-wrap: anywhere; }
.mobile-nav .action-bar { padding-left: 15px; }
.mobile-nav .action-bar a { overflow-wrap: anywhere; }
body.mobile-menu-open { position: fixed; top: var(--menu-scroll-offset); left: 0; right: 0; width: 100%; overflow: hidden; }

.dsgvo-banner { max-height: calc(100dvh - 24px); }
.dsgvo-modal__panel { max-height: calc(100dvh - 36px); }
.dsgvo-banner h2, .dsgvo-modal h2 { overflow-wrap: anywhere; }
.video-lightbox { padding-top: max(16px, env(safe-area-inset-top)); padding-bottom: max(16px, env(safe-area-inset-bottom)); }
.video-lightbox__header h2 { overflow-wrap: anywhere; }
.video-lightbox__close { flex-shrink: 0; }

@media (max-width: 1199px) {
  .header-area .header-inner-box { justify-content: space-between; gap: 20px; }
  .header-inner-box .header-right { display: none; }
  .header-area .header-inner-box .logo { flex: 0 1 auto; }
  .header-inner-box .logo img { width: clamp(180px, 30vw, 250px); }
  .mobile-nav-bar { flex: 0 0 auto; }
  .more-services > div.service-list:nth-of-type(even) .row { flex-direction: row; text-align: left; }
  .service-list .service-parallax-image { height: clamp(280px, 50vw, 500px); margin-bottom: 0; }
  .service-list.about-section.section-padding { padding: 32px 0; }
  .service-list .servtext { padding: 32px clamp(24px, 5vw, 64px); }
  .service-list .about-content-wrap { max-width: 900px; margin-inline: auto; }
  .footer-up .row { row-gap: 32px; }
}

@media (min-width: 768px) and (max-width: 991px) {
  .footer-area { padding: 64px 0; }
}

@media (max-width: 767px) {
  .container, .container-custom { padding-left: 24px; padding-right: 24px; }
  .header-area .navigation { height: 80px; }
  .header-area .header-inner-box .logo { height: 70px; }
  .header-area .navbar-brand { margin-right: 0; }
  .header-inner-box .logo img { width: clamp(180px, 52vw, 230px); }
  .section-padding { padding-top: 60px; padding-bottom: 60px; }
  .section-title h2 { font-size: clamp(28px, 7.5vw, 40px); line-height: 1.15; }
  .section-heading h1 { font-size: clamp(28px, 7.5vw, 40px); line-height: 1.2; }
  .service-text-wrap.mt-60 { margin-top: 24px; }
  .more-services { padding: 16px 0; }
  .service-list.about-section.section-padding { padding: 16px 0; }
  .service-list .servtext { padding: 28px 24px 16px; }
  .service-list .service-parallax-image { height: clamp(240px, 70vw, 420px); }
  .service-list .service-icon span { font-size: 60px; }
  #home-1.hero-area { height: 100svh; min-height: 480px; }
  #home-1 .videologo { width: min(75vw, 400px); }
  .ueberuns #home-2.service-hero { background-position: 30% center; }
  .banner-section { height: 110px; }
  .banner-inner { bottom: -10%; }
  .footer-area { padding: 48px 0; }
  .footer-up { padding-left: 0; padding-right: 0; }
  .footer-area .logo { padding-right: 0; }
  .footer-area .dsgvo-settings-link { min-height: 44px; }
  .footer-bottom { padding: 20px 0; }
  .footer-bottom p { text-align: center; }
  .customer-stories__heading { gap: 20px; }
  .customer-story__brand { padding: 12px 16px; gap: 12px; }
  .customer-story__logo { width: min(180px, 100%); }
  .customer-story__watch { left: 14px; bottom: 12px; font-size: 14px; }
  .customer-story__duration { right: 14px; bottom: 12px; font-size: 12px; }
  .customer-story__play-icon { width: 56px; height: 56px; }
  .referenzen-liste { --bs-gutter-x: 16px; row-gap: 16px; }
  .kontakticons .single-service-item { padding: 28px 20px; height: auto; }
  .dsgvo-embed.gmaps { height: 350px; }
  .dsgvo-modal__panel { max-height: calc(100dvh - 16px); }
  .dsgvo-embed__placeholder { padding: 20px; }
  .progress-wrap { right: 14px; bottom: 18px; }
}

@media (max-height: 500px) and (orientation: landscape) {
  #home-1.hero-area { min-height: 360px; }
  #home-1 .videologo { width: min(45vw, 320px); }
  .video-lightbox { padding-top: 8px; padding-bottom: 8px; }
  .video-lightbox__stage { padding: 8px 0; }
  .video-lightbox__close { width: 44px; height: 44px; }
}

@media (hover: none), (pointer: coarse) {
  .mouseCursor { display: none !important; }
}
