/* Mobile content layout. Do not clip document overflow or disable browser zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.nf-joomla :is(.nf-page-shell,.site-main,.nf-container,.nf-content-layout,.nf-component,.nf-sidebar){min-width:0}
body.nf-joomla .nf-component :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,address){overflow-wrap:anywhere;hyphens:auto}
body.nf-joomla .nf-component :is(h1,h2,h3,h4,h5,h6){max-width:100%;white-space:normal}
body.nf-joomla .nf-component :is(img,video,iframe,embed,object){max-width:100%}
body.nf-joomla .nf-component pre{max-width:100%;overflow-x:auto;white-space:pre}
body.nf-joomla .nf-table-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;margin-block:1rem}
body.nf-joomla .nf-table-scroll:focus-visible{outline:2px solid #146c80;outline-offset:3px}
body.nf-joomla .nf-table-scroll>table{margin-block:0}
@media screen and (max-width:900px){
 body.nf-joomla .nf-component img{height:auto}
 body.nf-joomla .nf-component :is(.nfee,.snl-home,.nl-schools-overview,#scha-service){min-width:0;max-width:100%}
 body.nf-joomla .nf-component :is(.sppb-container,.sppb-container-inner,.sppb-row-container,.sppb-column,.sppb-column-addons,.sppb-addon-wrapper,.sppb-addon-content){min-width:0;max-width:100%}
 body.nf-joomla .nf-component :is(h1,.sppb-addon-title:is(h1)){font-size:clamp(1.625rem,4.6vw,2.125rem)!important;line-height:1.16!important;white-space:normal!important}
 body.nf-joomla .nf-component h2{font-size:clamp(1.375rem,3.8vw,1.75rem)!important;line-height:1.22!important;white-space:normal!important}
 body.nf-joomla .nf-component h3{font-size:clamp(1.125rem,3.2vw,1.375rem)!important;line-height:1.3!important;white-space:normal!important}
 body.nf-joomla .nf-component h4{font-size:1.125rem!important;line-height:1.35!important}
 body.nf-joomla .nf-component h5{font-size:1rem!important;line-height:1.4!important}
 body.nf-joomla .nf-component h6{font-size:.9375rem!important;line-height:1.4!important}
 body.nf-joomla .nf-component :is(h1,h2,h3,h4,h5,h6) :is(span,strong,b,em){font-size:inherit!important;line-height:inherit!important;white-space:normal!important}
 body.nf-joomla .nf-component :is(.nf-lead,.lead){font-size:1rem!important;line-height:1.65!important}
 body.nf-joomla .nf-component :is(.btn,.nf-btn,.nso-action,.svc-btn){max-width:100%;white-space:normal!important;overflow-wrap:anywhere;text-align:center}
 body.nf-joomla .nf-component :is(.nf-actions,.actions,.svc-actions){max-width:100%;flex-wrap:wrap}
 body.nf-joomla .nf-component :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),select,textarea){min-width:0;max-width:100%}
 body.nf-joomla .site-footer{min-width:0;grid-template-columns:minmax(0,1fr);overflow-wrap:anywhere}
 /* The homepage article has its own styles and inline half-width columns. */
 body.nf-joomla #snl-start.snl-home .snl-home-top{flex-flow:column nowrap!important;gap:18px!important;min-width:0!important}
 body.nf-joomla #snl-start.snl-home .snl-home-top>:is(.hero,.office-film){flex:0 0 auto!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important}
 body.nf-joomla #snl-start.snl-home .snl-home-top>.hero{padding:22px!important}
 body.nf-joomla #snl-start.snl-home .snl-home-top>.office-film{height:clamp(210px,45vw,350px)!important}
 body.nf-joomla #snl-start.snl-home .office-film-video{height:100%}
 body.nf-joomla #snl-start.snl-home :is(.feature,.contact){grid-template-columns:minmax(0,1fr)}
 body.nf-joomla #snl-start.snl-home :is(.feature-main,.feature-side,.contact>*,.hero-inner){min-width:0}
 body.nf-joomla #snl-start.snl-home :is(.grid,.grid.three){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media screen and (max-width:650px){
 body.nf-joomla{font-size:16px;line-height:1.6}
 body.nf-joomla .site-main{padding-top:14px}
 body.nf-joomla .nf-container,body.nf-joomla .nf-page-framed .nf-container{padding-inline:12px}
 body.nf-joomla .nf-component :is(.com-content-article,.com-content-category-blog){padding-block:12px}
 body.nf-joomla .nf-component .nfee{padding-inline:0;font-size:16px}
 body.nf-joomla .nf-component :is(.nf-hero,.nf-panel,.nf-banner,.nf-card,.nf-note,.nf-bank){padding:20px;min-width:0}
 body.nf-joomla .nf-component :is(.nf-split,.nf-grid,.nf-grid.two,.nf-gallery){grid-template-columns:minmax(0,1fr)}
 body.nf-joomla .nf-component :is(.nf-section,.nf-below-content){margin-top:28px}
 body.nf-joomla .nf-component .nf-tag{font-size:11px;letter-spacing:.08em;overflow-wrap:anywhere}
 body.nf-joomla .nf-component :is(.nf-card strong,.nf-art b){font-size:20px;overflow-wrap:anywhere}
 body.nf-joomla .nf-component .nf-art{padding:22px 20px}
 body.nf-joomla .nf-component .nf-steps li{padding:18px;grid-template-columns:minmax(0,1fr)}
 body.nf-joomla .nf-component :is(.nf-actions,.actions){align-items:stretch}
 body.nf-joomla .nf-component :is(.nf-actions,.actions)>.btn,body.nf-joomla .nf-component .nf-actions>.nf-btn{width:100%}
 body.nf-joomla #snl-start.snl-home :is(.grid,.grid.three,.feature-side,.contact){grid-template-columns:minmax(0,1fr)}
 body.nf-joomla #snl-start.snl-home :is(.tile,.feature-main,.strip,.contact){padding:20px}
 body.nf-joomla #snl-start.snl-home :is(section.panel,.feature,.strip,.contact){margin-top:28px}
 body.nf-joomla #snl-start.snl-home .btn{width:100%;padding:10px 14px;min-height:44px}
 body.nf-joomla #snl-start.snl-home .eyebrow{font-size:11px;letter-spacing:.07em;overflow-wrap:anywhere}
 body.nf-joomla #snl-start.snl-home .office-film-controls{right:10px;bottom:10px;gap:8px;padding:7px 9px}
 body.nf-joomla #scha-service :is(.svc-intro,.svc-feature,.svc-card,.svc-contact,.svc-fibs){padding:20px}
 body.nf-joomla #scha-service .svc-hero,body.nf-joomla #scha-service .svc-grid{grid-template-columns:minmax(0,1fr)}
 body.nf-joomla #scha-service .svc-lead{font-size:16px}
 body.nf-joomla #scha-service .svc-eyebrow{overflow-wrap:anywhere;letter-spacing:.07em}
 body.nf-joomla .nf-sidebar :is(.card,.moduletable){padding:20px}
 body.nf-joomla .site-footer{margin-inline:12px;padding-top:24px}
 body.nf-joomla #site-menu .drawer-body>h2{font-size:19px;letter-spacing:.04em}
}

/* Compact button labels, while retaining usable touch targets. */
@media screen and (max-width:900px){
 body.nf-joomla .nf-component :is(button,input[type=submit],input[type=button],input[type=reset],.btn,.nf-btn,.sppb-btn,.nso-action,.svc-btn,[role=button]){font-size:.875rem!important;line-height:1.4!important;white-space:normal!important;overflow-wrap:anywhere;min-height:44px}
 body.nf-joomla .nf-component :is(button,.btn,.nf-btn,.sppb-btn,.nso-action,.svc-btn,[role=button]) :is(span,strong,b):not([class*="icon"]):not([class*="fa"]):not(.svc-arrow){font-size:inherit!important;line-height:inherit!important}
 body.nf-joomla .nf-component :is(.btn-text,.sppb-btn-text){font-size:inherit!important;line-height:inherit!important}
 body.nf-joomla #snl-start.snl-home .tile .arrow,body.nf-joomla .nfee .nf-card .nf-go{font-size:.875rem!important;line-height:1.45}
 body.nf-joomla #site-menu .nf-menu-row>a,body.nf-joomla #site-menu .nf-menu-row>span{font-size:14px!important;line-height:1.4;min-height:44px}
 body.nf-joomla #site-menu .nf-submenu .nf-menu-row>a{font-size:13.5px!important}
 body.nf-joomla #site-menu .drawer-portal strong{font-size:14px!important;line-height:1.4}
 body.nf-joomla #site-menu .drawer-portal>span{font-size:13px!important;line-height:1.5}
}
