/*
Theme Name: DK Framework
Theme URI:
Description: Universelles Hello Elementor Child Framework mit Design-Presets für unterschiedliche Websites.
Author: Derk Klein & OpenAI
Template: hello-elementor
Version: 21.1.1
Text Domain: newpro-framework
Requires at least: 6.4
Requires PHP: 8.0
*/

:root {
  --np-primary: #169bd5;
  --np-secondary: #111111;
  --np-accent: #169bd5;
  --np-page-bg: #d8edf6;
  --np-container-bg: #ffffff;
  --np-text: #222222;
  --np-link: #137fb0;
  --np-link-hover: #0c5f86;
  --np-nav-bg: #111111;
  --np-nav-text: #ffffff;
  --np-nav-hover: #169bd5;
  --np-footer-bg: #111111;
  --np-footer-text: #ffffff;
  --np-width: 1200px;
  --np-radius: 0px;
  --np-shadow: 0 10px 30px rgba(0,0,0,.18);
  --np-content-pad: 24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.newpro-framework{margin:0;background:var(--np-page-bg);color:var(--np-text)}
a{color:var(--np-link)}a:hover{color:var(--np-link-hover)}
.np-site-shell{width:min(calc(100% - 32px),var(--np-width));margin:24px auto;background:var(--np-container-bg);border-radius:var(--np-radius);box-shadow:var(--np-shadow);overflow:hidden}
.np-site-header{background:var(--np-container-bg)}
.np-topbar{padding:8px 18px;text-align:center;background:var(--np-secondary);color:#fff;font-size:14px}
.np-header-inner{min-height:160px;display:flex;align-items:center;justify-content:center;padding:20px;background-position:center;background-size:cover;background-repeat:no-repeat}
.np-branding{text-align:center}.np-branding img{max-width:100%;height:auto}.np-site-title{margin:0;font-size:clamp(30px,5vw,58px);line-height:1}.np-site-title a{color:inherit;text-decoration:none}.np-tagline{margin:10px 0 0}
.np-menu-toggle{display:none;width:100%;border:0;border-radius:0;padding:14px 18px;background:var(--np-nav-bg);color:var(--np-nav-text);font-weight:700;text-align:left}
.np-main-nav{background:var(--np-nav-bg);border-bottom:4px solid var(--np-accent)}
.np-main-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}.np-main-nav li{margin:0}.np-main-nav a{display:block;padding:15px 18px;color:var(--np-nav-text);text-decoration:none;font-weight:700}.np-main-nav a:hover,.np-main-nav .current-menu-item>a,.np-main-nav .current_page_item>a{background:var(--np-nav-hover);color:#fff}
.np-content{min-height:320px;padding:var(--np-content-pad)}
.np-content.np-elementor-content{padding:0}
.np-site-footer{padding:28px 22px;background:var(--np-footer-bg);color:var(--np-footer-text);text-align:center}.np-site-footer a{color:inherit}.np-footer-widgets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;text-align:left;margin-bottom:24px}.np-footer-widgets:empty{display:none}.np-footer-note{margin:8px 0}.np-copyright{margin:0}
.np-onair{display:flex;gap:14px;align-items:center;justify-content:center;padding:10px 16px;background:var(--np-primary);color:#fff;font-weight:700}.np-onair a{color:#fff}.np-onair-dot{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:npPulse 1.8s infinite}@keyframes npPulse{70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.np-scroll-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border:0;border-radius:50%;background:var(--np-accent);color:#fff;font-size:22px;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s;z-index:999}.np-scroll-top.is-visible{opacity:1;visibility:visible;transform:none}
.alignwide{max-width:calc(var(--np-width) - 80px);margin-left:auto;margin-right:auto}.alignfull{width:100%;max-width:none}
@media(max-width:1024px){.np-site-shell{width:min(calc(100% - 20px),var(--np-width));margin:10px auto}.np-footer-widgets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.np-site-shell{width:100%;margin:0;border-radius:0}.np-header-inner{min-height:110px;padding:14px}.np-menu-toggle{display:block}.np-main-nav{display:none}.np-main-nav.is-open{display:block}.np-main-nav ul{display:block}.np-main-nav a{border-top:1px solid rgba(255,255,255,.12)}.np-content{padding:18px}.np-footer-widgets{grid-template-columns:1fr}}

/* V21.0.1: Saubere Desktop-Dropdowns statt dauerhaft sichtbarer Untermenüs */
@media (min-width:768px){
  .np-main-nav .menu,
  .np-main-nav > ul{
    align-items:stretch;
  }
  .np-main-nav li{
    position:relative;
  }
  .np-main-nav .sub-menu,
  .np-main-nav .children{
    position:absolute;
    top:100%;
    left:0;
    z-index:1000;
    display:block;
    min-width:210px;
    margin:0;
    padding:0;
    background:var(--np-nav-bg);
    border-top:3px solid var(--np-accent);
    box-shadow:0 10px 24px rgba(0,0,0,.22);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(8px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  .np-main-nav .sub-menu .sub-menu,
  .np-main-nav .children .children{
    top:0;
    left:100%;
  }
  .np-main-nav li:hover > .sub-menu,
  .np-main-nav li:focus-within > .sub-menu,
  .np-main-nav li:hover > .children,
  .np-main-nav li:focus-within > .children{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .np-main-nav .sub-menu li,
  .np-main-nav .children li{
    width:100%;
  }
  .np-main-nav .sub-menu a,
  .np-main-nav .children a{
    width:100%;
    padding:12px 16px;
    white-space:nowrap;
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .np-main-nav .menu-item-has-children > a::after,
  .np-main-nav .page_item_has_children > a::after{
    content:' ▾';
    font-size:.8em;
  }
  .np-main-nav .sub-menu .menu-item-has-children > a::after,
  .np-main-nav .children .page_item_has_children > a::after{
    content:' ›';
    float:right;
  }
}

@media(max-width:767px){
  .np-main-nav .sub-menu,
  .np-main-nav .children{
    display:block;
    margin:0;
    padding:0 0 0 18px;
    background:rgba(255,255,255,.05);
  }
  .np-main-nav .sub-menu a,
  .np-main-nav .children a{
    padding:12px 18px;
    font-weight:600;
  }
}
