/* Zentrale Gestaltung für die gemeinsame Fußbereich-Vorlage 2612. */
body .elementor.elementor-2612 .elementor-element.elementor-element-c3a0330, body .elementor.elementor-2612 .elementor-element.elementor-element-c3a0330 .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-c3a0330 p {text-align:left !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-b41b1b0 .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-b41b1b0 .elementor-heading-title * {font-family:'JuliusSansOne',sans-serif !important;font-weight:100 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-b41b1b0 .elementor-heading-title {font-size:35px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-b41b1b0 .elementor-heading-title {font-size:24px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-b41b1b0, body .elementor.elementor-2612 .elementor-element.elementor-element-b41b1b0 .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-b41b1b0 p {text-align:left !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-00efbec, body .elementor.elementor-2612 .elementor-element.elementor-element-00efbec .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-00efbec p {text-align:left !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-7825210 .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-7825210 .elementor-heading-title * {font-family:'Avenir Next-regular.',sans-serif !important;font-weight:400 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-7825210 .elementor-heading-title {font-size:17px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-7825210 .elementor-heading-title {font-size:16px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-e3051f2 .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-e3051f2 .elementor-heading-title * {font-family:'Avenir Next-regular.',sans-serif !important;font-weight:400 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-e3051f2 .elementor-heading-title {font-size:17px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-e3051f2 .elementor-heading-title {font-size:16px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-194a7ff .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-194a7ff .elementor-heading-title * {font-family:'Avenir Next-regular.',sans-serif !important;font-weight:400 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-194a7ff .elementor-heading-title {font-size:17px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-194a7ff .elementor-heading-title {font-size:16px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-b8d780e .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-b8d780e .elementor-heading-title * {font-family:'Avenir Next-regular.',sans-serif !important;font-weight:400 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-b8d780e .elementor-heading-title {font-size:17px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-b8d780e .elementor-heading-title {font-size:16px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-30c35d5 .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-30c35d5 .elementor-heading-title * {font-family:'Avenir Next-regular.',sans-serif !important;font-weight:400 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-30c35d5 .elementor-heading-title {font-size:17px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-30c35d5 .elementor-heading-title {font-size:16px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-91dbe70 .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-91dbe70 .elementor-heading-title * {font-family:'Avenir Next-regular.',sans-serif !important;font-weight:400 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-91dbe70 .elementor-heading-title {font-size:17px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-91dbe70 .elementor-heading-title {font-size:16px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-fb8c1ab .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-fb8c1ab .elementor-heading-title * {font-family:'Avenir Next-regular.',sans-serif !important;font-weight:400 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-fb8c1ab .elementor-heading-title {font-size:17px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-fb8c1ab .elementor-heading-title {font-size:16px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-5a6f1f2 .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-5a6f1f2 .elementor-heading-title * {font-family:'Avenir Next-regular.',sans-serif !important;font-weight:400 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-5a6f1f2 .elementor-heading-title {font-size:17px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-5a6f1f2 .elementor-heading-title {font-size:16px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-7ad567b .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-7ad567b .elementor-heading-title * {font-family:'Avenir Next-regular.',sans-serif !important;font-weight:400 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-7ad567b .elementor-heading-title {font-size:17px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-7ad567b .elementor-heading-title {font-size:16px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-a291f11 .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-a291f11 .elementor-heading-title * {font-family:'Avenir Next-regular.',sans-serif !important;font-weight:400 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-a291f11 .elementor-heading-title {font-size:17px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-a291f11 .elementor-heading-title {font-size:16px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-5108d95 .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-5108d95 .elementor-heading-title * {font-family:'Avenir Next-regular.',sans-serif !important;font-weight:400 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-5108d95 .elementor-heading-title {font-size:17px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-5108d95 .elementor-heading-title {font-size:16px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-2281082 .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-2281082 .elementor-heading-title * {font-family:'JuliusSansOne',sans-serif !important;font-weight:100 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-2281082 .elementor-heading-title {font-size:35px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-2281082 .elementor-heading-title {font-size:28px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-be4ef59 .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-be4ef59 .elementor-heading-title * {font-family:'Avenir Next-regular.',sans-serif !important;font-weight:400 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-be4ef59 .elementor-heading-title {font-size:17px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-be4ef59 .elementor-heading-title {font-size:12px !important;} }
body .elementor.elementor-2612 .elementor-element.elementor-element-562d5d8 .elementor-heading-title, body .elementor.elementor-2612 .elementor-element.elementor-element-562d5d8 .elementor-heading-title * {font-family:'Avenir Next-regular.',sans-serif !important;font-weight:400 !important;}
body .elementor.elementor-2612 .elementor-element.elementor-element-562d5d8 .elementor-heading-title {font-size:17px !important;}
@media(max-width:767px) { body .elementor.elementor-2612 .elementor-element.elementor-element-562d5d8 .elementor-heading-title {font-size:12px !important;} }
/* Einheitliche Desktopgröße für die Navigationslinks im Fußbereich. */
@media (min-width:1025px) {
  body .elementor.elementor-2612 .elementor-element.elementor-element-54ca052 .elementor-widget-heading:not(.elementor-element-2281082) .elementor-heading-title:has(a),
  body .elementor.elementor-2612 .elementor-element.elementor-element-54ca052 .elementor-widget-heading:not(.elementor-element-2281082) .elementor-heading-title:has(a) a {
    font-size:17px !important;
  }
}

/* Logo ausdrücklich von den kleinen Navigationslinks ausnehmen. */
body .elementor.elementor-2612 .elementor-element.elementor-element-2281082 .elementor-heading-title,
body .elementor.elementor-2612 .elementor-element.elementor-element-2281082 .elementor-heading-title a {
  font-size:35px !important;
}
@media(max-width:767px) {
  body .elementor.elementor-2612 .elementor-element.elementor-element-2281082 .elementor-heading-title,
  body .elementor.elementor-2612 .elementor-element.elementor-element-2281082 .elementor-heading-title a {
    font-size:28px !important;
  }
}

/* Four evenly spaced social links below the legal navigation. */
body .elementor.elementor-2612 .elementor-element-70fef90 {
 display:grid !important; grid-template-columns:max-content; align-content:start; justify-content:start;
}
body .elementor.elementor-2612 .elementor-element-e3e1b9c { width:min(100%,210px) !important; max-width:210px !important; min-width:0; align-self:flex-start; }
body .elementor.elementor-2612 .elementor-element-e3e1b9c .elementor-social-icons-wrapper {
 display:flex; justify-content:space-between; align-items:center; width:100%; gap:0; line-height:0;
}
body .elementor.elementor-2612 .elementor-element-e3e1b9c .elementor-grid-item { display:flex; }
body .elementor.elementor-2612 .elementor-element-e3e1b9c .elementor-social-icon {
 display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; padding:0; font-size:30px; color:#013027; background:transparent;
}
body .elementor.elementor-2612 .elementor-element-e3e1b9c .elementor-social-icon svg { width:30px; height:30px; fill:#013027; }
body .elementor.elementor-2612 .elementor-element-e3e1b9c .fw-footer-chrono { background:#013027; border-radius:50%; }
body .elementor.elementor-2612 .elementor-element-e3e1b9c .fw-footer-chrono .fw-chrono-icon { width:26px; height:26px; color:white; fill:currentColor; }
@media(max-width:767px) {
 body .elementor.elementor-2612 .elementor-element-e3e1b9c .elementor-social-icon,
 body .elementor.elementor-2612 .elementor-element-e3e1b9c .elementor-social-icon svg { width:27px; height:27px; font-size:27px; }
}

/* Keep the Chrono24 artwork within its circular button. */
body .elementor.elementor-2612 .elementor-element-e3e1b9c .fw-footer-chrono {
 overflow:hidden; isolation:isolate; border:0; box-shadow:none;
}
body .elementor.elementor-2612 .elementor-element-e3e1b9c .fw-footer-chrono .fw-chrono-icon {
 display:block; border:0; border-radius:50%; clip-path:circle(50%); box-shadow:none; background:transparent;
}
@media(hover:hover) and (pointer:fine) {
 body .elementor.elementor-2612 .elementor-element-e3e1b9c .elementor-social-icon {
  scale:1; transition:scale .2s ease;
 }
 body .elementor.elementor-2612 .elementor-element-e3e1b9c .elementor-social-icon:hover {
  scale:1.1;
 }
}
@media(prefers-reduced-motion:reduce) {
 body .elementor.elementor-2612 .elementor-element-e3e1b9c .elementor-social-icon { transition:none; }
}

/* Footer text links grow without shifting their neighbours. */
body .elementor.elementor-2612 .elementor-element-54ca052 .elementor-widget-heading .elementor-heading-title a {
 display:inline-block; text-decoration:none; color:inherit; transform-origin:center center;
}
@media(hover:hover) and (pointer:fine) {
 body .elementor.elementor-2612 .elementor-element-54ca052 .elementor-widget-heading .elementor-heading-title a {
  scale:1; transition:scale .2s ease;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 .elementor-widget-heading .elementor-heading-title a:hover { scale:1.1; }
}
@media(prefers-reduced-motion:reduce) {
 body .elementor.elementor-2612 .elementor-element-54ca052 .elementor-widget-heading .elementor-heading-title a { transition:none; }
}

/* Let more of the map show through the visit card. */
body .elementor.elementor-2612 .elementor-element-8ccc6ad .elementor-element-e7c485e {
 background:rgba(255,255,255,.78) !important;
}

/* Equal space on both sides of the visit-card wordmark. */
body .elementor.elementor-2612 .elementor-element-e7c485e .elementor-element.elementor-element-b41b1b0 {
 width:100%; align-self:stretch;
}
body .elementor.elementor-2612 .elementor-element-e7c485e .elementor-element.elementor-element-b41b1b0 .elementor-heading-title {
 text-align:center !important;
}

/* Fit the visit card to the wordmark, retaining equal 30px inner margins. */
body .elementor.elementor-2612 .elementor-element-e7c485e .elementor-element.elementor-element-b41b1b0 {
 width:max-content; align-self:flex-start;
}
body .elementor.elementor-2612 .elementor-element-e7c485e .elementor-element.elementor-element-b41b1b0 .elementor-heading-title {
 text-align:left !important; white-space:nowrap;
}
body .elementor.elementor-2612 .elementor-element.elementor-element-e7c485e {
 width:var(--visit-card-fit,300px) !important; max-width:90%; margin-left:auto; margin-right:0; padding-inline:40px;
}

/* Entire map is clickable; the visit card retains its own controls. */
body .elementor.elementor-2612 .elementor-element-8ccc6ad { position:relative; }
body .elementor.elementor-2612 .elementor-element.elementor-element-fwmaplink {
 position:absolute !important; inset:0; width:100%; height:100%; margin:0; padding:0; z-index:1;
}
body .elementor.elementor-2612 .elementor-element-fwmaplink .elementor-widget-container,
body .elementor.elementor-2612 .fw-map-link { display:block; width:100%; height:100%; }
body .elementor.elementor-2612 .fw-map-link { cursor:pointer; }
body .elementor.elementor-2612 .elementor-element-e7c485e { position:relative; z-index:2; }

/* Shared footer uses the same content frame and equal space between blocks. */
body .elementor.elementor-2612 .elementor-element.elementor-element-54ca052 {
 width:85%; max-width:1200px; margin-inline:auto; padding-inline:40px;
}
@media(min-width:1025px) {
 body .elementor.elementor-2612 .elementor-element.elementor-element-54ca052,
 body .elementor.elementor-2612 .elementor-element-54ca052 > .e-con-inner {
  display:flex; flex-direction:row; flex-wrap:nowrap; justify-content:space-between; align-items:flex-start; gap:24px;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 :is(.elementor-element-08084cc,.elementor-element-2623efa,.elementor-element-917a5d2,.elementor-element-70fef90) {
  width:max-content; flex:0 0 auto; margin-inline:0; padding-inline:0;
 }
}
@media(min-width:768px) and (max-width:1024px) {
 body .elementor.elementor-2612 .elementor-element.elementor-element-54ca052,
 body .elementor.elementor-2612 .elementor-element-54ca052 > .e-con-inner {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px;
 }
}
@media(max-width:767px) {
 body .elementor.elementor-2612 .elementor-element.elementor-element-54ca052 {
  width:100%; padding-inline:20px; gap:30px;
 }
}

/* Align the visit card with the shared content frame. */
body .elementor.elementor-2612 .elementor-element.elementor-element-8ccc6ad {
 padding-left:0; padding-right:0;
}
body .elementor.elementor-2612 .elementor-element.elementor-element-e7c485e {
 margin-left:calc((100% - min(85%, 1200px)) / 2 + 40px) !important;
 margin-right:0 !important;
}
@media(max-width:767px) {
 body .elementor.elementor-2612 .elementor-element.elementor-element-e7c485e {
  margin-left:20px !important; max-width:calc(100% - 40px);
 }
 /* Wrapped address lines need the same spacing as the following address rows. */
 body .elementor.elementor-2612 .elementor-element.elementor-element-00efbec {
  line-height:1.5;
 }
 body .elementor.elementor-2612 .elementor-element.elementor-element-00efbec p {
  line-height:inherit; margin-block:0;
 }
 body .elementor.elementor-2612 .elementor-element.elementor-element-00efbec p:first-child {
  margin-top:1em;
 }
 body .elementor.elementor-2612 .fw-visit-street { white-space:nowrap; }
 body .elementor.elementor-2612 .fw-visit-gate { display:block; }
 body .elementor.elementor-2612 .fw-visit-address-divider { display:none; }
}

/* Match the closing contact card's white colour and transparency. */
body .elementor.elementor-2612 .elementor-element-8ccc6ad .elementor-element-e7c485e {
 background:rgba(255,255,255,.65) !important;
}

/* Contact button centre shares the upper menu's distance from the right edge. */
body .fab-contact {
 right:calc(var(--fw-control-edge,44px) - var(--fab-size,56px) / 2) !important;
}

/* Bottom spacing mirrors the upper menu; white copy follows image boundaries. */
body .fab-contact { bottom:calc(env(safe-area-inset-bottom,0px) + 24px) !important; }
body .fab-contact .fab-toggle { background:#1C4438 !important; color:white !important; }
body .fab-contact .fab-toggle .fw-contact-contrast {
 position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
 border-radius:inherit; background:white; pointer-events:none;
 clip-path:var(--fw-white-clip,inset(100%));
}
body .fab-contact .fab-toggle .fw-contact-contrast svg {
 color:#1C4438 !important; fill:#1C4438 !important;
}

/* Partner link matches the other footer links. */
body .elementor.elementor-2612 .elementor-element-fwpartner .elementor-heading-title,
body .elementor.elementor-2612 .elementor-element-fwpartner .elementor-heading-title a {
 font-family:'Avenir Next-regular.',Avenir,sans-serif !important; font-weight:400 !important; font-size:17px !important;
}
@media(max-width:767px) {
 body .elementor.elementor-2612 .elementor-element-fwpartner .elementor-heading-title,
 body .elementor.elementor-2612 .elementor-element-fwpartner .elementor-heading-title a {font-size:16px !important;}
}

/* No green base beneath the antialiased edge of a fully white contact button. */
body .fab-contact .fab-toggle.fw-contact-all-white {
 background:#fff !important;
}

/* Contact control starts white as well, without a green flash on reload. */
html:not(.fw-contrast-ready) body .fab-contact .fab-toggle { background:#fff !important; }
html:not(.fw-contrast-ready) body .fab-contact .fab-toggle > svg { color:#1C4438 !important; fill:#1C4438 !important; }

/* Contact circle matches the visible diameter of the original logo's dot ring. */
body .fab-contact { --fab-size:var(--fw-contact-size,64px); }
body .fab-contact .fab-toggle {
 width:var(--fab-size) !important; height:var(--fab-size) !important;
 padding:0; min-width:0; min-height:0;
}
body .fab-contact .fab-toggle > svg,
body .fab-contact .fab-toggle .fw-contact-contrast svg {
 width:calc(var(--fab-size) * .46); height:calc(var(--fab-size) * .46);
}

/* Expanded contact controls share the trigger centre and contrast treatment. */
body .fab-contact { display:flex; align-items:center; }
body .fab-contact .fab-menu {
 top:50%; bottom:auto; transform:translateY(-50%) !important;
}
body .fab-contact .fab-menu .fab-icon {
 position:relative; flex-shrink:0; background:#1C4438 !important; color:white !important;
}
body .fab-contact .fab-icon .fw-contact-contrast {
 position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
 border-radius:inherit; background:white; color:#1C4438;
 pointer-events:none; clip-path:var(--fw-white-clip,inset(100%));
}
body .fab-contact .fab-icon .fw-contact-contrast svg { fill:#1C4438; color:#1C4438; }
body .fab-contact .fab-icon.fw-contact-all-white { background:white !important; }
body .fab-contact .fab-icon .fw-chrono-icon {
 width:32px; height:32px; color:white; fill:currentColor;
}
body .fab-contact .fab-icon .fw-contact-contrast .fw-chrono-icon {
 color:#1C4438; fill:currentColor;
}

/* Align the F with the copy and centre the visible lettering between label and address. */
body .elementor.elementor-2612 .elementor-element-e7c485e .elementor-element.elementor-element-b41b1b0 .elementor-heading-title {
  position:relative;
  left:-0.1em;
  top:0.2em;
  text-align:left !important;
}
@media(max-width:767px) {
 body .elementor.elementor-2612 .elementor-element-e7c485e .elementor-element.elementor-element-b41b1b0 .elementor-heading-title {
  top:0.333333em;
 }
}

/* Larger opening-status light with a slow, gentle glow. */
body .elementor-2612 [data-fw-regular-hours] { display:block; line-height:1.5; }
body .elementor-2612 .open-status {
  display:inline-flex; align-items:center; gap:14px;
  font-family:'Avenir Next-regular.',Avenir,sans-serif;
  font-size:14px; font-weight:400; line-height:1.4; color:#013027;
}
body .elementor-2612 .open-status .label { font-weight:400; }
body .elementor-2612 .open-status .fw-hours-copy { display:flex; flex-direction:column; min-width:0; }
body .elementor-2612 .open-status .fw-hours-note { margin-top:6px; white-space:pre-line; overflow-wrap:anywhere; }
body .elementor-2612 .open-status:has(.fw-hours-note:not([hidden])) { align-items:flex-start; }
body .elementor-2612 .open-status:has(.fw-hours-note:not([hidden])) .lamp { margin-top:2px; }
body .elementor-2612 .open-status .lamp {
  width:16px;
  height:16px;
  flex:0 0 16px;
  border-radius:50%; background:#b7b7b7;
}
body .elementor-2612 .open-status.open .lamp {
  background:#013027;
  --fw-status-glow:22,163,74;
}
body .elementor-2612 .open-status.closed .lamp {
  --fw-status-glow:220,38,38;
}
body .elementor-2612 .open-status:is(.open,.closed) .lamp {
  animation:fw-status-glow 2.5s ease-in-out infinite;
}
@keyframes fw-status-glow {
  0%,100% { transform:scale(1); box-shadow:0 0 5px rgba(var(--fw-status-glow),.25); }
  50% { transform:scale(1.12); box-shadow:0 0 16px rgba(var(--fw-status-glow),.65),0 0 5px rgba(var(--fw-status-glow),.4); }
}
@media(prefers-reduced-motion:reduce) {
  body .elementor-2612 .open-status:is(.open,.closed) .lamp { animation:none; }
}

/* Keep the lower controls above the copyright divider on every page. */
body .fw-side-slogan,
body .fab-contact {
  bottom:max(calc(env(safe-area-inset-bottom,0px) + 24px),var(--fw-footer-control-bottom,24px)) !important;
}

/* A brighter red for the closed status, retaining the gentle pulse. */
body .elementor-2612 .open-status.closed .lamp {
  background:#d43b3b;
  --fw-status-glow:235,65,65;
}

/* Three navigation groups followed by the wordmark and address. */
body .elementor.elementor-2612 .elementor-element-fwfooterfaq { margin-top:0; }
body .elementor.elementor-2612 .elementor-element-70fef90 { gap:20px; }
body .elementor.elementor-2612 .elementor-element-70fef90 > .elementor-widget { margin-block:0; }
body .elementor.elementor-2612 .elementor-element-2281082 .elementor-heading-title {
 position:relative; left:-0.1em; text-align:left !important;
}
/* Match the four navigation rows; account for the wordmark's taller capitals. */
@media(min-width:768px) {
 body .elementor.elementor-2612 .elementor-element-70fef90 {
  display:flex !important; flex-direction:column; justify-content:space-between;
  box-sizing:border-box; height:172px; gap:0; padding-top:6px; padding-bottom:0;
 }
 body .elementor.elementor-2612 .elementor-element-e3e1b9c { height:28px; }
 body .elementor.elementor-2612 .elementor-element-e3e1b9c .elementor-social-icons-wrapper { height:28px; }
}

/* One tablet grid, not a grid nested inside its own first column. */
@media(min-width:768px) and (max-width:1024px) {
 body .elementor.elementor-2612 .elementor-element.elementor-element-54ca052:has(> .e-con-inner) { display:block; }
 body .elementor.elementor-2612 .elementor-element-54ca052 > .e-con-inner { width:100%; max-width:none; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; align-items:start; }
 body .elementor.elementor-2612 .elementor-element-54ca052 :is(.elementor-element-08084cc,.elementor-element-2623efa,.elementor-element-917a5d2,.elementor-element-70fef90) { width:100%; min-width:0; }
}

/* Keep the tablet footer inset and shift its content frame to the right. */
@media(min-width:768px) and (max-width:1024px) {
 body .elementor.elementor-2612 .elementor-element.elementor-element-54ca052 {
  width:90%; margin-left:auto; margin-right:0; padding-inline:40px;
 }
}

/* Preserve the existing vertical links on larger screens. */
body .elementor.elementor-2612 .elementor-element-fwlegalrow { display:contents !important; }

/* Phone footer: navigation, social links, contact details, then the legal links. */
@media(max-width:767px) {
 body .elementor.elementor-2612 .elementor-element-54ca052 > .e-con-inner {
  display:grid; width:100%; max-width:none;
  grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; align-items:start;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 :is(.elementor-element-08084cc,.elementor-element-2623efa,.elementor-element-917a5d2,.elementor-element-70fef90) {
  display:flex !important; flex-direction:column; flex-wrap:nowrap;
  width:100%; min-width:0; height:auto; margin:0; padding:0; border:0;
  gap:16px; align-items:flex-start; justify-content:flex-start;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 .e-child > .elementor-widget {
  min-width:0; max-width:100%; margin-block:0;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 :is(.elementor-element-917a5d2,.elementor-element-70fef90) {
  grid-column:1 / -1;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 .elementor-element-917a5d2 {
  display:contents !important;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 .elementor-element-fwlegalrow {
  display:flex !important; flex-direction:row; flex-wrap:nowrap;
  grid-column:1 / -1; grid-row:4; width:100%; min-width:0;
  justify-content:space-between; align-items:center; gap:12px; margin:0; padding:0;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 .elementor-element-fwlegalrow > .elementor-widget-heading {
  width:max-content; flex:0 0 auto;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 .elementor-element-917a5d2 .elementor-heading-title,
 body .elementor.elementor-2612 .elementor-element-54ca052 .elementor-element-917a5d2 .elementor-heading-title a {
  font-size:clamp(12px,3.3vw,15px) !important; line-height:1.4 !important; white-space:nowrap;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 .elementor-element-917a5d2 .elementor-heading-title a {
  display:inline-flex; align-items:center; min-height:44px;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 .elementor-element-e3e1b9c {
  grid-column:1 / -1; grid-row:2; justify-self:center;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 .elementor-element-70fef90 {
  grid-row:3;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 :is(.elementor-element-08084cc,.elementor-element-2623efa,.elementor-element-70fef90) {
  align-items:center;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 :is(.elementor-element-08084cc,.elementor-element-2623efa,.elementor-element-70fef90) > .elementor-widget {
  width:100%; align-self:center;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 :is(.elementor-element-08084cc,.elementor-element-2623efa,.elementor-element-70fef90) .elementor-heading-title {
  text-align:center !important;
 }
 body .elementor.elementor-2612 .elementor-element-54ca052 .elementor-element-70fef90 .elementor-heading-title {
  left:0;
 }
}
