:root{--nf-accent:#668000;--nf-teal:#668000;--nf-dark:#303820;--nf-width:1280px;--nf-logo-width:238px;--nf-drawer-width:460px}


.nfee{--green:var(--nf-accent,#668000);--dark:var(--nf-dark,#303820);--teal:var(--nf-teal,#668000);--ink:#303820;--line:#dce3c5;max-width:1280px;margin:0 auto;padding:12px clamp(12px,2vw,24px) 32px;color:var(--ink);font-family:inherit;font-size:16px;line-height:1.7}
.nfee *,.nfee *::before,.nfee *::after{box-sizing:border-box}
.nfee h1,.nfee h2,.nfee h3{color:var(--dark);font-family:inherit;font-weight:750;line-height:1.18;letter-spacing:-.025em}
.nfee h1{font-size:clamp(34px,4.6vw,60px);margin:14px 0 22px;max-width:860px}.nfee h2{font-size:clamp(25px,3vw,36px);margin:0 0 16px}.nfee h3{font-size:22px;margin:0 0 12px}
.nfee p{margin:0 0 16px}.nfee p:last-child{margin-bottom:0}.nfee a{color:#526600;text-underline-offset:4px;overflow-wrap:anywhere}.nfee a:hover{text-decoration-thickness:2px}.nfee a:focus-visible,.nfee summary:focus-visible{outline:3px solid #526600;outline-offset:5px}
.nfee .nf-tag{display:block;color:#526600;font-size:12px;font-weight:800;letter-spacing:1.7px;text-transform:uppercase;margin:0 0 12px}.nfee .nf-lead{font-size:clamp(18px,2vw,21px);max-width:740px;line-height:1.65}
.nfee .nf-hero{border:1px solid var(--line);border-radius:28px;padding:clamp(26px,5vw,62px);background:linear-gradient(125deg,#fff 50%,#f5f8e8);margin-bottom:38px}.nfee .nf-split{display:grid;grid-template-columns:1.25fr .75fr;gap:32px;align-items:center}.nfee .nf-split>*{min-width:0}
.nfee .nf-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.nfee .nf-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:10px;border:1px solid var(--teal);border-radius:30px;padding:12px 22px;background:var(--teal);color:#fff!important;font-weight:750;text-decoration:none;min-height:48px;transition:transform .2s,box-shadow .2s}.nfee .nf-btn.alt{background:#fff;color:#526600!important;border-color:#d0d9a4}.nfee .nf-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #30382018}
.nfee .nf-section{margin:40px 0}.nfee .nf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.nfee .nf-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.nfee .nf-card{background:#fff;border:1px solid #e1e6d3;border-radius:22px;padding:28px;min-width:0}.nfee a.nf-card{display:flex;flex-direction:column;gap:10px;color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}.nfee a.nf-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #30382015}.nfee .nf-card strong{font-size:21px;line-height:1.3;color:var(--dark)}.nfee .nf-card .nf-go{margin-top:auto;padding-top:12px;color:#526600;font-weight:750}.nfee .nf-green{background:#e8efd1}.nfee .nf-blue{background:#edf2d7}.nfee .nf-yellow{background:#fff0ce}.nfee .nf-purple{background:#f8e9ed}.nfee .nf-sky{background:#f0f4d6}
.nfee .nf-icon{display:flex;width:50px;height:50px;align-items:center;justify-content:center;background:#ffffffb8;border-radius:15px;font-size:27px;color:var(--dark);margin-bottom:14px}.nfee .nf-panel{background:#f8faef;border:1px solid var(--line);border-radius:25px;padding:clamp(25px,4vw,42px)}.nfee .nf-banner{background:var(--dark);color:#fff;border-radius:25px;padding:clamp(26px,4vw,42px)}.nfee .nf-banner h2,.nfee .nf-banner h3{color:#fff}.nfee .nf-banner .nf-tag{color:#e5efaa}.nfee .nf-banner a:not(.nf-btn){color:#fff}
.nfee .nf-art{background:#eaf1ce;border-radius:24px;padding:32px 24px;position:relative;overflow:hidden}.nfee .nf-art::before{content:"✦";position:absolute;right:10px;top:-40px;font-size:170px;color:#66800022;line-height:1;pointer-events:none}.nfee .nf-art b{position:relative;display:block;color:var(--dark);font-size:clamp(26px,3vw,37px);line-height:1.2;margin-bottom:24px}.nfee .nf-pill{display:inline-block;background:#fff;border-radius:14px;padding:10px 14px;margin:5px 4px 5px 0;color:#39451e;font-weight:700}
.nfee .nf-steps{list-style:none;padding:0;margin:0;counter-reset:nfstep;display:grid;gap:16px}.nfee .nf-steps li{counter-increment:nfstep;display:grid;grid-template-columns:48px 1fr;gap:18px;padding:25px;border:1px solid var(--line);border-radius:20px;background:#fff}.nfee .nf-steps li::before{content:counter(nfstep,decimal-leading-zero);display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:15px;background:#edf3d5;color:#526600;font-size:19px;font-weight:800}.nfee .nf-steps h3{margin-top:5px}.nfee ul{padding-left:23px}.nfee li{margin:7px 0}.nfee .nf-note{border-left:5px solid var(--green);padding:22px 26px;background:#f5f7eb;border-radius:0 18px 18px 0;margin:24px 0}.nfee .nf-meta{font-size:14px;color:#59634b}.nfee details{border:1px solid #dce3c5;border-radius:17px;padding:0 22px;margin:12px 0;background:#fff}.nfee summary{cursor:pointer;color:var(--dark);font-weight:750;padding:19px 0}.nfee details>div{padding:0 0 22px}.nfee .nf-bank{background:#fff;border:1px solid #dce3c5;border-radius:18px;padding:24px}.nfee .nf-bank dt{font-weight:750;color:var(--dark);margin-top:12px}.nfee .nf-bank dd{margin:0;overflow-wrap:anywhere}.nfee .nf-iban{font-size:clamp(18px,2.3vw,27px);font-weight:750;letter-spacing:.04em}.nfee .nf-foot{display:flex;gap:10px 22px;flex-wrap:wrap;border-top:1px solid #dce3c5;padding-top:22px;margin-top:40px;font-size:14px}.nfee .nf-foot a{color:#59634b}.nfee .nf-draft{background:#fff0ce;border:2px solid #9b6200;border-radius:20px;padding:24px}
@media(max-width:850px){.nfee .nf-split{grid-template-columns:1fr}.nfee .nf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.nfee .nf-grid,.nfee .nf-grid.two{grid-template-columns:1fr}.nfee .nf-card{padding:24px}.nfee .nf-hero{border-radius:22px;padding:26px 22px}.nfee .nf-steps li{padding:20px;grid-template-columns:1fr}.nfee .nf-actions{flex-direction:column;align-items:stretch}.nfee .nf-section{margin:30px 0}}
@media(prefers-reduced-motion:reduce){.nfee .nf-btn,.nfee a.nf-card{transition:none;transform:none!important}}

.nfee figure{margin:26px 0}.nfee figure img{display:block;max-width:100%;height:auto;border-radius:18px;margin:0 auto}.nfee figcaption{font-size:14px;line-height:1.6;color:#59634b;margin-top:12px}.nfee .nf-media{background:#f8faef;padding:20px;border-radius:22px;border:1px solid #dce3c5}.nfee .nf-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.nfee .nf-gallery figure{margin:0}.nfee .nf-pdf{display:block;width:100%;height:75vh;min-height:420px;border:1px solid #dce3c5;border-radius:18px;background:#f5f7eb;margin-top:24px}.nfee .nf-copy{max-width:880px;margin:0 auto}.nfee .nf-copy h2{margin-top:30px}.nfee .nf-copy p{overflow-wrap:anywhere}.nfee .nf-page-nav{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.nfee .nf-page-nav a,.nfee .nf-page-nav span{padding:9px 16px;border-radius:14px;background:#f5f8e8;color:var(--nf-dark,#303820)}.nfee .nf-page-nav [aria-current]{background:var(--nf-dark,#303820);color:white}.nfee .nf-cover{max-height:520px;object-fit:contain}.nfee .nf-card img{display:block;width:100%;height:180px;object-fit:contain;border-radius:13px;background:#f8faef}.nfee .nf-breadcrumb{font-size:14px;margin:0 0 22px}.nfee .nf-breadcrumb a{margin-right:12px}
@media(max-width:560px){.nfee .nf-gallery{grid-template-columns:1fr}.nfee .nf-pdf{min-height:300px;height:60vh}}


:root{color-scheme:light;scrollbar-gutter:stable}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:#fff;color:#303820;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #526600;outline-offset:5px}[hidden]{display:none!important}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--nf-dark,#303820);color:#fff;padding:12px 20px;border-radius:14px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:30;background:#fffffff2;border-bottom:1px solid #e1e6d3;backdrop-filter:blur(12px)}.header-inner{max-width:1280px;margin:auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px}.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand img{display:block;width:238px;height:auto;max-width:100%}.header-right{display:flex;gap:25px;align-items:center}.header-caption{font-size:13px;line-height:1.5;color:#59634b;text-align:right}.header-caption strong{display:block;color:var(--nf-dark,#303820);font-size:14px}.menu-open{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:48px;padding:11px 21px;border:1px solid #d3e1d8;border-radius:28px;background:#f8faef;color:var(--nf-dark,#303820);font-weight:700;cursor:pointer;transition:background .2s,box-shadow .2s}.menu-open:hover{background:#edf3d5;box-shadow:0 5px 18px #30382010}.burger{display:flex;flex-direction:column;gap:5px;width:20px}.burger span{height:2px;width:20px;background:currentColor;border-radius:2px}.burger span:nth-child(2){width:14px;margin-left:auto}.site-main{padding-top:24px;min-height:55vh}.site-main:focus{outline:none}.menu-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100%);height:100vh;height:100dvh;max-width:100%;max-height:100%;padding:0;border:0;background:#fff;color:#303820;overflow-y:auto;overscroll-behavior:contain;box-shadow:-20px 0 80px #30382030}.menu-dialog[open]{display:flex;flex-direction:column;animation:drawer-in .24s ease-out}.menu-dialog::backdrop{background:#0b2939a6;backdrop-filter:blur(4px);animation:veil-in .24s ease-out}.drawer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px 20px;border-bottom:1px solid #e3e8d5}.drawer-top img{display:block;width:190px;height:auto}.menu-close{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex-shrink:0;border:1px solid #dce3c5;border-radius:50%;color:var(--nf-dark,#303820);background:#f8faef;font-size:30px;line-height:1;cursor:pointer}.menu-close:hover{background:#edf3d5}.drawer-body{padding:22px 28px 32px;flex:1}.drawer-body h2{font-size:12px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:#526600;margin:3px 0 16px}.drawer-links{list-style:none;margin:0;padding:0;display:grid;gap:4px}.drawer-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:47px;padding:11px 15px;color:var(--nf-dark,#303820);text-decoration:none;border-radius:13px;font-size:17px;font-weight:600;line-height:1.35}.drawer-links a:hover{background:#f5f8e8}.drawer-links a[aria-current]{background:#f0f4d6;color:#526600}.drawer-links .nav-arrow{font-size:18px;opacity:.6}.drawer-divider{border:0;border-top:1px solid #e1e6d3;margin:22px 0}.drawer-small a{font-size:15px;font-weight:400;min-height:43px}.drawer-portal{display:block;padding:19px 21px;border-radius:18px;background:var(--nf-dark,#303820);color:#fff;text-decoration:none;margin-top:24px}.drawer-portal strong{display:block;font-size:17px}.drawer-portal span{font-size:13px;color:#e9eddb}.drawer-portal:hover{background:#526600}.drawer-legal{display:flex;gap:22px;flex-wrap:wrap;margin-top:24px;font-size:13px}.drawer-legal a{color:#59634b;text-underline-offset:4px}.site-footer{max-width:1224px;margin:25px auto 0;padding:35px 0 28px;border-top:1px solid #dce3c5;display:grid;grid-template-columns:1fr auto;gap:25px;font-size:14px;color:#59634b}.footer-name{font-size:17px;font-weight:700;color:var(--nf-dark,#303820);margin:0 0 7px}.footer-text{margin:0;max-width:470px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;align-content:start;justify-content:flex-end}.footer-links a{color:#526600;text-underline-offset:4px}.nojs-nav{max-width:1224px;margin:15px auto;padding:15px;background:#f5f8e8;border-radius:15px}.nojs-nav a{display:inline-block;color:var(--nf-dark,#303820);padding:8px}.drawer-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes veil-in{from{opacity:0}to{opacity:1}}
@media(max-width:1320px){.site-footer{margin-left:28px;margin-right:28px}}@media(max-width:650px){.header-inner{padding:15px 20px;min-height:88px;gap:15px}.brand img{width:190px}.header-caption{display:none}.menu-open{padding:10px 15px;gap:10px;font-size:14px}.site-main{padding-top:16px}.site-footer{grid-template-columns:1fr;margin:15px 25px 0;padding-top:27px}.footer-links{justify-content:flex-start}.drawer-top{padding:22px}.drawer-body{padding:22px}.drawer-top img{width:180px}}@media(max-width:360px){.brand img{width:165px}.menu-open{padding:10px 13px}.menu-word{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-dialog[open],.menu-dialog::backdrop{animation:none}.menu-open{transition:none}}@media print{.site-header,.site-footer,.menu-dialog,.skip-link{display:none!important}.site-main{padding-top:0}}

*,*::before,*::after{box-sizing:border-box}

/* Unterstützer: sechs Logos in einer Reihe, automatische Umbrüche bei wenig Platz. */
.nfee .nf-supporters{padding-top:34px;border-top:1px solid #dce3c5;text-align:center}
.nfee .nf-supporters h2{font-size:clamp(23px,2.6vw,31px)}
.nfee .nf-supporter-list{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:18px;list-style:none;margin:25px 0 0;padding:0}
.nfee .nf-supporter{display:flex;flex:1 1 150px;max-width:205px;min-width:0;min-height:130px;align-items:center;justify-content:center;margin:0;padding:12px;background:#fff;border:1px solid #e3e8d5;border-radius:18px}
.nfee .nf-supporter img{display:block;width:100%;height:100px;object-fit:contain}
@media(max-width:560px){.nfee .nf-supporter-list{gap:12px}.nfee .nf-supporter{flex-basis:135px;min-height:116px;padding:10px}.nfee .nf-supporter img{height:92px}}

/* Joomla integration and progressive enhancement */
.nf-container{width:100%;max-width:var(--nf-width);margin:0 auto;padding:0 24px}.header-inner{max-width:var(--nf-width)}.brand img{width:var(--nf-logo-width)}.site-footer{max-width:calc(var(--nf-width) - 56px)}.menu-dialog{width:min(var(--nf-drawer-width),100%)}.nfee{max-width:var(--nf-width)}.nf-header-static .site-header{position:relative}.nf-topbar{background:#f5f8e8;padding:6px 0;font-size:14px}.nf-navigation{max-width:var(--nf-width);margin:20px auto;padding:20px;background:#f8faef;border-radius:22px}.nf-navigation .drawer-top{display:none}.menu-dialog .nf-navigation{margin:0;padding:0;max-width:none;background:#fff;border-radius:0}.menu-dialog .drawer-top{display:flex}.nf-header-extra{max-width:250px}.nf-drawer-extra{margin:22px 0}.nf-drawer-extra img{max-width:100%;height:auto}.nf-drawer-extra .nfee{padding:0}.nf-drawer-extra .nf-card{padding:20px}.nf-menu,.nf-submenu{list-style:none;margin:0;padding:0;display:grid;gap:4px}.nf-menu-item{margin:0}.nf-menu-row{display:flex;align-items:center;gap:4px}.nf-menu-row>a,.nf-menu-row>span{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:11px 15px;min-height:47px;border-radius:13px;line-height:1.35;text-decoration:none;color:var(--nf-dark);font-size:17px;font-weight:600;overflow-wrap:anywhere}.nf-menu-row>a::after{content:'→';margin-inline-start:auto;opacity:.55}.nf-menu-row>a:hover{background:#f5f8e8}.nf-current>.nf-menu-row>a{background:#f0f4d6;color:#526600}.nf-active-branch:not(.nf-current)>.nf-menu-row>a{color:#526600}.nf-menu-row img{width:38px;height:38px;object-fit:contain;flex-shrink:0}.nf-menu-row [class*='icon-'],.nf-menu-row [class*='fa-']{color:var(--nf-teal);font-size:21px;padding:0!important;flex-shrink:0}.nf-submenu{margin:4px 0 12px 18px;padding-inline-start:10px;border-inline-start:2px solid #dce3c5}.nf-submenu a{font-size:15px;font-weight:400}.nf-submenu-toggle{width:38px;height:38px;flex-shrink:0;border:1px solid #dce3c5;background:#f8faef;color:var(--nf-dark);border-radius:12px;cursor:pointer}.nf-submenu-toggle[aria-expanded='true'] span{display:inline-block;transform:rotate(180deg)}.nf-separator{margin:14px 0 5px;border-top:1px solid #dce3c5;padding-top:9px}.nf-separator>.nf-menu-row>span{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#526600}.footer-links .nf-menu{display:flex;flex-wrap:wrap;gap:12px 22px}.footer-links .nf-menu-row>a{font-size:14px;font-weight:400;padding:0;min-height:0;text-decoration:underline;color:#526600}.footer-links .nf-menu-row>a::after{display:none}.footer-links .nf-submenu-toggle{display:none}.footer-links .nf-submenu{display:block!important;border:0;padding:0;margin:8px 0}.nf-content-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.nf-content-layout.nf-has-sidebar{grid-template-columns:minmax(0,1fr) 300px}.nf-component{min-width:0}.nf-component>.nfee{padding:12px 0 32px}.nf-sidebar .card,.nf-sidebar .moduletable{border:1px solid #dce3c5;border-radius:22px;padding:25px;background:#f8faef;margin-bottom:20px}.nf-breadcrumb-position{margin:10px 0 24px}.breadcrumb{background:#f8faef;padding:14px 20px;border-radius:15px}.nf-below-content{margin-top:35px}.nf-template-supporters{padding:0}.nf-component .com-content-article,.nf-component .com-content-category-blog{padding:24px 0}.nf-component .com-content-article h1,.nf-component .page-header h1{font-size:clamp(32px,4.5vw,58px);line-height:1.15;color:var(--nf-dark);margin-bottom:24px}.nf-component .com-content-article h2{font-size:clamp(25px,3vw,36px);color:var(--nf-dark);margin:28px 0 16px}.nf-component .com-content-article h3{color:var(--nf-dark)}.nf-component .com-content-article p{line-height:1.7;margin-bottom:16px}.nf-component .com-content-article img{max-width:100%;height:auto;border-radius:18px}.nf-component .article-info{font-size:14px;color:#59634b}.nf-component .btn-primary{background:var(--nf-teal);border-color:var(--nf-teal);border-radius:28px;padding:11px 22px}.nf-component input:not([type='checkbox']):not([type='radio']),.nf-component select,.nf-component textarea{max-width:100%;border-radius:12px}.nf-component .form-control:focus{border-color:var(--nf-teal);box-shadow:0 0 0 .2rem #66800025}.nf-component .blog-items{gap:22px}.nf-component .blog-item{border:1px solid #dce3c5;border-radius:22px;padding:26px;background:white}.nf-component .pagination{flex-wrap:wrap}.nf-component .page-link{color:var(--nf-dark)}.nf-component .active>.page-link{background:var(--nf-teal);border-color:var(--nf-teal)}.nf-component #sp-page-builder .page-content{padding:0}.nf-component-only{padding:20px}.nf-component-only .nf-component{max-width:var(--nf-width);margin:auto}
@media(max-width:900px){.nf-content-layout.nf-has-sidebar{grid-template-columns:1fr}}@media(max-width:650px){.brand img{width:min(var(--nf-logo-width),190px)}.nf-container{padding:0 12px}.header-caption,.nf-header-extra{display:none}.nf-navigation{margin:12px}.menu-dialog .nf-navigation{margin:0}.nf-menu-row>a{font-size:16px}}@media(prefers-reduced-motion:reduce){.nf-submenu-toggle span{transition:none}}

.nf-component .nfee{padding-inline:0}.nf-component #sp-page-builder .sppb-container{max-width:100%}

/* 1.0.1: Grundschrift und Bildgrenzen auch für native Joomla-Inhalte. */
body.nf-joomla{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}
.nf-component img,.nf-sidebar img,.nf-header-extra img{max-width:100%;height:auto}

/* Optionaler Seitenrahmen, ohne Einfluss auf das Off-Canvas-Dialogfenster. */
.nf-page-framed{width:calc(100% - 32px);max-width:calc(var(--nf-width) + 2px);margin:16px auto;border:1px solid var(--nf-frame-colour,#dce3c5);border-radius:var(--nf-frame-radius,28px);background:#fff;min-width:0}
.nf-page-framed .site-header{border-start-start-radius:var(--nf-frame-radius,28px);border-start-end-radius:var(--nf-frame-radius,28px)}
.nf-page-framed .nf-topbar{border-start-start-radius:var(--nf-frame-radius,28px);border-start-end-radius:var(--nf-frame-radius,28px)}
.nf-page-framed .site-footer{margin-left:28px;margin-right:28px}
@media(max-width:650px){.nf-page-framed{width:calc(100% - 16px);margin:8px auto;border-radius:min(var(--nf-frame-radius,28px),22px)}.nf-page-framed .site-header,.nf-page-framed .nf-topbar{border-start-start-radius:min(var(--nf-frame-radius,28px),22px);border-start-end-radius:min(var(--nf-frame-radius,28px),22px)}.nf-page-framed .header-inner{padding-inline:14px}.nf-page-framed .nf-container{padding-inline:18px}.nf-page-framed .site-footer{margin-inline:18px}}
@media print{.nf-page-framed{width:100%;max-width:none;margin:0;border:0;border-radius:0}}

/* Konfigurierbarer Kopfbereich; eigene CSS-Regeln können dies überschreiben. */
.site-header{background:var(--nf-header-background,linear-gradient(110deg,#f5f8e8,#f0f4d6))}

.nf-error-hero{margin-top:40px}

/* Schulamt: Original-Logofarben Oliv #668000, Limette #b1c800, Rot #d40032. */
:root{--nf-logo-width:209px;--sa-lime:#b1c800;--sa-red:#d40032}
.site-header{border-bottom:2px solid var(--sa-lime)}
.nfee .nf-tag{color:#526600}
.nf-menu-row [class*='icon-'],.nf-menu-row [class*='fa-']{color:var(--sa-red)}
.nfee .nf-icon{color:#526600}
.nfee .nf-hero{background:linear-gradient(125deg,#fff 50%,#f3f7df)}
.nfee .nf-art::before{color:#b1c80033}
.nfee .nf-btn:hover,.menu-open:hover{box-shadow:0 5px 18px #30382018}

/* Textlinks: konfigurierbare Farben, Bootstrap-Variablen ebenfalls gesetzt. */
a{color:var(--nf-link,#526600)}
a:hover,a:focus-visible{color:var(--nf-link-hover,#3b4a00)}
.nf-component a:where(:not(.btn,.nf-btn,.nf-card,.page-link)),.nfee a:where(:not(.btn,.nf-btn,.nf-card,.page-link)),.footer-links a,.nf-breadcrumb-position a,.nfee .nf-foot a{color:var(--nf-link,#526600)}
.nf-component a:where(:not(.btn,.nf-btn,.nf-card,.page-link)):is(:hover,:focus-visible),.nfee a:where(:not(.btn,.nf-btn,.nf-card,.page-link)):is(:hover,:focus-visible),.footer-links a:is(:hover,:focus-visible),.nf-breadcrumb-position a:is(:hover,:focus-visible),.nfee .nf-foot a:is(:hover,:focus-visible){color:var(--nf-link-hover,#3b4a00);text-decoration:underline}
/* Kontraste der gestalteten Schaltflächen und dunklen Hinweisflächen erhalten. */
.nfee .nf-banner a:not(.nf-btn),.nfee .nf-banner a:not(.nf-btn):is(:hover,:focus-visible){color:#fff}


/* Schulübersicht: com_contact Kategorien, Version 1.0.3 */
.nl-schools-overview{--nso-green:#668000;--nso-ink:#303820;--nso-muted:#5f6d61;--nso-border:#dce3c5;max-width:1180px;margin:0 auto 55px;color:var(--nso-ink)}
.nl-schools-overview *{box-sizing:border-box}
.nl-schools-overview .nso-hero{background:linear-gradient(120deg,#fff 55%,#f5f8e8);border:1px solid var(--nso-border);border-radius:26px;padding:clamp(25px,4vw,52px);margin-bottom:24px}
.nl-schools-overview .nso-eyebrow,.nl-schools-overview .nso-type{font-size:12px;letter-spacing:1.25px;text-transform:uppercase;font-weight:800;color:#526600}
.nl-schools-overview .nso-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.15;color:#303820;margin:13px 0 15px}
.nl-schools-overview .nso-hero p{max-width:730px;color:var(--nso-muted);line-height:1.75;margin:0}
.nl-schools-overview .nso-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.nl-schools-overview .nso-stats span{display:inline-flex;border:1px solid #d5e3bb;background:#f5f9eb;color:#526600;padding:7px 13px;border-radius:99px;font-size:13px;font-weight:700}
.nl-schools-overview .nso-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.nl-schools-overview .nso-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--nso-border);border-radius:23px;padding:clamp(24px,3vw,36px);transition:transform .2s,box-shadow .2s,border-color .2s}
.nl-schools-overview .nso-card:nth-child(even){background:#f7f9f1}
.nl-schools-overview .nso-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #30382014;border-color:#b9ce91}
.nl-schools-overview .nso-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:#eaf2d8;color:#526600;font-size:30px;font-weight:800;margin-bottom:24px}
.nl-schools-overview .nso-card:nth-child(even) .nso-icon{background:#e4edcb}
.nl-schools-overview .nso-card h2{font-size:clamp(24px,2.5vw,30px);line-height:1.25;margin:11px 0 15px}
.nl-schools-overview .nso-card h2 a{color:#303820;text-decoration:none}
.nl-schools-overview .nso-card h2 a:hover{color:#526600}
.nl-schools-overview .nso-description,.nl-schools-overview .nso-card p{color:var(--nso-muted);font-size:15px;line-height:1.75}
.nl-schools-overview .nso-description{max-height:12.5em;overflow:hidden}
.nl-schools-overview .nso-description p{margin:0 0 10px}
.nl-schools-overview .nso-action{display:inline-flex;align-items:center;gap:12px;margin-top:24px;padding:12px 20px;background:#668000;border-radius:999px;color:#fff!important;font-size:14px;font-weight:750;text-decoration:none!important}
.nl-schools-overview .nso-action:hover{background:#4e6200;color:#fff!important}
.nl-schools-overview a:focus-visible{outline:3px solid #668000;outline-offset:4px}
.nl-schools-overview .nso-note{margin-top:25px;padding:24px 28px;background:#f5f8e8;border:1px solid var(--nso-border);border-radius:20px}
.nl-schools-overview .nso-note strong{font-size:18px}
.nl-schools-overview .nso-note p{margin:8px 0 0;color:var(--nso-muted);line-height:1.7}
.nl-schools-overview .nso-empty{padding:25px;border:1px solid var(--nso-border);border-radius:16px}
@media(max-width:720px){.nl-schools-overview .nso-grid{grid-template-columns:1fr}.nl-schools-overview .nso-card{padding:24px}.nl-schools-overview .nso-hero{padding:27px}}
@media(prefers-reduced-motion:reduce){.nl-schools-overview .nso-card{transition:none}}


/* JEvents: Kalender- und Veranstaltungsansichten – Template 1.0.6.
   Nur JEvents-Elemente: andere Komponenten bleiben unberührt. */
#jevents_body,.jevents_body,.jev_listview,.jev_eventdetail{
  --sa-ev-green:#668000;--sa-ev-dark:#303820;--sa-ev-border:#dce3c5;
  --sa-ev-muted:#5d6a60;color:var(--sa-ev-dark);
}
#jevents_body a,.jevents_body a{color:var(--nf-link,#526600)}
#jevents_body a:hover,.jevents_body a:hover{color:var(--nf-link-hover,#3b4a00)}
#jevents_body :is(.jev_listrow,.jev_list_row,.jev_eventblock,.jev_event_block,.jev_eventrow,.jev_event_row),
.jevents_body :is(.jev_listrow,.jev_list_row,.jev_eventblock,.jev_event_block,.jev_eventrow,.jev_event_row){
  background:#fff;border:1px solid var(--sa-ev-border);border-radius:20px;
  padding:clamp(18px,2.5vw,30px);margin:0 0 18px;box-shadow:0 5px 20px #3038200a;
  transition:box-shadow .18s,border-color .18s,transform .18s;
}
#jevents_body :is(.jev_listrow,.jev_list_row,.jev_eventblock,.jev_event_block,.jev_eventrow,.jev_event_row):hover,
.jevents_body :is(.jev_listrow,.jev_list_row,.jev_eventblock,.jev_event_block,.jev_eventrow,.jev_event_row):hover{
  border-color:#b8cb96;box-shadow:0 12px 28px #30382015;transform:translateY(-2px);
}
#jevents_body :is(.jev_listrow,.jev_list_row,.jev_eventblock,.jev_event_block,.jev_eventrow,.jev_event_row):nth-of-type(even),
.jevents_body :is(.jev_listrow,.jev_list_row,.jev_eventblock,.jev_event_block,.jev_eventrow,.jev_event_row):nth-of-type(even){background:#f8faf3}
#jevents_body :is(.jev_toprow,.jev_top_row,.jev_event_title,.jev_eventtitle,.jev_title,.jev_evtitle),
.jevents_body :is(.jev_toprow,.jev_top_row,.jev_event_title,.jev_eventtitle,.jev_title,.jev_evtitle){
  color:var(--sa-ev-dark);font-size:clamp(18px,2vw,23px);font-weight:750;line-height:1.4;
  margin-bottom:12px;
}
#jevents_body :is(.jev_toprow,.jev_top_row,.jev_event_title,.jev_eventtitle,.jev_title,.jev_evtitle) a,
.jevents_body :is(.jev_toprow,.jev_top_row,.jev_event_title,.jev_eventtitle,.jev_title,.jev_evtitle) a{
  color:var(--sa-ev-dark);font-weight:inherit;text-decoration:none;
}
#jevents_body :is(.jev_toprow,.jev_top_row,.jev_event_title,.jev_eventtitle,.jev_title,.jev_evtitle) a:hover,
.jevents_body :is(.jev_toprow,.jev_top_row,.jev_event_title,.jev_eventtitle,.jev_title,.jev_evtitle) a:hover{color:var(--sa-ev-green)}
#jevents_body :is(.jev_date,.jev_date_time,.jev_datetime,.jev_eventdate,.jev_time,.jev_eventtime,.jev_location,.jev_eventlocation),
.jevents_body :is(.jev_date,.jev_date_time,.jev_datetime,.jev_eventdate,.jev_time,.jev_eventtime,.jev_location,.jev_eventlocation){
  display:inline-flex;align-items:center;gap:7px;margin:0 12px 12px 0;
  color:#536447;font-size:14px;font-weight:650;line-height:1.6;
}
#jevents_body :is(.jev_date,.jev_date_time,.jev_datetime,.jev_eventdate,.jev_time,.jev_eventtime),
.jevents_body :is(.jev_date,.jev_date_time,.jev_datetime,.jev_eventdate,.jev_time,.jev_eventtime){
  background:#edf4e1;border-radius:10px;padding:7px 11px;
}
#jevents_body :is(.jev_description,.jev_eventdescription,.jev_evdescription,.jev_event_desc,.jev_details,.jev_eventdetails),
.jevents_body :is(.jev_description,.jev_eventdescription,.jev_evdescription,.jev_event_desc,.jev_details,.jev_eventdetails){
  color:var(--sa-ev-muted);font-size:15px;line-height:1.75;
}
#jevents_body :is(.jev_description,.jev_eventdescription,.jev_evdescription,.jev_event_desc,.jev_details,.jev_eventdetails) p,
.jevents_body :is(.jev_description,.jev_eventdescription,.jev_evdescription,.jev_event_desc,.jev_details,.jev_eventdetails) p{margin:0 0 13px}
#jevents_body :is(.jev_listrow,.jev_list_row,.jev_eventblock,.jev_event_block,.jev_eventrow,.jev_event_row) a:focus-visible,
.jevents_body :is(.jev_listrow,.jev_list_row,.jev_eventblock,.jev_event_block,.jev_eventrow,.jev_event_row) a:focus-visible{
  outline:3px solid #668000;outline-offset:3px;border-radius:4px;
}
#jevents_body :is(.jev_pagination,.pagination,.jev_nav,.jev_navigation) a,
.jevents_body :is(.jev_pagination,.pagination,.jev_nav,.jev_navigation) a{
  border-radius:10px;padding:7px 11px;
}
#jevents_body :is(.jev_eventdetail,.jev_event_detail,.jev_eventdetails),
.jevents_body :is(.jev_eventdetail,.jev_event_detail,.jev_eventdetails){
  border-radius:20px;border-color:var(--sa-ev-border);line-height:1.75;
}
@media(max-width:680px){
  #jevents_body :is(.jev_listrow,.jev_list_row,.jev_eventblock,.jev_event_block,.jev_eventrow,.jev_event_row),
  .jevents_body :is(.jev_listrow,.jev_list_row,.jev_eventblock,.jev_event_block,.jev_eventrow,.jev_event_row){padding:19px;border-radius:16px}
}
@media(prefers-reduced-motion:reduce){
  #jevents_body :is(.jev_listrow,.jev_list_row,.jev_eventblock,.jev_event_block,.jev_eventrow,.jev_event_row),
  .jevents_body :is(.jev_listrow,.jev_list_row,.jev_eventblock,.jev_event_block,.jev_eventrow,.jev_event_row){transition:none;transform:none}
}

/* Bootstrap-Accordions im Inhaltsbereich – Schulamt 1.0.8.
   Nur Gestaltung: Bootstrap steuert weiterhin Zustand und Aufklappanimation. */
.nf-component .accordion{
  --bs-accordion-color:var(--nf-dark,#303820);
  --bs-accordion-bg:#fff;
  --bs-accordion-border-color:#dce3c5;
  --bs-accordion-border-radius:20px;
  --bs-accordion-inner-border-radius:19px;
  --bs-accordion-btn-color:var(--nf-dark,#303820);
  --bs-accordion-btn-bg:#f8faef;
  --bs-accordion-active-color:var(--nf-dark,#303820);
  --bs-accordion-active-bg:#edf3d5;
  margin:24px 0 32px;
}
.nf-component .accordion > .accordion-item{
  margin:0 0 12px;
  background:#fff;
  border:1px solid #dce3c5;
  border-color:color-mix(in srgb,var(--nf-accent,#668000) 24%,#fff);
  border-radius:20px;
  box-shadow:0 4px 16px #30382008;
}
.nf-component .accordion > .accordion-item:last-child{margin-bottom:0}
.nf-component .accordion .accordion-header{
  margin:0;
  padding:0;
  font:inherit;
  letter-spacing:normal;
}
/* Auch ältere Editor-Inhalte mit einem span um den Button füllen die Zeile. */
.nf-component .accordion .accordion-header > span{display:block}
.nf-component .accordion .accordion-button{
  display:flex;
  align-items:center;
  gap:18px;
  width:100%;
  min-height:68px;
  margin:0;
  padding:18px 24px;
  border:0;
  border-radius:19px;
  background:#f8faef;
  background:color-mix(in srgb,var(--nf-accent,#668000) 5%,#fff);
  color:var(--nf-dark,#303820);
  font-family:inherit;
  font-size:clamp(16px,1.35vw,18px);
  font-weight:700;
  line-height:1.5;
  text-align:start;
  text-decoration:none;
  overflow-wrap:anywhere;
  box-shadow:none;
  transition:background-color .18s ease,box-shadow .18s ease;
}
.nf-component .accordion .accordion-button:hover{
  background:#f0f4dc;
  background:color-mix(in srgb,var(--nf-accent,#668000) 10%,#fff);
}
.nf-component .accordion .accordion-button:not(.collapsed){
  border-radius:19px 19px 0 0;
  background:#edf3d5;
  background:color-mix(in srgb,var(--nf-accent,#668000) 14%,#fff);
  color:var(--nf-dark,#303820);
  box-shadow:inset 4px 0 0 var(--nf-accent,#668000);
}
.nf-component .accordion .accordion-button::after{
  content:"";
  display:block;
  flex:0 0 30px;
  width:30px;
  height:30px;
  margin-inline-start:auto;
  border:1px solid currentColor;
  border-radius:50%;
  background-color:#ffffffb3;
  background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);
  background-size:12px 2px,2px 12px;
  background-position:center;
  background-repeat:no-repeat;
  transform:none;
  transition:none;
}
.nf-component .accordion .accordion-button:not(.collapsed)::after{
  background-size:12px 2px,0 0;
}
.nf-component .accordion .accordion-button:focus{box-shadow:none}
.nf-component .accordion .accordion-button:focus-visible{
  outline:3px solid var(--nf-accent,#668000);
  outline-offset:-5px;
}
.nf-component .accordion .accordion-button:disabled{cursor:default;opacity:.65}
.nf-component .accordion .accordion-body{
  padding:24px 28px 28px;
  color:var(--nf-dark,#303820);
  font-size:16px;
  line-height:1.75;
  overflow-wrap:anywhere;
}
.nf-component .accordion .accordion-body > :last-child{margin-bottom:0}
.nf-component .accordion .accordion-body :is(h3,h4,h5,h6){
  color:var(--nf-dark,#303820);
  font-weight:700;
  line-height:1.4;
}
.nf-component .accordion .accordion-body :is(ul,ol){padding-inline-start:24px}
.nf-component .accordion .accordion-body li + li{margin-top:7px}
@media(max-width:560px){
  .nf-component .accordion > .accordion-item{border-radius:16px}
  .nf-component .accordion .accordion-button{
    min-height:62px;padding:16px;gap:12px;border-radius:15px;
  }
  .nf-component .accordion .accordion-button:not(.collapsed){border-radius:15px 15px 0 0}
  .nf-component .accordion .accordion-body{padding:20px 18px 22px}
}
@media(prefers-reduced-motion:reduce){
  .nf-component .accordion .accordion-button{transition:none}
}
@media print{
  .nf-component .accordion > .accordion-item{box-shadow:none}
  .nf-component .accordion .accordion-collapse{display:block;height:auto}
  .nf-component .accordion .accordion-button::after{display:none}
}

/* Gemeinsamer Accordion-Bereich auf allen Inhaltsseiten – Version 1.0.11.
   Bootstrap sowie native SP-Page-Builder-Gruppen; ohne Seiten- oder Abschnitts-IDs.
   Button- und Einzelkarten-Gestaltung oben bleibt unverändert aus 1.0.8. */
.nf-component :is(.accordion,.sppb-panel-group){
  background:transparent !important;
  border:1px solid #cbd4b7;
  border-radius:24px;
  padding:18px;
  box-shadow:none;
}
/* Die graue Fläche kann auf mehreren verschachtelten Builder-Hüllen liegen.
   Nur Hüllen mit einer Accordion-Gruppe werden transparent. !important ist hier
   gezielt nötig, um generierte Seitenregeln und Inline-Hintergründe zu ersetzen. */
.nf-component :is(.sppb-section,.sppb-section-content,.sppb-container-inner,.sppb-column,.sppb-column-addons,.sppb-addon-wrapper,.sppb-addon,.sppb-addon-content):has(.accordion,.sppb-panel-group),
.nf-component .sppb-section:has(.accordion,.sppb-panel-group) :is(.sppb-section,.sppb-section-content,.sppb-container-inner,.sppb-column,.sppb-column-addons,.sppb-addon-wrapper,.sppb-addon,.sppb-addon-content):not(.accordion *,.sppb-panel-group *){
  background:transparent !important;
  box-shadow:none !important;
}
.nf-component .sppb-section:has(.accordion,.sppb-panel-group) .sppb-row-overlay:not(.accordion *,.sppb-panel-group *){
  background:transparent !important;
}
@media(max-width:560px){
  .nf-component :is(.accordion,.sppb-panel-group){
    border-radius:20px;
    padding:8px;
  }
}


/* Version 1.0.12 – zurückhaltende Logo-Rotakzente auf Basis 1.0.11.
   1px-Linien statt flächiger Rottöne. Kein Eingriff in Accordion-Styles. */
body.nf-soft-red .site-header{border-bottom:1px solid color-mix(in srgb,var(--nf-red-accent,#d40032) 24%,#dce3c5)}
body.nf-soft-red .nfee .nf-hero{position:relative}
body.nf-soft-red .nfee .nf-hero::before{content:"";position:absolute;top:0;left:clamp(18px,3vw,32px);width:28px;height:2px;border-radius:0 0 3px 3px;background:color-mix(in srgb,var(--nf-red-accent,#d40032) 56%,white)}
body.nf-soft-red .nfee .nf-tag{border-left:2px solid color-mix(in srgb,var(--nf-red-accent,#d40032) 38%,white);padding-left:10px}
body.nf-soft-red .nf-component .page-header h1::after,
body.nf-soft-red .nf-component .com-content-article>h1::after{content:"";display:block;width:26px;height:2px;margin-top:12px;background:color-mix(in srgb,var(--nf-red-accent,#d40032) 50%,white);border-radius:3px}
body.nf-soft-red .nf-current>.nf-menu-row>a{border-left:2px solid color-mix(in srgb,var(--nf-red-accent,#d40032) 40%,white)}
/* Logo-rotfarbene Menü-Icons des Ausgangstemplates zurücknehmen. */
body.nf-soft-red .nf-menu-row [class*='icon-'],body.nf-soft-red .nf-menu-row [class*='fa-']{color:color-mix(in srgb,var(--nf-red-accent,#d40032) 28%,#668000)}
@supports not (color:color-mix(in srgb,red 50%,white)){
 body.nf-soft-red .site-header{border-bottom-color:#d9c5c9}
 body.nf-soft-red .nfee .nf-hero::before,body.nf-soft-red .nf-component .page-header h1::after,body.nf-soft-red .nf-component .com-content-article>h1::after{background:#e5a0ae}
 body.nf-soft-red .nfee .nf-tag,body.nf-soft-red .nf-current>.nf-menu-row>a{border-left-color:#e8bac4}
 body.nf-soft-red .nf-menu-row [class*='icon-'],body.nf-soft-red .nf-menu-row [class*='fa-']{color:#7c7653}
}

/* 1.0.13: kleine, rechtsbündige rechtliche Links im Footer */
.site-footer .footer-links{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:12px}
.site-footer .nf-footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 17px;font-size:12px;line-height:1.5}
.site-footer .nf-footer-legal a{font-size:inherit;font-weight:400;color:#59634b;text-decoration:none;text-underline-offset:3px}
.site-footer .nf-footer-legal a:hover,.site-footer .nf-footer-legal a:focus-visible{color:var(--nf-link,#526600);text-decoration:underline}
@media(max-width:650px){.site-footer .footer-links{align-items:flex-start}.site-footer .nf-footer-legal{justify-content:flex-start}}


/* 1.0.14 – Visforms-Frontendtabellen: kontrastreiche, gut lesbare Tabellenköpfe.
   Auf Visforms-Tabellen beschränkt, andere Tabellen bleiben unverändert. */
.nf-component :is(.visforms,.visforms-data,.visforms-table,.visforms-list,.visforms-list-view,.visforms-data-view,.visforms-frontend) table{
 width:100%;border-collapse:separate;border-spacing:0;border:1px solid #dce3c5;
 border-radius:14px;background:#fff;color:#303820;font-size:14px;line-height:1.45;
}
.nf-component :is(.visforms,.visforms-data,.visforms-table,.visforms-list,.visforms-list-view,.visforms-data-view,.visforms-frontend) table :is(thead th,thead td),
.nf-component table.visforms-table :is(thead th,thead td),
.nf-component table[class*="visforms"] :is(thead th,thead td),
.nf-component table[id*="visforms"] :is(thead th,thead td){
 background:#e8efd1 !important;color:#303820 !important;
 border-bottom:2px solid #a6b883 !important;font-weight:700;
 padding:11px 12px;vertical-align:middle;text-align:left;
 white-space:normal;overflow-wrap:anywhere;
}
.nf-component :is(.visforms,.visforms-data,.visforms-table,.visforms-list,.visforms-list-view,.visforms-data-view,.visforms-frontend) table thead th :is(a,span,button,i,svg),
.nf-component table[class*="visforms"] thead th :is(a,span,button,i,svg),
.nf-component table[id*="visforms"] thead th :is(a,span,button,i,svg){color:#303820 !important;fill:currentColor}
.nf-component :is(.visforms,.visforms-data,.visforms-table,.visforms-list,.visforms-list-view,.visforms-data-view,.visforms-frontend) table thead a:hover,
.nf-component table[class*="visforms"] thead a:hover{color:#526600 !important;text-decoration:underline}
.nf-component :is(.visforms,.visforms-data,.visforms-table,.visforms-list,.visforms-list-view,.visforms-data-view,.visforms-frontend) table tbody td,
.nf-component table[class*="visforms"] tbody td{padding:9px 12px;border-bottom:1px solid #e5eadb;color:#303820;vertical-align:top}
.nf-component :is(.visforms,.visforms-data,.visforms-table,.visforms-list,.visforms-list-view,.visforms-data-view,.visforms-frontend) table tbody tr:nth-child(even),
.nf-component table[class*="visforms"] tbody tr:nth-child(even){background:#f8faf3}
.nf-component :is(.visforms,.visforms-data,.visforms-table,.visforms-list,.visforms-list-view,.visforms-data-view,.visforms-frontend) table tbody tr:hover,
.nf-component table[class*="visforms"] tbody tr:hover{background:#f1f5e6}
.nf-component :is(.visforms,.visforms-data,.visforms-table,.visforms-list,.visforms-list-view,.visforms-data-view,.visforms-frontend) table :is(th,td) a{overflow-wrap:anywhere}
@media(max-width:650px){.nf-component :is(.visforms,.visforms-data,.visforms-table,.visforms-list,.visforms-list-view,.visforms-data-view,.visforms-frontend) table{font-size:13px}}

/* 1.0.15 – robust gegen unbekannte Visforms-/DataTables-Klassen und
   nachgeladene Komponenten-Styles: alle regulären Tabellenköpfe im
   Hauptinhalt erhalten eine lesbare Standarddarstellung. */
body .nf-component table thead > tr > th,
body .nf-component table thead > tr > td,
body .nf-component table.dataTable > thead > tr > th,
body .nf-component table.dataTable > thead > tr > td,
body .nf-component .dataTables_wrapper table thead th,
body .nf-component .dataTables_wrapper table thead td,
body .nf-component .visforms table tr:first-child > th,
body .nf-component .visforms-data table tr:first-child > th {
 background-color:#e8efd1 !important;
 background-image:none !important;
 color:#303820 !important;
 -webkit-text-fill-color:#303820 !important;
 font-weight:700 !important;
 border-bottom:2px solid #a6b883 !important;
 text-shadow:none !important;
}
body .nf-component table thead > tr > :is(th,td) :is(a,span,small,strong,b,label,button),
body .nf-component .dataTables_wrapper table thead :is(a,span,small,strong,b,label,button),
body .nf-component .visforms table tr:first-child > th :is(a,span,small,strong,b,label,button) {
 color:#303820 !important;
 -webkit-text-fill-color:#303820 !important;
 text-shadow:none !important;
}
body .nf-component table thead > tr > :is(th,td) a:hover,
body .nf-component table thead > tr > :is(th,td) a:focus-visible {
 color:#526600 !important;
 -webkit-text-fill-color:#526600 !important;
}


/* 1.0.16 – SP Page Builder / Visforms: harmonisierte Tabellen. */
body .nf-component .sppb-addon-table,
body .nf-component .dataTables_wrapper,
body .nf-component :is(.visforms,.visforms-data,.visforms-list,.visforms-table) {max-width:100%;}
body .nf-component .sppb-addon-table .sppb-addon-content {max-width:100%;overflow-x:auto;border:1px solid #dce3c5;border-radius:14px;background:#fff;}
body .nf-component table.sppb-addon-table-main {display:table!important;width:100%;border:0!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;margin:0!important;min-width:620px;}
body .nf-component table.sppb-addon-table-main thead th {background:#e8efd1!important;color:#303820!important;padding:12px 14px!important;border:0!important;border-bottom:1px solid #bac99d!important;vertical-align:middle!important;}
body .nf-component table.sppb-addon-table-main thead th :is(h1,h2,h3,h4,h5,h6,.sppb-addon-title,.sppb-addon-title-icon,i,span,a) {color:#303820!important;-webkit-text-fill-color:#303820!important;text-shadow:none!important;background:transparent!important;}
body .nf-component table.sppb-addon-table-main :is(h5,h6).sppb-addon-title {font-size:.91rem!important;line-height:1.4!important;letter-spacing:normal!important;margin:0!important;font-weight:600!important;text-transform:none!important;}
body .nf-component table.sppb-addon-table-main thead h5.sppb-addon-title {font-size:.91rem!important;font-weight:700!important;}
body .nf-component table.sppb-addon-table-main :is(th,td) .sppb-addon-header {margin:0!important;padding:0!important;background:transparent!important;}
body .nf-component table.sppb-addon-table-main tbody td {background:transparent!important;color:#303820!important;padding:10px 14px!important;border:0!important;border-bottom:1px solid #e7ecde!important;vertical-align:top!important;}
body .nf-component table.sppb-addon-table-main tbody tr:nth-child(even) {background:#f7f9f2!important;}
body .nf-component table.sppb-addon-table-main tbody tr:nth-child(odd) {background:#fff!important;}
body .nf-component table.sppb-addon-table-main tbody tr:hover {background:#eff5e3!important;}
body .nf-component table.sppb-addon-table-main tbody tr:last-child td {border-bottom:0!important;}
body .nf-component table.sppb-addon-table-main :is(th,td):not(:last-child) {border-right:1px solid #edf0e7!important;}
body .nf-component table.sppb-addon-table-main tbody :is(h5,h6,.sppb-addon-title) {color:#303820!important;-webkit-text-fill-color:#303820!important;}
body .nf-component table.sppb-addon-table-main tbody a {color:#526600!important;-webkit-text-fill-color:#526600!important;text-decoration:underline;text-underline-offset:2px;}
body .nf-component table.sppb-addon-table-main tbody a:hover {color:#3b4a00!important;}
body .nf-component table.sppb-addon-table-main thead th:first-child {border-top-left-radius:13px!important;}
body .nf-component table.sppb-addon-table-main thead th:last-child {border-top-right-radius:13px!important;}
body .nf-component table.sppb-addon-table-main tbody tr:last-child td:first-child {border-bottom-left-radius:13px!important;}
body .nf-component table.sppb-addon-table-main tbody tr:last-child td:last-child {border-bottom-right-radius:13px!important;}
/* Visforms: echtes Tabellenlayout beibehalten; Rundung am Tabellenrahmen. */
body .nf-component :is(.visforms,.visforms-data,.visforms-list,.visforms-table) table,
body .nf-component table[class*="visforms"],body .nf-component .dataTables_wrapper table {display:table!important;border-collapse:separate!important;border-spacing:0!important;border:1px solid #dce3c5!important;border-radius:14px!important;background:#fff!important;}
body .nf-component :is(.visforms,.visforms-data,.visforms-list,.visforms-table) table thead th:first-child,
body .nf-component .dataTables_wrapper table thead th:first-child {border-top-left-radius:13px!important;}
body .nf-component :is(.visforms,.visforms-data,.visforms-list,.visforms-table) table thead th:last-child,
body .nf-component .dataTables_wrapper table thead th:last-child {border-top-right-radius:13px!important;}
body .nf-component :is(.visforms,.visforms-data,.visforms-list,.visforms-table) table tbody tr:last-child td:first-child,
body .nf-component .dataTables_wrapper table tbody tr:last-child td:first-child {border-bottom-left-radius:13px!important;}
body .nf-component :is(.visforms,.visforms-data,.visforms-list,.visforms-table) table tbody tr:last-child td:last-child,
body .nf-component .dataTables_wrapper table tbody tr:last-child td:last-child {border-bottom-right-radius:13px!important;}
@media(max-width:700px){body .nf-component table.sppb-addon-table-main :is(th,td){padding:9px 10px!important;}body .nf-component table.sppb-addon-table-main :is(h5,h6).sppb-addon-title{font-size:.85rem!important;}}

/* 1.0.17 – durchgehende, feine Zellrahmen inkl. Spaltenkoepfe.
   Keine doppelten Linien: obere/aeussere Kante vom Tabellenrahmen,
   innere Kanten durch rechte und untere Zellbegrenzungen. */
body .nf-component table.sppb-addon-table-main thead > tr > :is(th,td),
body .nf-component table.sppb-addon-table-main tbody > tr > :is(th,td) {
 border-top:0!important;
 border-left:0!important;
 border-bottom:1px solid #dce3c5!important;
 border-right:1px solid #dce3c5!important;
}
body .nf-component table.sppb-addon-table-main :is(thead,tbody) > tr > :is(th,td):last-child {border-right:0!important;}
body .nf-component table.sppb-addon-table-main tbody > tr:last-child > :is(th,td) {border-bottom:0!important;}
body .nf-component :is(.visforms,.visforms-data,.visforms-list,.visforms-table,.visforms-frontend) table :is(thead,tbody) > tr > :is(th,td),
body .nf-component table[class*="visforms"] :is(thead,tbody) > tr > :is(th,td),
body .nf-component .dataTables_wrapper table :is(thead,tbody) > tr > :is(th,td) {
 border-top:0!important;
 border-left:0!important;
 border-bottom:1px solid #dce3c5!important;
 border-right:1px solid #dce3c5!important;
}
body .nf-component :is(.visforms,.visforms-data,.visforms-list,.visforms-table,.visforms-frontend) table :is(thead,tbody) > tr > :is(th,td):last-child,
body .nf-component table[class*="visforms"] :is(thead,tbody) > tr > :is(th,td):last-child,
body .nf-component .dataTables_wrapper table :is(thead,tbody) > tr > :is(th,td):last-child {border-right:0!important;}
body .nf-component :is(.visforms,.visforms-data,.visforms-list,.visforms-table,.visforms-frontend) table tbody > tr:last-child > :is(th,td),
body .nf-component table[class*="visforms"] tbody > tr:last-child > :is(th,td),
body .nf-component .dataTables_wrapper table tbody > tr:last-child > :is(th,td) {border-bottom:0!important;}

/* 1.0.19 – Joomla-Suche (Smart Search und klassische Suche) */
body.nf-joomla .nf-search-intro{max-width:1100px;margin:0 auto 1.5rem;padding:clamp(22px,4vw,44px);border:1px solid #dce3c5;border-radius:22px;background:linear-gradient(120deg,#fff 55%,#f5f8e8);color:#303820}
body.nf-joomla .nf-search-eyebrow{color:#668000;font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
body.nf-joomla .nf-search-intro h1{margin:.35rem 0 .7rem;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.18;color:#303820}
body.nf-joomla .nf-search-intro p{margin:0;max-width:70ch;line-height:1.65}
body.nf-joomla .nf-search-tips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}
body.nf-joomla .nf-search-tips span{padding:.45rem .8rem;border:1px solid #dce3c5;border-radius:100px;background:#fff;font-size:.92rem}
body.nf-joomla .nf-search-tips strong{color:#526800}
body.nf-joomla .nf-component :is(.com-finder,.finder,.com-search){max-width:1100px;margin-inline:auto;color:#303820}
body.nf-joomla .nf-component :is(.com-finder,.finder,.com-search) form{border:1px solid #dce3c5;border-radius:20px;background:#fff;padding:clamp(18px,3vw,32px);box-shadow:0 7px 24px rgba(48,56,32,.045)}
body.nf-joomla .nf-component :is(.com-finder,.finder,.com-search) :is(input[type="search"],input[type="text"],select){max-width:100%;min-height:44px;border:1px solid #cbd6ad;border-radius:10px;background:#fff;color:#303820;padding:.55rem .8rem}
body.nf-joomla .nf-component :is(.com-finder,.finder,.com-search) :is(input,select):focus-visible{outline:3px solid #a9bc65;outline-offset:2px}
body.nf-joomla .nf-component :is(.com-finder,.finder,.com-search) :is(button[type="submit"],.btn-primary){border-radius:10px;background:#668000;border-color:#668000;color:#fff}
body.nf-joomla .nf-component :is(.com-finder,.finder,.com-search) :is(.result-title,.result__title,.search-result__title) a{color:#526800;font-weight:700}
body.nf-joomla .nf-component :is(.com-finder,.finder,.com-search) :is(.result-title,.result__title,.search-result__title) a:hover{text-decoration:underline}
@media(max-width:600px){body.nf-joomla .nf-search-tips{flex-direction:column;align-items:flex-start}}


/* 1.0.20 – harmonisierte Gestaltung der Startseite / Teamseite.
   Nur Standard-Joomla-Elemente; individuelle SP-Page-Builder-Bloecke behalten ihre Farben. */
body.nf-design-2026 {
  --nf-petrol:#146c80; --nf-sage:#427b62; --nf-gold:#c48b29;
  --nf-olive:#668000; --nf-red-soft:#a64c46;
  --nf-design-line:#dce3c5; --nf-design-ink:#303820;
}
body.nf-design-2026 .nf-component :is(.page-header,.com-content-article__header,.category-desc) {
  border-radius:18px;
}
body.nf-design-2026 .nf-component :is(.com-content-category-blog,.com-content-category,.com-tags-tag) > h1,
body.nf-design-2026 .nf-component :is(.page-header,.com-content-article__header) > h1 {
  color:var(--nf-design-ink);
}
body.nf-design-2026 .nf-component :is(.com-content-category-blog,.com-content-category) > h1::after,
body.nf-design-2026 .nf-component :is(.page-header,.com-content-article__header) > h1::after {
  content:""; display:block; width:74px; height:4px; margin-top:12px;
  border-radius:99px; background:linear-gradient(90deg,var(--nf-petrol) 0 35%,var(--nf-sage) 35% 65%,var(--nf-gold) 65% 85%,var(--nf-olive) 85%);
}
body.nf-design-2026 .nf-component :is(.com-content-category-blog,.com-content-category) .blog-item,
body.nf-design-2026 .nf-component :is(.com-content-category-blog,.com-content-category) .com-content-category-blog__item {
  background:#fff; border:1px solid var(--nf-design-line); border-radius:18px;
  padding:clamp(16px,2vw,24px); overflow:hidden;
}
body.nf-design-2026 .nf-component :is(.com-content-category-blog,.com-content-category) .blog-item:nth-child(4n+1){border-top:3px solid var(--nf-petrol)}
body.nf-design-2026 .nf-component :is(.com-content-category-blog,.com-content-category) .blog-item:nth-child(4n+2){border-top:3px solid var(--nf-sage)}
body.nf-design-2026 .nf-component :is(.com-content-category-blog,.com-content-category) .blog-item:nth-child(4n+3){border-top:3px solid var(--nf-gold)}
body.nf-design-2026 .nf-component :is(.com-content-category-blog,.com-content-category) .blog-item:nth-child(4n){border-top:3px solid var(--nf-olive)}
body.nf-design-2026 .nf-component :is(.pagination,.com-content-category-blog__pagination) a {border-radius:9px}
/* Scroll-to-Top: bewusst ausserhalb des Inhaltsflusses und ohne externe Abhaengigkeit. */
body.nf-joomla .nf-scroll-top {
  position:fixed; right:max(18px,env(safe-area-inset-right));
  bottom:max(22px,env(safe-area-inset-bottom)); z-index:900;
  display:grid; place-items:center; width:50px; height:50px;
  border:1px solid #dce3c5; border-radius:16px; color:#fff;
  background:#146c80; box-shadow:0 6px 20px rgba(20,60,66,.22);
  cursor:pointer; transition:background .2s ease,transform .2s ease;
}
body.nf-joomla .nf-scroll-top[hidden] {display:none!important}
body.nf-joomla .nf-scroll-top:hover {background:#427b62;transform:translateY(-2px)}
body.nf-joomla .nf-scroll-top:focus-visible {outline:3px solid #c48b29;outline-offset:3px}
@media(max-width:600px){body.nf-joomla .nf-scroll-top{width:44px;height:44px;right:14px;bottom:18px;border-radius:13px}}
@media(prefers-reduced-motion:reduce){body.nf-joomla .nf-scroll-top{transition:none}}


/* Version 1.0.21 – Off-Canvas im Farbschema der Startseite. Nur Dialogmenü. */
.menu-dialog{border:1px solid #dce3c5!important;border-radius:24px 0 0 24px!important;background:#fff!important;box-shadow:-16px 0 60px rgba(36,53,59,.18)!important;max-height:100dvh;color:#303820}
.menu-dialog::backdrop{background:rgba(28,43,47,.52);backdrop-filter:blur(3px)}
.menu-dialog .nf-navigation{background:#fff!important;border:0!important;border-radius:0!important;padding:clamp(16px,3vw,26px)!important;max-width:none!important;margin:0!important}
.menu-dialog .drawer-top{padding:4px 0 17px;border-bottom:1px solid #dce3c5;margin-bottom:18px;align-items:center;gap:14px}
.menu-dialog .drawer-top img{max-width:min(205px,62vw);height:auto}
.menu-dialog .drawer-body>h2{font-size:clamp(22px,2.3vw,28px);line-height:1.2;color:#303820;margin:4px 0 18px;padding-bottom:13px;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#146c80 0 25%,#427b62 25% 50%,#c48b29 50% 75%,#a64c46 75% 100%) 1}
.menu-dialog .nf-menu{gap:7px}
.menu-dialog .nf-menu-row{gap:7px;align-items:center}
.menu-dialog .nf-menu-row>a,.menu-dialog .nf-menu-row>span{background:#fff!important;border:1px solid #dce3c5;border-radius:14px!important;min-height:48px;padding:11px 13px;font-size:16px;font-weight:650;color:#303820;transition:background-color .18s,border-color .18s,color .18s}
.menu-dialog .nf-menu-row>a::after{color:#146c80;opacity:.75}
.menu-dialog .nf-menu-row>a:hover{background:#f1f7f5!important;border-color:#a7c5bd;color:#146c80}
.menu-dialog .nf-menu-row>a:focus-visible,.menu-dialog .nf-submenu-toggle:focus-visible,.menu-dialog .menu-close:focus-visible,.menu-dialog .drawer-portal:focus-visible{outline:3px solid #146c80;outline-offset:3px}
.menu-dialog .nf-current>.nf-menu-row>a{background:#edf6f4!important;border-color:#146c80;color:#146c80}
.menu-dialog .nf-active-branch:not(.nf-current)>.nf-menu-row>a{border-color:#9fbeb5;color:#427b62}
.menu-dialog .nf-menu>.nf-menu-item:nth-child(4n+1)>.nf-menu-row>a{border-left:4px solid #146c80}
.menu-dialog .nf-menu>.nf-menu-item:nth-child(4n+2)>.nf-menu-row>a{border-left:4px solid #427b62}
.menu-dialog .nf-menu>.nf-menu-item:nth-child(4n+3)>.nf-menu-row>a{border-left:4px solid #c48b29}
.menu-dialog .nf-menu>.nf-menu-item:nth-child(4n)>.nf-menu-row>a{border-left:4px solid #a64c46}
.menu-dialog .nf-submenu{border-left:2px solid #dce3c5;margin:6px 0 13px 16px;padding-left:12px;gap:5px}
.menu-dialog .nf-submenu .nf-menu-row>a{font-size:14.5px;font-weight:500;min-height:40px;border-color:#e7e9df;border-left:1px solid #e7e9df!important;border-radius:11px!important}
.menu-dialog .nf-submenu-toggle{width:42px;height:42px;background:#fff;border:1px solid #dce3c5;border-radius:12px;color:#146c80}
.menu-dialog .nf-submenu-toggle:hover{background:#edf6f4;border-color:#146c80}
.menu-dialog .nf-separator{border-top-color:#dce3c5}
.menu-dialog .nf-separator>.nf-menu-row>span{border:0!important;background:transparent!important;color:#427b62}
.menu-dialog .drawer-portal{background:#f1f7f5;border:1px solid #a7c5bd;border-radius:17px;color:#146c80;transition:background-color .18s}
.menu-dialog .drawer-portal:hover{background:#e5f1ee}
.menu-dialog .nf-drawer-extra{margin:18px 0}
.menu-dialog .menu-close{border-radius:12px;border:1px solid #dce3c5;background:#fff;color:#303820}
.menu-dialog .menu-close:hover{background:#f5f8e8}
@media(max-width:650px){.menu-dialog{width:100%!important;max-width:100%!important;border-radius:0!important}.menu-dialog .nf-navigation{padding:16px!important}}
@media(prefers-reduced-motion:reduce){.menu-dialog .nf-menu-row>a,.menu-dialog .drawer-portal{transition:none}}

/* v1.0.22: kontrastreiche Beschriftung der Portal-Kachel */
.menu-dialog a.drawer-portal,.menu-dialog a.drawer-portal:visited{color:#075269!important;background:#f1f7f5!important;border-color:#a7c5bd!important}
.menu-dialog a.drawer-portal strong,.menu-dialog a.drawer-portal strong span{color:#075269!important;opacity:1!important}
.menu-dialog a.drawer-portal>span{display:block;color:#354c45!important;opacity:1!important;font-size:14px;line-height:1.55;margin-top:4px}
.menu-dialog a.drawer-portal:hover,.menu-dialog a.drawer-portal:focus-visible{background:#e5f1ee!important}
