:root {
  /* Core site palette: default NewingtonWeather blue. */
  --nw-primary:#3173B1;
  --nw-primary-dark:#073A59;
  --nw-primary-hover:#255F96;
  --nw-secondary:#5B9AD2;
  --nw-accent:#19A9DF;
  --nw-link:#336699;
  --nw-link-hover:#0B527B;
  --nw-page-bg:#F3F2EB;
  --nw-content-bg:#FFFFFF;
  --nw-card-bg:#FFFFFF;
  --nw-card-border:#D9E4EC;
  --nw-soft-bg:#F8FBFD;
  --nw-text:#000000;
  --nw-body-text:#17344D;
  --nw-muted:#657F92;
  --nw-subheader:#666666;
  --nw-on-primary:#FFFFFF;
  --nw-border:rgb(216,210,195);
  --nw-divider:#E7EEF3;
  --nw-table-head:#96C6F5;
  --nw-table-alt:#F1F8FE;
  --nw-section-head-top:#11628E;
  --nw-section-head-bottom:#0D496E;
  --nw-card-shadow:0 6px 18px rgba(10,48,73,.08);
  --nw-live:#44E075;
  --nw-live-glow:rgba(68,224,117,.75);

  /* Semantic weather/status colors stay constant across holidays. */
  --nw-watch:#FF9900;
  --nw-advisory:#FFCC00;
  --nw-warning:#CC0000;
  --nw-status-top:#35B85D;
  --nw-status-middle:#249647;
  --nw-status-bottom:#157837;
  --nw-status-hover-top:#49C86F;
  --nw-status-hover-middle:#2BA653;
  --nw-status-hover-bottom:#188440;
  --nw-status-border:#8EE6A8;
  --nw-status-glow:rgba(53,184,93,.35);

  /* Modern homepage defaults - intentionally match the current site. */
  --nw-home-head-top:#104D76;
  --nw-home-head-bottom:#0A3658;
  --nw-home-head-small:#9FE4FF;
  --nw-home-link:#0876AA;
  --nw-home-muted:#4C687B;
  --nw-home-body-text:#244B63;
  --nw-home-strong:#0B527B;
  --nw-callout-border:#CFE1EC;
  --nw-callout-top:#F9FDFF;
  --nw-callout-bottom:#EDF7FC;
  --nw-callout-text:#31576E;

  /* Site-wide modern footer. */
  --nw-footer-bg:#082D49;
  --nw-footer-top:#0D4568;
  --nw-footer-middle:#082D49;
  --nw-footer-bottom:#061F34;
  --nw-footer-accent:#117EAE;
  --nw-footer-text:#DCEAF3;
  --nw-footer-heading:#FFFFFF;
  --nw-footer-subtitle:#A9C9DB;
  --nw-footer-muted:#B7CFDD;
  --nw-footer-nav:#6F9DB6;
  --nw-footer-disclaimer:#8FB3C7;
  --nw-footer-link:#55C9FF;
  --nw-footer-link-decoration:rgba(85,201,255,.55);
  --nw-footer-rule:rgba(180,218,239,.18);
  --nw-footer-card-border:rgba(180,218,239,.22);
  --nw-footer-card-hover:#56C9F2;
  --nw-footer-card-text:#123F5E;
  --nw-footer-textlogo:#0E527D;
  --nw-footer-button-top:#248CFF;
  --nw-footer-button-middle:#1769D5;
  --nw-footer-button-bottom:#084DA7;
  --nw-footer-button-hover-top:#45A5FF;
  --nw-footer-button-hover-middle:#1977E8;
  --nw-footer-button-hover-bottom:#0753B9;
  --nw-footer-button-border:#8FD5FF;
  --nw-footer-button-glow:rgba(61,166,255,.55);
  --nw-footer-credit-top:rgba(18,88,148,.90);
  --nw-footer-credit-bottom:rgba(4,43,80,.95);
  --nw-footer-credit-border:rgba(126,205,255,.75);
  --nw-footer-credit-glow:rgba(49,161,235,.35);
  --nw-footer-download:#FFFF39;
}

/* Legacy template bridge. */
body{color:var(--nw-text);background-color:var(--nw-page-bg)}
#page,#main-copy,#blog-main{color:var(--nw-text);background-color:var(--nw-content-bg)}
#header,.leftSideBar .sideBarTitle,.ajaxDashboard .datahead,.ajaxDashboard .datahead2,
.menuLinkSelectedhoriz,.menuLinkSelected{background-color:var(--nw-primary)}
.headerTitle a,.headerTitle span,.headerTemp,.leftSideBar .sideBarTitle,
.ajaxDashboard .datahead,.ajaxDashboard .datahead2,.menuLinkSelectedhoriz,
.menuLinkSelected{color:var(--nw-on-primary)}
.subHeader,.subHeaderRight{color:var(--nw-on-primary);background-color:var(--nw-subheader)}
.leftSideBar a,.leftSideBar a:visited,#main-copy a,#blog-main a{color:var(--nw-link)}
.leftSideBar a:hover{color:var(--nw-on-primary);background-color:var(--nw-primary-hover)}
.ajaxSidebar h2{color:var(--nw-on-primary);background-color:var(--nw-secondary)}
.ajaxSidebar .data{color:var(--nw-primary)}
#main-copy,#blog-main,#main-copy h1,#blog-main h1{border-color:var(--nw-border)}
.table-top{color:var(--nw-text);background-color:var(--nw-table-head)}
.column-dark,.thread-alt,#sidebar{background-color:var(--nw-table-alt)}
.column-light,.thread-even,.ajaxSidebar,.ajaxSidebar .meas,.ajaxSidebar .data,
.ajaxSidebar td,.ajaxDashboard .data1,.ajaxDashboard .data2,.ajaxDashboard td{background-color:var(--nw-content-bg)}
#footer{color:var(--nw-text);background-color:var(--nw-footer-bg)}
.watchBox{background-color:var(--nw-watch)}
.advisoryBox{background-color:var(--nw-advisory)}
.warningBox,.tornadowarningBox{background-color:var(--nw-warning)}

/* Reusable modern page components. New pages should use these classes. */
.nw-page{
  max-width:1500px;
  margin:0 auto;
  padding:20px 18px 28px;
  box-sizing:border-box;
  color:var(--nw-body-text);
  font-family:Arial,Helvetica,sans-serif;
}
.nw-panel{
  overflow:hidden;
  background:var(--nw-card-bg);
  border:1px solid var(--nw-card-border);
  border-radius:14px;
  box-shadow:var(--nw-card-shadow);
}
.nw-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 15px;
  color:var(--nw-on-primary);
  background:linear-gradient(180deg,var(--nw-section-head-top),var(--nw-section-head-bottom));
}
#main-copy .nw-panel-title{
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:var(--nw-on-primary)!important;
  background:none!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1.2!important;
}
.nw-panel-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--nw-on-primary);
  white-space:nowrap;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}
.nw-live-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--nw-live);
  box-shadow:0 0 8px var(--nw-live-glow);
}
.nw-panel-intro{
  padding:12px 16px;
  color:var(--nw-muted);
  background:var(--nw-card-bg);
  border-bottom:1px solid var(--nw-divider);
  font-size:13px;
  line-height:1.5;
}
.nw-panel-body{padding:14px;background:var(--nw-soft-bg)}
.nw-panel-inner{
  overflow:hidden;
  padding:14px;
  text-align:center;
  background:var(--nw-card-bg);
  border:1px solid var(--nw-card-border);
  border-radius:11px;
}
.nw-panel-foot{
  padding:10px 14px 12px;
  color:var(--nw-muted);
  text-align:center;
  background:var(--nw-card-bg);
  border-top:1px solid var(--nw-divider);
  font-size:12px;
}

/* Forecast output alignment; the forecast provider controls its inner layout. */
.nw-forecast-inner > div,
.nw-forecast-inner > table,
.nw-forecast-inner > form,
.nw-forecast-inner > p{margin-left:auto!important;margin-right:auto!important}
.nw-forecast-inner table{max-width:100%;margin-left:auto!important;margin-right:auto!important}
.nw-forecast-inner img{max-width:100%;height:auto}
.nw-forecast-inner [style*="width"],
.nw-forecast-inner [width]{margin-left:auto;margin-right:auto}

/* Site-wide modern footer. */
#footer.nw-footer{
  clear:both!important;
  float:none!important;
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  display:block!important;
  width:100vw!important;
  max-width:none!important;
  min-width:0!important;
  margin:34px 0 0!important;
  padding:0!important;
  box-sizing:border-box!important;
  color:var(--nw-footer-text)!important;
  background:linear-gradient(180deg,var(--nw-footer-top) 0%,var(--nw-footer-middle) 48%,var(--nw-footer-bottom) 100%)!important;
  border-top:4px solid var(--nw-footer-accent)!important;
  box-shadow:0 -8px 28px rgba(8,46,72,.08);
  font-family:Arial,Helvetica,sans-serif;
}
#footer.nw-footer::before{content:"";display:table;clear:both}
.nw-footer-inner{
  position:relative!important;
  left:50vw!important;
  transform:translateX(-50%)!important;
  width:min(1400px,calc(100vw - 40px))!important;
  max-width:none!important;
  margin:0!important;
  padding:30px 0 22px!important;
  box-sizing:border-box!important;
}
.nw-footer-title{margin:0;color:var(--nw-footer-heading);font-size:22px;line-height:1.15;font-weight:900;text-align:center}
.nw-footer-subtitle{max-width:1150px;margin:7px auto 20px;color:var(--nw-footer-subtitle);font-size:13px;line-height:1.45;text-align:center;white-space:nowrap}
.nw-partner-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.nw-partner-card{
  min-height:94px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  box-sizing:border-box;
  padding:12px 10px;
  color:var(--nw-footer-card-text)!important;
  background:var(--nw-card-bg)!important;
  border:1px solid var(--nw-footer-card-border);
  border-radius:12px;
  box-shadow:0 5px 16px rgba(0,0,0,.12);
  text-decoration:none;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.nw-partner-card:hover,.nw-partner-card:focus{transform:translateY(-3px);border-color:var(--nw-footer-card-hover);box-shadow:0 9px 22px rgba(0,0,0,.20);outline:none}
.nw-partner-logo{width:100%;height:56px;display:flex;align-items:center;justify-content:center}
.nw-partner-logo img{display:block;max-width:165px;max-height:56px;width:auto;height:auto;object-fit:contain}
.nw-partner-name{display:none}
.nw-partner-textlogo{display:flex;align-items:center;justify-content:center;min-height:56px;color:var(--nw-footer-textlogo)!important;font-size:18px;line-height:1.05;font-weight:900;text-align:center}
.nw-friends{margin-top:22px;padding-top:20px;border-top:1px solid var(--nw-footer-rule)}
.nw-friends-title{margin:0 0 11px;color:var(--nw-footer-heading);font-size:15px;font-weight:900;text-align:center}
.nw-friends-row{display:flex;justify-content:center}
.nw-friend-card{width:min(280px,100%);min-height:88px}
.nw-friend-card .nw-partner-logo img{max-width:190px;max-height:52px}
.nw-footer-meta{margin-top:24px;padding-top:18px;color:var(--nw-footer-muted);text-align:center;border-top:1px solid var(--nw-footer-rule);font-size:12px;line-height:1.65}
.nw-footer-nav{margin-bottom:10px;color:var(--nw-footer-nav)}
.nw-footer-nav a{margin:0 6px}
.nw-footer-disclaimer{margin-top:0;color:var(--nw-footer-disclaimer);font-size:11px;line-height:1.45}
.nw-mobile-wrap{margin:10px 0 8px;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}
.nw-mobile-button,.nw-status-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 22px;color:#FFF!important;border-radius:24px;font-size:15px;font-weight:800;text-decoration:none!important}
.nw-mobile-button{border:1px solid var(--nw-footer-button-border);background:linear-gradient(180deg,var(--nw-footer-button-top) 0%,var(--nw-footer-button-middle) 48%,var(--nw-footer-button-bottom) 100%);box-shadow:0 0 12px var(--nw-footer-button-glow),inset 0 1px 0 rgba(255,255,255,.35)}
.nw-mobile-button:hover,.nw-mobile-button:focus{color:#FFF!important;background:linear-gradient(180deg,var(--nw-footer-button-hover-top) 0%,var(--nw-footer-button-hover-middle) 48%,var(--nw-footer-button-hover-bottom) 100%)}
.nw-status-button{border:1px solid var(--nw-status-border);background:linear-gradient(180deg,var(--nw-status-top) 0%,var(--nw-status-middle) 48%,var(--nw-status-bottom) 100%);box-shadow:0 0 12px var(--nw-status-glow),inset 0 1px 0 rgba(255,255,255,.30)}
.nw-status-button:hover,.nw-status-button:focus{color:#FFF!important;background:linear-gradient(180deg,var(--nw-status-hover-top) 0%,var(--nw-status-hover-middle) 48%,var(--nw-status-hover-bottom) 100%)}
.nw-copyright{margin-top:5px;color:var(--nw-footer-heading);font-size:13px}
.nw-ajax-credit{max-width:1250px;margin:10px auto 0;padding:8px 14px;display:flex;justify-content:center;align-items:center;gap:8px;box-sizing:border-box;color:var(--nw-footer-heading);font-size:11px;line-height:1.35;background:linear-gradient(180deg,var(--nw-footer-credit-top),var(--nw-footer-credit-bottom));border:1px solid var(--nw-footer-credit-border);border-radius:12px;box-shadow:0 0 10px var(--nw-footer-credit-glow),inset 0 1px 0 rgba(255,255,255,.12)}
.nw-ajax-credit .nw-download{color:var(--nw-footer-download)!important;white-space:nowrap}
#footer.nw-footer a,#footer.nw-footer a:link,#footer.nw-footer a:visited{color:var(--nw-footer-link)!important;text-decoration-color:var(--nw-footer-link-decoration)!important}
#footer.nw-footer a:hover,#footer.nw-footer a:focus{color:var(--nw-footer-heading)!important;text-decoration-color:var(--nw-footer-heading)!important;text-decoration:underline}

@media(max-width:1100px){.nw-footer-subtitle{white-space:normal}.nw-partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.nw-page{padding:12px 10px 22px}#main-copy .nw-panel-title{font-size:16px!important}.nw-panel-body{padding:8px}.nw-panel-inner{padding:8px}}
@media(max-width:700px){.nw-footer-inner{width:calc(100vw - 24px)!important;padding-top:24px!important}.nw-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}
@media(max-width:440px){.nw-partner-grid{grid-template-columns:1fr}}
