html{scroll-behavior:smooth}
.ui-toggle{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;pointer-events:none}
label[for]{cursor:pointer}
.duration-400{transition-duration:.4s}

.ns-reveal.ns-in{opacity:1}

.icon-x{display:none}
#mnav-open:checked~* .icon-menu{display:none}
#mnav-open:checked~* .icon-x{display:block}
#mnav-open:checked~.ns-shell .mnav-root{visibility:visible}
#mnav-open:checked~.ns-shell .mnav-overlay{opacity:1}
#mnav-open:checked~.ns-shell .mnav-panel{transform:translateX(0)}
body:has(#mnav-open:checked){overflow:hidden}
@media (min-width:1024px){
  body:has(#mnav-open:checked){overflow:auto}
  .mnav-root{visibility:hidden!important;pointer-events:none!important}
}

.mnav-sub{display:none}
#mnav-svc:checked~.mnav-sub,
#mnav-serve:checked~.mnav-sub{display:block}
#mnav-svc:checked+label .nav-chev,
#mnav-serve:checked+label .nav-chev{transform:rotate(180deg)}

.mega-panel{display:none}
@media (min-width:1024px){
  .site-hdr:has(.mega-services:hover) .panel-services,
  .site-hdr:has(.panel-services:hover) .panel-services,
  .site-hdr:has(.mega-serve:hover) .panel-serve,
  .site-hdr:has(.panel-serve:hover) .panel-serve{display:block}
  .site-hdr:has(.mega-services:hover) .mega-services .nav-chev,
  .site-hdr:has(.panel-services:hover) .mega-services .nav-chev,
  .site-hdr:has(.mega-serve:hover) .mega-serve .nav-chev,
  .site-hdr:has(.panel-serve:hover) .mega-serve .nav-chev{transform:rotate(180deg)}
}

.quote-thanks{display:none}
#quote-sent:checked~.quote-form{display:none}
#quote-sent:checked~.quote-thanks{display:block}

.svc-acc>summary{list-style:none}
.svc-acc>summary::-webkit-details-marker{display:none}
.svc-acc .ico-minus{display:none}
.svc-acc[open] .ico-plus{display:none}
.svc-acc[open] .ico-minus{display:grid}

.scroll-top{opacity:0;transform:translateY(1rem);pointer-events:none}

@supports (animation-timeline:scroll()){
  .site-hdr{
    animation:ns-header linear both;
    animation-timeline:scroll();
    animation-range:0 24px;
  }
  .hdr-brand{
    animation:ns-hdr-brand linear both;
    animation-timeline:scroll();
    animation-range:0 24px;
  }
  .hdr-sub{
    animation:ns-hdr-sub linear both;
    animation-timeline:scroll();
    animation-range:0 24px;
  }
  .hdr-link{
    animation:ns-hdr-link linear both;
    animation-timeline:scroll();
    animation-range:0 24px;
  }
  .hdr-menu{
    animation:ns-hdr-menu linear both;
    animation-timeline:scroll();
    animation-range:0 24px;
  }
  .scroll-top{
    animation:ns-totop linear both;
    animation-timeline:scroll();
    animation-range:0 600px;
  }
}
@keyframes ns-header{
  to{
    background:#ffffffb8;
    -webkit-backdrop-filter:blur(16px) saturate(160%);
    backdrop-filter:blur(16px) saturate(160%);
    box-shadow:0 10px 40px -12px #0021472e;
    border-bottom:1px solid #0021471a;
  }
}
@keyframes ns-hdr-brand{to{color:#002147}}
@keyframes ns-hdr-sub{to{color:#00214799}}
@keyframes ns-hdr-link{to{color:#002147cc}}
@keyframes ns-hdr-menu{to{color:#002147}}
@keyframes ns-totop{
  to{opacity:1;transform:translateY(0);pointer-events:auto}
}
