body{
  --ff-page-max-width:1400px;
  --ff-section-gap:24px;
  --ff-card-padding:24px;
  --ff-card-radius:18px;
  --ff-card-accent-color:#c40000;
  --ff-heading-1-size:clamp(2rem,
3.8vw,
3rem);
  --ff-heading-2-size:clamp(1.1rem,
1.8vw,
1.35rem);
  --ff-heading-3-size:1.35rem;
  --ff-btn-gap:16px;
  --ff-btn-bottom-gap:24px;
  --ff-emergency-grid-columns:3;
  --ff-emergency-info-columns:2fr 1fr;
  --ff-commander-gap:32px;
  --ff-commander-image-width:180px
}
body.page-feuerwehr-oberteuringen{
  --ff-card-padding:24px;
  --ff-section-gap:24px
}
body.page-geschichte{
  --ff-heading-1-size:clamp(2rem,
4vw,
3.1rem);
  --ff-image-medium:260px;
  --ff-image-large:320px
}
body.page-chronik-der-kommandanten{
  --ff-commander-gap:32px;
  --ff-commander-image-width:180px;
  --ff-card-padding:28px
}
body.page-einsatzabteilung{
  --ff-card-padding:24px
}
body.page-jugendfeuerwehr{
  --ff-card-padding:24px
}
body.page-nikolausbesuche{
  --ff-card-padding:24px
}
body.page-altersabteilung{
  --ff-card-padding:24px
}
body.page-zusammenarbeit{
  --ff-card-padding:24px
}
body.page-mitmachen{
  --ff-heading-1-size:clamp(1.9rem,
3.4vw,
2.8rem);
  --ff-btn-padding-y:14px;
  --ff-btn-padding-x:20px
}
body.page-112-notfallnummern{
  --ff-btn-gap:16px;
  --ff-btn-bottom-gap:24px;
  --ff-emergency-grid-columns:3;
  --ff-emergency-info-columns:2fr 1fr
}
body.page-112-notfallnummern .entry-header,
body.page-112-notfallnummern .page-header,
body.page-112-notfallnummern .entry-content,
body.page-112-notfallnummern .ff-notfallseite-theme,
body.page-112-notfallnummern .ff-notfallseite-theme>.wp-block-group,
body.page-112-notfallnummern .ff-notfall-intro{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:clip;
  box-sizing:border-box
}
body.page-112-notfallnummern .entry-title,
body.page-112-notfallnummern .wp-block-post-title,
body.page-112-notfallnummern .ff-notfall-intro h1,
body.page-112-notfallnummern .ff-notfall-intro .wp-block-heading,
body.page-112-notfallnummern .ff-notfall-title,
body .ff-notfall-intro h1,
body .ff-notfall-intro .wp-block-heading,
body .ff-notfall-title{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  margin-right:0;
  font-size:min(var(--ff-desktop-emergency-title-size,40px),8vw,36px);
  line-height:1.04;
  letter-spacing:-.015em;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  max-inline-size:100%
}
@media (max-width:700px){
  body.page-112-notfallnummern .entry-title,
body.page-112-notfallnummern .wp-block-post-title,
body.page-112-notfallnummern h1,
body.page-112-notfallnummern .ff-notfallseite-theme .wp-block-heading,
body.page-112-notfallnummern .ff-notfallseite-theme h1,
.ff-notfallseite-theme .wp-block-heading,
.ff-notfallseite-theme h1,
.ff-notfall-intro h1{
  font-size:min(var(--ff-mobile-emergency-title-size,20px),7.5vw,26px);
  line-height:1.03;
  letter-spacing:-.012em
}
}
@media (max-width:520px){
  body.page-112-notfallnummern .entry-title,
body.page-112-notfallnummern .wp-block-post-title,
body.page-112-notfallnummern h1,
body.page-112-notfallnummern .ff-notfallseite-theme .wp-block-heading,
body.page-112-notfallnummern .ff-notfallseite-theme h1,
.ff-notfallseite-theme .wp-block-heading,
.ff-notfallseite-theme h1,
.ff-notfall-intro h1{
  font-size:min(var(--ff-mobile-emergency-title-size-520,17px),6.8vw,22px);
  line-height:1.03
}
}
@media (max-width:480px){
  body.page-112-notfallnummern .entry-title,
body.page-112-notfallnummern .wp-block-post-title,
body.page-112-notfallnummern h1,
body.page-112-notfallnummern .ff-notfallseite-theme .wp-block-heading,
body.page-112-notfallnummern .ff-notfallseite-theme h1,
.ff-notfallseite-theme .wp-block-heading,
.ff-notfallseite-theme h1,
.ff-notfall-intro h1{
  font-size:min(var(--ff-mobile-emergency-title-size-390,14px),6.2vw,19px);
  line-height:1.03
}
}
@media (max-width:390px){
  body.page-112-notfallnummern .entry-title,
body.page-112-notfallnummern .wp-block-post-title,
body.page-112-notfallnummern h1,
body.page-112-notfallnummern .ff-notfallseite-theme .wp-block-heading,
body.page-112-notfallnummern .ff-notfallseite-theme h1{
  font-size:min(var(--ff-mobile-emergency-title-size-390,14px),6.2vw,19px);
  line-height:1.03;
  letter-spacing:-.01em
}
}
body.page-news{
  --ff-card-padding:24px
}
body.page-einsaetze{
  --ff-card-padding:24px
}
body.page-kalender{
  --ff-page-max-width:100%;
  --fw-calendar-outer-padding:0px;
  --fw-calendar-inner-padding:12px;
  --fw-calendar-card-radius:16px;
  --fw-calendar-card-shadow:none;
  --fw-calendar-card-border:none;
  --fw-calendar-header-gap:10px;
  --fw-calendar-header-padding:8px 0;
  --fw-calendar-weekday-bg:#eef2f6;
  --fw-calendar-weekday-color:#1e2a38;
  --fw-calendar-cell-height:90px;
  --fw-calendar-cell-padding:6px;
  --fw-calendar-grid-gap:4px;
  --fw-calendar-event-font-size:12px;
  --fw-calendar-event-radius:10px;
  --fw-calendar-event-padding:4px 6px;
  --fw-calendar-primary:#2f6fb3;
  --fw-calendar-accent:#e30613;
  --fw-calendar-mobile-padding:8px;
  --fw-calendar-mobile-font-size:13px
}
body.page-geraetehaus{
  --ff-image-xl-max-height:560px
}
body.page-schutzausruestung{
  --ff-card-padding:24px
}
body.page-drohneneinheit{
  --ff-page-max-width:1200px
}
body.page-kontakt{
  --ff-page-narrow-width:900px
}
body.page-reserve1{
}
body.page-reserve2{
}
body.page-reserve3{
}
body.page-reserve4{
}
.ff-query-section{
  margin-top:1rem
}
.ff-query-loop{
  display:block
}
.ff-query-item{
  gap:1rem;
  padding:0 0 1rem;
  margin:0 0 1rem;
  border-bottom:1px solid rgba(0,
0,
0,
.08)
}
.ff-query-item .wp-block-post-title{
  margin:.1rem 0 .35rem;
  font-size:var(--ff-posts-title-size,
44px) !important;
  line-height:1.16
}
.ff-query-item .wp-block-post-title a{
  color:var(--ff-accent,
var(--ff-primary,
#c40000));
  text-decoration:none
}
.ff-query-item .wp-block-post-title a:hover{
  text-decoration:underline
}
.ff-query-item .wp-block-post-date{
  font-weight:600;
  color:#5d6470;
  margin:0 0 .5rem;
  font-size:var(--ff-posts-meta-size,
16px) !important
}
.ff-query-item .wp-block-post-excerpt,
.ff-query-item .wp-block-post-excerpt p,
.ff-query-item .wp-block-post-excerpt__excerpt,
.ff-query-item .wp-block-post-excerpt__more-text{
  margin:0;
  color:#23262d;
  font-size:var(--ff-posts-text-size,
18px) !important;
  line-height:1.65
}
.ff-query-item .wp-block-post-excerpt__more-link{
  color:var(--ff-accent,
var(--ff-primary,
#c40000));
  font-weight:700;
  text-decoration:none
}
.ff-query-item .wp-block-post-excerpt__more-link:hover{
  text-decoration:underline
}
.ff-query-item .wp-block-post-featured-image img{
  border-radius:12px;
  display:block
}
.ffo-entry-hero{
  position:relative;
  overflow:hidden;
  display:block;
  background:#111;
  color:#fff;
  margin-bottom:32px
}
.ffo-entry-hero__media{
  position:relative;
  z-index:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 16px
}
.ffo-entry-hero__media img{
  display:block;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:var(--ff-single-hero-height,
420px);
  object-fit:contain;
  object-position:center center;
  margin:0 auto;
  background:#111
}
.ffo-entry-hero__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,
rgba(0,
0,
0,
.18),
rgba(0,
0,
0,
.7));
  z-index:1
}
.ffo-entry-hero__content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding-top:32px;
  padding-bottom:32px
}
.ffo-entry-hero__box{
  max-width:780px
}
.ffo-entry-hero__kicker{
  display:inline-block;
  margin-bottom:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.8rem
}
.ffo-entry-hero__box h1,
.single-post .entry-box h1,
.single .entry-box h1,
.single-post .entry-hero__title,
.single .entry-hero__title{
  color:#fff;
  margin:0 0 12px;
  font-size:var(--ff-single-title-size,
54px);
  line-height:1.08
}
.ffo-entry-hero__box p{
  margin:0;
  max-width:62ch;
  font-size:var(--ff-single-text-size,
20px)
}
.entry-box .entry-meta{
  font-size:var(--ff-single-meta-size,
16px)
}
.entry-box .entry-content{
  font-size:var(--ff-single-text-size,
20px);
  line-height:1.7
}
.entry-box .entry-content>*:first-child{
  margin-top:0
}
.entry-box .entry-content>*:last-child{
  margin-bottom:0
}
.ffo-archive-card__meta,
.ffo-archive-card__author{
  color:rgba(17,
17,
17,
.72);
  font-weight:600;
  margin:0 0 8px;
  font-size:var(--ff-posts-meta-size,
16px)
}
.ffo-archive-card__title{
  margin:0 0 10px;
  font-size:var(--ff-posts-title-size,
44px);
  line-height:1.16
}
.ffo-archive-card__title a{
  text-decoration:none;
  color:var(--ff-accent,
var(--ff-primary,
#c40000))
}
.ffo-archive-card__title a:hover{
  text-decoration:underline
}
.ffo-archive-card__text,
.ffo-archive-card__text p{
  font-size:var(--ff-posts-text-size,
18px);
  line-height:1.65
}
.ffo-archive-card__actions{
  margin:16px 0 0
}
.ffo-archive-card__thumb img{
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:18px
}
.ff-query-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  flex-wrap:wrap;
  margin-top:1.25rem
}
.ff-query-pagination>*{
  margin:0
}
.ff-query-pagination a,
.ff-query-pagination .page-numbers,
.ff-query-pagination-numbers .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:44px;
  padding:var(--ff-button-padding-y,
14px) var(--ff-button-padding-x,
20px);
  border-radius:var(--ff-button-radius,
12px);
  border:1px solid var(--ff-button-light-border,
#e2e6ec);
  background:var(--ff-button-light-bg,
#fff);
  color:var(--ff-button-light-text,
#222);
  font-weight:700;
  text-decoration:none;
  box-shadow:0 1px 2px rgba(0,
0,
0,
.03);
  transition:.18s ease;
  font-size:var(--ff-button-font-size,
16px)
}
.ff-query-pagination a:hover,
.ff-query-pagination .page-numbers:hover{
  border-color:#cfd6de;
  background:#f8fafc;
  color:#111
}
.ff-query-pagination .current,
.ff-query-pagination .page-numbers.current{
  background:var(--ff-button-bg,
var(--ff-primary,
#c40000));
  border-color:var(--ff-button-border,
var(--ff-primary,
#c40000));
  color:var(--ff-button-text,
#fff)
}
.ff-query-pagination .dots{
  border:none;
  background:transparent;
  min-width:auto;
  padding:0 4px;
  box-shadow:none
}
.content-layout.sidebar-left{
  grid-template-columns:320px minmax(0,
1fr)
}
.content-layout.sidebar-left .content-sidebar{
  order:-1
}
.content-layout.no-sidebar{
  grid-template-columns:minmax(0,
1fr)!important
}
.content-sidebar .widget ul{
  list-style:none;
  margin:0;
  padding:0
}
.content-sidebar .widget li{
  margin:0;
  padding:0
}
.content-sidebar .widget li + li{
  border-top:1px solid rgba(0,
0,
0,
.08);
  margin-top:14px;
  padding-top:14px
}
.content-sidebar .widget a{
  display:block;
  color:var(--ff-text,
#111);
  font-weight:500;
  line-height:1.55
}
.content-sidebar .widget a:hover{
  color:var(--ff-accent,
var(--ff-primary,
#c40000))
}
.ffo-separated-list li + li{
  border-top:1px solid rgba(0,
0,
0,
.08);
  margin-top:14px;
  padding-top:14px
}
.ff-lightbox{
  position:fixed;
  inset:0;
  background:rgba(5,
10,
20,
.84);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,
visibility .22s ease;
  z-index:9999
}
.ff-lightbox.ff-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto
}
.ff-lightbox img{
  max-width:min(92vw,
1400px);
  max-height:90vh;
  border-radius:18px;
  box-shadow:0 22px 60px rgba(0,
0,
0,
.35)
}
.ff-lightbox-close{
  position:absolute;
  top:16px;
  right:16px;
  width:48px;
  height:48px;
  border-radius:999px;
  border:0;
  background:#fff;
  color:#111;
  font-size:32px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,
0,
0,
.2)
}
.ffo-pull-refresh{
  position:fixed;
  left:50%;
  top:0;
  transform:translate(-50%,
calc(-100% + var(--ffo-ptr-offset,
0px)));
  z-index:10000;
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.7rem 1rem;
  border-radius:0 0 16px 16px;
  background:rgba(0,
0,
0,
.82);
  color:#fff;
  font-size:.9rem;
  line-height:1.2;
  box-shadow:0 8px 24px rgba(0,
0,
0,
.2);
  opacity:0;
  pointer-events:none
}
@media (max-width:860px){
  .ff-query-item{
  gap:.75rem
}
.ff-query-item .wp-block-columns{
  display:flex;
  flex-wrap:nowrap
}
.ff-query-item .wp-block-column:first-child{
  flex:0 0 75px !important
}
.ff-query-item .wp-block-post-title,
.ffo-archive-card__title{
  font-size:var(--ff-mobile-posts-title-size,
34px) !important
}
.single-post .entry-box h1,
.single .entry-box h1,
.single-post .entry-hero__title,
.single .entry-hero__title,
.ffo-entry-hero__box h1{
  font-size:var(--ff-mobile-single-title-size,
38px) !important
}
.content-layout.sidebar-left{
  grid-template-columns:minmax(0,
1fr)
}
.content-layout.sidebar-left .content-sidebar{
  order:0
}
.ffo-entry-hero{
  margin-bottom:24px
}
.ffo-entry-hero__media img{
  max-height:var(--ff-single-hero-height-mobile,
320px)
}
.ffo-entry-hero__content{
  padding-top:24px;
  padding-bottom:24px
}
}


/* 2.24.1 mobile title and overflow fix */
.ff-notfallseite-theme .ff-notfall-intro h1,
.ff-notfallseite-theme .ff-notfall-intro .wp-block-heading,
.ff-notfallseite-theme .entry-title,
body.page-112-notfallnummern .entry-title,
body.page-112-notfallnummern h1,
.ff-notfall-intro h1{
  max-width:100% !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

@media (max-width: 768px){
  .ff-notfallseite-theme .ff-notfall-intro h1,
  .ff-notfallseite-theme .ff-notfall-intro .wp-block-heading,
  .ff-notfallseite-theme .entry-title,
  body.page-112-notfallnummern .entry-title,
  body.page-112-notfallnummern h1,
  .ff-notfall-intro h1{
    font-size: clamp(28px, 8.4vw, 40px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em;
  }
}

@media (max-width: 520px){
  .ff-notfallseite-theme .ff-notfall-intro h1,
  .ff-notfallseite-theme .ff-notfall-intro .wp-block-heading,
  .ff-notfallseite-theme .entry-title,
  body.page-112-notfallnummern .entry-title,
  body.page-112-notfallnummern h1,
  .ff-notfall-intro h1{
    font-size: clamp(24px, 8.2vw, 32px) !important;
    line-height: 1.1 !important;
  }
}

/* 2.24.2 performance/mobile title tuning */
@media (max-width: 768px){
  .entry-title,
  .wp-block-post-title,
  .ffo-entry-hero__box h1,
  .single-post .entry-box h1,
  .single .entry-box h1{
    font-size: clamp(28px, 7.2vw, 38px) !important;
    line-height: 1.14 !important;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
}

@media (max-width: 480px){
  .entry-title,
  .wp-block-post-title,
  .ffo-entry-hero__box h1,
  .single-post .entry-box h1,
  .single .entry-box h1{
    font-size: clamp(24px, 8vw, 32px) !important;
  }
}
