.elementor-kit-8{--e-global-color-primary:#0F0F0F;--e-global-color-secondary:#EFEDE5;--e-global-color-text:#3A3632;--e-global-color-accent:#B01010;--e-global-color-cbwhite:#FFFFFF;--e-global-color-cbtaupe:#8A7D72;--e-global-color-cbredh:#8C0B0B;--e-global-color-cbrose:#F6E6E2;--e-global-typography-primary-font-family:"Arapey";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:0.2em;color:#3A3632;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:300;line-height:1.7em;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:#0F0F0F;}.elementor-kit-8 a:hover{color:#B01010;}.elementor-kit-8 h1{font-family:"Arapey", Sans-serif;font-weight:400;}.elementor-kit-8 h2{font-family:"Arapey", Sans-serif;font-weight:400;}.elementor-kit-8 h3{font-family:"Arapey", Sans-serif;font-weight:400;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */html { scroll-behavior: smooth; }
.elementor-heading-title em { color: #B01010; font-style: italic; }
.cb-dark .elementor-heading-title em { color: #FFFFFF; }
.cb-nav .elementor-item {
  background-image: linear-gradient(#B01010,#B01010);
  background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%;
  transition: background-size .4s ease, color .3s;
}
.cb-nav .elementor-item:hover { background-size: 100% 1px; }
.cb-btn .elementor-button { transition: transform .35s ease, background-color .35s ease, box-shadow .35s ease; }
.cb-btn .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(176,16,16,.22); }
.cb-in { animation: cbUp 1s cubic-bezier(.2,.7,.2,1) both; }
.cb-in-1 { animation-delay: .1s; } .cb-in-2 { animation-delay: .3s; }
.cb-in-3 { animation-delay: .5s; } .cb-in-4 { animation-delay: .7s; }
.cb-hero { overflow: hidden; border-radius: 4px; }
.cb-hero img { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; object-position: center 35%;
  animation: cbZoom 2.4s cubic-bezier(.2,.7,.2,1) both; }
.cb-marquee { overflow: hidden; background: #B01010; color: #FFFFFF; }
.cb-marquee-track { display: flex; width: max-content; animation: cbMarquee 28s linear infinite; }
.cb-marquee-track span { font-family: Arapey, Georgia, serif; font-style: italic; font-size: 2rem;
  padding: 18px 0; white-space: nowrap; }
@supports (animation-timeline: view()) {
  .cb-reveal { animation: cbReveal linear both; animation-timeline: view(); animation-range: entry 0% entry 55%; }
  .cb-reveal-img { animation: cbImg linear both; animation-timeline: view(); animation-range: entry 0% entry 70%; }
  .cb-par img { animation: cbPar linear both; animation-timeline: view(); animation-range: cover; }
}
.cb-reel video { width: 100%; aspect-ratio: 9 / 16; object-fit: cover; border-radius: 4px; display: block; }
.cb-img img { width: 100%; object-fit: cover; display: block; }
.cb-r45 img { aspect-ratio: 4 / 5; } .cb-r34 img { aspect-ratio: 3 / 4; } .cb-r916 img { aspect-ratio: 9 / 16; }
.cb-arch img { border-radius: 210px 210px 4px 4px !important; }
.cb-totop { position: fixed; right: 24px; bottom: 24px; z-index: 999; width: 52px; height: 52px;
  border-radius: 999px; background: #B01010; color: #FFFFFF; display: flex; align-items: center;
  justify-content: center; box-shadow: 0 10px 24px rgba(176,16,16,.28);
  transition: transform .35s ease, background .35s ease; }
.cb-totop:hover { background: #8C0B0B; color: #FFFFFF; transform: translateY(-3px); }
@supports (animation-timeline: scroll()) {
  .cb-totop { animation: cbShow linear both; animation-timeline: scroll(root); animation-range: 0 600px; }
}
@keyframes cbUp { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes cbZoom { from { transform: scale(1.12); opacity: .4; } to { transform: scale(1); opacity: 1; } }
@keyframes cbMarquee { to { transform: translateX(-50%); } }
@keyframes cbReveal { from { opacity: 0; transform: translateY(48px); } to { opacity: 1; transform: none; } }
@keyframes cbImg { from { opacity: .3; transform: scale(.94); } to { opacity: 1; transform: none; } }
@keyframes cbPar { from { transform: translateY(40px); } to { transform: translateY(-40px); } }
@keyframes cbShow { 0% { opacity: 0; transform: translateY(16px); pointer-events: none; }
  100% { opacity: 1; transform: none; pointer-events: auto; } }
@media (max-width: 767px) {
  .cb-hero img { aspect-ratio: 4 / 5; }
  .cb-marquee-track span { font-size: 1.4rem; padding: 14px 0; }
  .cb-par img { animation: none !important; }
  .cb-totop { right: 16px; bottom: 16px; width: 48px; height: 48px; }
  .cb-reels { flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; }
  .cb-reels > .e-con, .cb-reels > .elementor-element { flex: 0 0 68% !important; scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* ---------- Responsive Feinschliff (02.11.) ---------- */
.cb-hero img { object-position: 50% 14%; }
.cb-header > .e-con-inner { flex-wrap: nowrap !important; }
.cb-header > .e-con-inner > .e-con { width: auto !important; flex: 0 0 auto !important; flex-wrap: nowrap !important; }
.cb-header .cb-nav { width: auto !important; }
@media (max-width: 767px) {
  .cb-hero img { object-position: 62% 30%; }
  .cb-chapters { flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory;
    gap: 16px !important; padding-bottom: 8px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .cb-chapters::-webkit-scrollbar { display: none; }
  .cb-chapters > .e-con { flex: 0 0 78% !important; width: 78% !important; max-width: 78% !important; scroll-snap-align: start; }
  .cb-reels::-webkit-scrollbar { display: none; }
  .cb-reels { scrollbar-width: none; }
  .elementor-element-ca428a3 > .e-con-inner > .e-con:last-child { order: -1; }
  .elementor-element-ca428a3 > .e-con-inner > .e-con:first-child { align-items: center; }
  .elementor-element-ca428a3 > .e-con-inner > .e-con:first-child img { max-width: 72%; margin: 0 auto; display: block; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .cb-chapters > .e-con { flex: 0 0 calc(50% - 12px) !important; width: calc(50% - 12px) !important; max-width: calc(50% - 12px) !important; }
}

/* Zweispaltige Bereiche auf iPad und Desktop nebeneinander halten */
@media (min-width: 768px) {
  .elementor-element-ca428a3 > .e-con-inner, .elementor-element-74350ea, .elementor-element-74350ea > .e-con-inner,
  .elementor-element-8cf733b, .elementor-element-8cf733b > .e-con-inner, .elementor-element-0b9aea1 > .e-con-inner,
  .elementor-element-8688da8 > .e-con-inner { flex-wrap: nowrap !important; }
  .elementor-element-ca428a3 > .e-con-inner > .e-con, .elementor-element-74350ea .e-con, .elementor-element-8cf733b > .e-con,
  .elementor-element-0b9aea1 > .e-con-inner > .e-con, .elementor-element-8688da8 > .e-con-inner > .e-con { flex-shrink: 1 !important; min-width: 0; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element-ca428a3 > .e-con-inner, .elementor-element-0b9aea1 > .e-con-inner, .elementor-element-8688da8 > .e-con-inner { align-items: center; gap: 40px !important; }
}

/* Nach oben Button auch auf rotem Grund sichtbar */
.cb-totop { border: 2px solid #FFFFFF; }/* End custom CSS */