/* TeamCMP visual migration proposal.
   Design values below are selectively derived from the captured source site.
   The source CMS/framework CSS is NOT copied wholesale. */
:root {
  --site-primary:#0f314c;
  --site-accent:#0065b2;
  --site-footer:#0f314c;
  --site-header-text:#ffffff;
  --site-accent-text:#000000;
  --site-bg:rgb(255, 255, 255);
  --site-shell-width:1440px;
  --site-logo-height:100px;
  --site-logo-width:400px;
  --site-footer-logo-width:355px;
  --site-footer-logo-height:89px;
  --site-surface:#ffffff;
  --site-text:#333333;
  --site-body-size:16px;
  --site-body-line:24px;
  --site-h1-size:28px;
  --site-h2-size:28px;
  --site-h3-size:1.35rem;
  --site-h1-line:33.6px;
  --site-h2-line:25px;
  --site-h3-line:1.2;
  --site-h1-weight:700;
  --site-h2-weight:600;
  --site-h3-weight:600;
  --site-button-radius:3px;
  --site-button-size:16px;
  --site-button-weight:500;
  --site-button-line:16px;
  --site-button-pt:12px;
  --site-button-pr:24px;
  --site-button-pb:12px;
  --site-button-pl:24px;
  --site-button-letter:normal;
  --site-button-transform:none;
  --site-nav-radius:0px;
  --site-nav-link-size:16px;
  --site-nav-link-weight:600;
  --site-nav-link-line:20px;
  --site-nav-link-pt:13px;
  --site-nav-link-pr:13px;
  --site-nav-link-pb:13px;
  --site-nav-link-pl:13px;
  --site-muted:#66727d;
  --site-border:#d7dde2;
  --site-content-width:1300px;
  --site-nav-bg:#0f314c;
  --site-nav-text:rgb(255, 255, 255);
  --site-radius:6px;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
  background:var(--site-bg);
  color:var(--site-text);
  font-family:-apple-system, Arial, Helvetica, sans-serif;
  font-size:var(--site-body-size);
  line-height:var(--site-body-line);
}
.site-shell-boxed .site-header-shell,.site-shell-boxed .home-content,.site-shell-boxed .source-derived-subpage,.site-shell-boxed .site-footer {
  width:100%;
  max-width:var(--site-shell-width);
  margin-left:auto;
  margin-right:auto;
}
.site-shell-boxed .site-header-shell,.site-shell-boxed .home-content,.site-shell-boxed .source-derived-subpage {
  box-shadow:0 0 0 1px rgba(0,0,0,.02);
}
h1,h2,h3,h4,h5,h6 {
  font-family:-apple-system, Arial, Helvetica, sans-serif;
  color:var(--site-primary);
}
h1 {
  font-size:var(--site-h1-size);
  line-height:var(--site-h1-line);
  font-weight:var(--site-h1-weight);
}
h2 {
  font-size:var(--site-h2-size);
  line-height:var(--site-h2-line);
  font-weight:var(--site-h2-weight);
}
h3 {
  font-size:var(--site-h3-size);
  line-height:var(--site-h3-line);
  font-weight:var(--site-h3-weight);
}
h4,h5,h6 {
  line-height:1.2;
  font-weight:var(--site-h3-weight);
}
a {
  color:var(--site-accent);
  text-decoration-thickness:.08em;
  text-underline-offset:.12em;
}
a:hover {
  color:var(--site-primary);
}
a:focus,button:focus,input:focus,select:focus,textarea:focus {
  outline:3px solid #f0a500;
  outline-offset:2px;
}
.skip-nav {
  position:absolute;
  left:0;
  top:-100px;
  z-index:9999;
  padding:.65rem 1rem;
  background:#fff;
  color:#000;
}
.skip-nav:focus {
  top:0;
}
.site-header-shell {
  position:relative;
  z-index:1100;
}
.utility-bar {
  background:#0065b2;
  color:#fff;
  font-size:.84rem;
}
.utility-inner {
  max-width:var(--site-content-width);
  margin:0 auto;
  min-height:42px;
  padding:.35rem 1rem;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:.65rem;
  flex-wrap:wrap;
}
.utility-bar a {
  color:#fff;
  text-decoration:none;
}
.utility-bar .utility-action {
  background:#fff;
  color:#0f314c;
  border:1px solid rgba(255,255,255,.65);
  padding:.28rem .7rem;
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  border-radius:2px;
}
.utility-bar .utility-action:hover {
  background:#0f314c;
  color:#fff;
}
.utility-bar .utility-social {
  display:inline-flex;
  width:30px;
  height:30px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-size:1.05rem;
}
.site-navbar {
  position:sticky;
  top:0;
  z-index:1050;
  background:#0f314c;
  border:0;
  padding:.45rem max(1rem,calc((100% - 1300px)/2));
  box-shadow:0 2px 8px rgba(0,0,0,.13);
}
.site-header-shell.source-header-overlay {
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  z-index:1200;
  background:transparent;
}
.site-header-shell.source-header-overlay .utility-bar {
  background:transparent;
}
.site-header-shell.source-header-overlay .utility-inner {
  min-height:38px;
  color:#fff;
  padding-top:.25rem;
  padding-bottom:.1rem;
}
.site-header-shell.source-header-overlay .site-navbar {
  position:relative;
  top:auto;
  background:transparent;
  box-shadow:none;
  padding-top:.1rem;
  padding-bottom:.5rem;
}
.site-header-shell.source-header-overlay .navbar-collapse {
  flex-grow:0;
  margin-left:auto;
  background:#0f314c!important;
  padding:0 .55rem;
  border-radius:0px;
  box-shadow:none;
}
.site-header-shell.source-header-overlay .site-navbar .nav-link {
  color:rgb(255, 255, 255)!important;
}
.site-header-shell.source-header-overlay + .source-derived-subpage .migration-subpage-hero {
  padding-top:max(9rem,calc(100px + 5rem))!important;
}
.site-header-shell.source-header-overlay + .home-content > .hero-feature-section:first-child {
  padding-top:max(9rem,calc(100px + 5rem))!important;
}
.site-brand {
  flex:0 0 22.87%;
  width:22.87%;
  max-width:22.87%;
  padding:.1rem 1rem .1rem 0;
  margin-right:1.5rem;
}
.site-brand img {
  display:block;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain;
}
.site-brand-text {
  font-weight:700;
  font-size:1.15rem;
  color:rgb(255, 255, 255);
}
.site-navbar .navbar-collapse {
  background:#0f314c;
  border-radius:0px;
  box-shadow:none;
}
.site-navbar .navbar-nav {
  align-items:stretch;
}
.site-navbar .nav-link {
  color:rgb(255, 255, 255)!important;
  font-weight:600;
  font-size:16px;
  line-height:20px;
  padding:13px 13px 13px 13px!important;
}
.site-navbar .nav-link:hover,.site-navbar .nav-item.show>.nav-link {
  background:#0065b2;
  color:#000000!important;
}
.site-navbar .dropdown-menu {
  border:0;
  border-radius:0 0 var(--site-radius) var(--site-radius);
  box-shadow:0 8px 22px rgba(0,0,0,.16);
  margin-top:0;
  min-width:16rem;
  padding:.35rem 0;
}
.site-navbar .dropdown-item {
  color:var(--site-primary);
  padding:.55rem 1rem;
  white-space:normal;
}
.site-navbar .dropdown-item:hover,.site-navbar .dropdown-item:focus {
  background:var(--site-accent);
  color:var(--site-accent-text);
}
.site-navbar .form-control {
  min-width:150px;
  background:#fff;
}
.site-navbar .btn-outline-primary {
  border-color:var(--site-accent);
  color:var(--site-accent)!important;
  background:#fff;
}
.content {
  max-width:var(--site-content-width);
  margin:0 auto;
  padding:2.2rem 1.5rem 3rem;
  background:var(--site-surface);
  min-height:50vh;
}
.home-content {
  max-width:none;
  margin:0;
  padding:0;
  overflow:hidden;
}
.subpage-content {
  margin-top:1.5rem;
  margin-bottom:1.5rem;
  border-radius:var(--site-radius);
  box-shadow:0 1px 5px rgba(0,0,0,.05);
}
.source-derived-subpage {
  max-width:none;
  margin:0;
  padding:0;
  background:transparent;
  border-radius:0;
  box-shadow:none;
  overflow:hidden;
}
.source-derived-subpage .migration-subpage-hero {
  min-height:260px;
  display:flex;
  align-items:flex-end;
  padding:2.75rem max(1rem,calc((100% - var(--site-content-width))/2))!important;
  background-position:center!important;
  background-size:cover!important;
}
.source-derived-subpage .migration-subpage-hero > .layout-container {
  align-items:flex-end;
}
.source-derived-subpage .migration-subpage-hero[style*="background"] h1 {
  color:#fff;
  font-size:clamp(2rem,3.5vw,3.6rem);
  text-shadow:0 1px 3px rgba(0,0,0,.18);
}
.source-derived-subpage .migration-subpage-main {
  padding:2.5rem max(1rem,calc((100% - var(--site-content-width))/2))!important;
  background:#fff;
}
.source-derived-subpage .migration-subpage-main > .layout-container {
  align-items:flex-start;
}
.source-derived-subpage .migration-subpage-content-column:not([class*="col-md-"]) {
  flex:1 1 68%;
  max-width:70%;
}
.source-derived-subpage .migration-subpage-sidebar:not([class*="col-md-"]) {
  flex:0 0 30%;
  max-width:30%;
}
.source-derived-subpage .migration-subpage-sidebar {
  align-self:flex-start;
}
.source-derived-subpage .migration-subpage-sidebar .content-widget {
  margin-bottom:.8rem;
}
.source-derived-subpage .migration-subpage-sidebar .source-card {
  min-height:0;
  aspect-ratio:1.34 / 1;
  border-radius:0;
  margin:0 0 .8rem;
  padding:0;
}
.source-derived-subpage .migration-subpage-sidebar .source-card-content {
  padding:1rem;
  height:100%;
  min-height:0!important;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start!important;
}
.source-derived-subpage .migration-subpage-sidebar .source-card-content h1,.source-derived-subpage .migration-subpage-sidebar .source-card-content h2,.source-derived-subpage .migration-subpage-sidebar .source-card-content h3 {
  font-size:clamp(1.05rem,1.5vw,1.45rem);
}
.source-derived-subpage .migration-subpage-sidebar .source-card-content h1,.source-derived-subpage .migration-subpage-sidebar .source-card-content h2,.source-derived-subpage .migration-subpage-sidebar .source-card-content h3 {
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
}
.BreadCrumbs {
  margin-bottom:1rem;
  font-size:.88rem;
  color:var(--site-muted);
}
.site-section {
  position:relative;
  width:100%;
  padding:1.35rem 0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.home-content > .site-section {
  padding:1.75rem max(1rem,calc((100% - var(--site-content-width))/2));
}
.home-content .site-section .site-section {
  padding:.65rem 0;
}
.layout-container {
  width:100%;
  max-width:var(--site-content-width);
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
}
.layout-column {
  padding:.75rem;
  min-width:0;
}
.layout-column:not([class*="col-md-"]):not([class*="col-lg-"]):not([class*="col-xl-"]) {
  flex:1 1 0;
}
.widget-stack,.content-widget {
  width:100%;
}
.content-widget {
  margin-bottom:.55rem;
}
.content-image img {
  display:block;
  margin-left:auto;
  margin-right:auto;
}
.content-button .btn,.elementor-button,.btn-primary {
  background:#0065b2;
  border-color:#0065b2;
  color:#000000!important;
  border-radius:3px;
  font-size:16px;
  font-weight:500;
  line-height:16px;
  letter-spacing:normal;
  text-transform:none;
  padding:12px 24px 12px 24px;
}
.content-button .btn:hover,.btn-primary:hover {
  background:#0f314c;
  border-color:#0f314c;
  color:#ffffff!important;
}
/* Reconstructed source design patterns. */
.decorative-band {
  min-height:18px;
  padding:.55rem 0!important;
}
.news-feature-section {
  padding:0!important;
}
.news-feature-section > .layout-container {
  max-width:none;
  padding:0;
}
.news-feature-section > .layout-container > .layout-column {
  padding:0;
  flex:0 0 100%;
  max-width:100%;
}
.news-feature-section .widget-stack,.news-feature-section .content-widget {
  margin:0;
}
.shortcut-nav-section {
  padding:1.65rem max(1rem,calc((100% - var(--site-content-width))/2))!important;
}
.shortcut-nav-section .layout-container {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(126px,1fr));
  gap:1rem;
  align-items:center;
  justify-items:center;
}
.shortcut-nav-section .layout-column {
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.shortcut-nav-section .widget-stack,.shortcut-nav-section .content-widget {
  height:100%;
  margin:0;
}
.shortcut-nav-section .service-card {
  width:min(100%,142px);
  aspect-ratio:1/1;
  min-height:0;
  margin:0 auto;
  padding:.75rem;
  border-radius:50%;
  border:0;
  box-shadow:none;
  display:grid;
  place-items:center;
  text-align:center;
  background:#fff;
  color:var(--site-primary);
}
.shortcut-nav-section .service-card-front {
  min-height:0;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.25rem;
  padding:.65rem;
}
.shortcut-nav-section .service-card-front img {
  width:58px!important;
  max-height:58px;
  object-fit:contain;
  margin:0 auto .2rem;
}
.shortcut-nav-section .service-card-front span {
  font-size:.72rem;
  line-height:1.15;
  font-weight:700;
  color:var(--site-primary);
}
.shortcut-nav-section .service-card-back {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.8rem;
  border-radius:50%;
  opacity:0;
  background:var(--site-primary);
  transition:opacity .18s ease;
  text-decoration:none;
}
.shortcut-nav-section .service-card:hover .service-card-back,.shortcut-nav-section .service-card:focus-within .service-card-back {
  opacity:1;
}
.shortcut-nav-section .service-card-back .btn {
  background:transparent;
  border:1px solid #fff;
  color:#fff!important;
  font-size:.72rem;
  padding:.4rem .7rem;
}
.feature-triptych-section {
  padding-top:1.4rem!important;
  padding-bottom:1.4rem!important;
}
.feature-triptych-section > .layout-container {
  align-items:stretch;
}
.feature-triptych-section .layout-column {
  display:flex;
}
.feature-triptych-section .widget-stack {
  display:flex;
  flex-direction:column;
  height:100%;
}
.feature-triptych-section .content-widget[style*="background-image"] {
  min-height:430px;
  height:100%;
}
.feature-triptych-section .content-widget[style*="background-image"] .service-card {
  min-height:430px;
  height:100%;
  justify-content:flex-end;
  padding:1.5rem;
}
.feature-triptych-section .content-widget[style*="background-image"] .service-card-front {
  min-height:0;
  height:100%;
  justify-content:flex-end;
  position:relative;
  z-index:1;
}
.feature-triptych-section .content-widget[style*="background-image"] .service-card-back {
  position:absolute;
  inset:0;
  z-index:2;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:1.5rem;
  background:rgba(15,49,76,.82);
  opacity:0;
  transition:opacity .2s ease;
}
.feature-triptych-section .content-widget[style*="background-image"] .service-card:hover .service-card-back,.feature-triptych-section .content-widget[style*="background-image"] .service-card:focus-within .service-card-back {
  opacity:1;
}
.feature-triptych-section .content-widget[style*="background-image"] .service-card h2 {
  font-size:1.55rem;
  padding: 2rem;
}
.feature-info-column {
  background:#eef0f2;
  padding:1.35rem!important;
}
.feature-info-column .content-image img {
  max-width:150px;
  margin:0 auto .8rem;
}
.feature-info-column h2 {
  font-size:1.05rem;
  margin:.65rem 0 .25rem;
  color:#111;
}
.feature-info-column ul {
  padding-left:1.15rem;
  margin-bottom:.45rem;
  font-size:.86rem;
  line-height:1.35;
}
.banner-cta-section {
  max-width:var(--site-content-width);
  margin:0 auto;
  padding:1.2rem 1rem!important;
  background:var(--site-primary)!important;
  text-align:center;
}
.banner-cta-section h1,.banner-cta-section h2,.banner-cta-section h3,.banner-cta-section a {
  color:#fff!important;
  margin:0;
}
.banner-cta-section h2 {
  font-size:1.3rem;
}
.split-feature-section {
  padding-top:2rem!important;
  padding-bottom:2rem!important;
}
.split-feature-section > .layout-container {
  align-items:top;
}
.split-feature-section .content-image img {
  max-height:520px;
  object-fit:contain;
}
.source-position-context {
  position:relative!important;
}
.source-position-context {
  position:relative;
  isolation:isolate;
}
.source-position-context > .layout-container,.source-position-context > .widget-stack {
  position:relative;
  z-index:1;
}
.source-position-context > .content-widget:not(.migration-decorative-absolute):not(.source-absolute), .source-position-context > .layout-column:not(.migration-decorative-absolute):not(.source-absolute) {
  position:relative;
  z-index:1;
}
.source-absolute {
  pointer-events:none;
}
.migration-decorative-absolute {
  position:absolute!important;
  left:var(--migration-decorative-left,-6%)!important;
  right:var(--migration-decorative-right,auto)!important;
  top:var(--migration-decorative-top,auto)!important;
  bottom:var(--migration-decorative-bottom,0)!important;
  width:var(--migration-decorative-width,min(34%,300px))!important;
  max-width:var(--migration-decorative-max-width,300px)!important;
  z-index:0!important;
  opacity:.72;
}
.migration-decorative-absolute img {
  width:100%!important;
  height:auto!important;
}
.migration-decorative-layer {
  display:block;
  pointer-events:none;
}
.hero-feature-section {
  color:#fff;
  min-height:470px;
  display:flex;
  align-items:center;
}
.hero-feature-section > .layout-container {
  align-items:center;
}
.hero-feature-section h1,.hero-feature-section h2,.hero-feature-section h3 {
  color:#fff;
}
.hero-feature-section .floating-card-column {
  align-self:flex-end;
  background:#fff;
  color:var(--site-text);
  padding:2rem!important;
  box-shadow:0 8px 26px rgba(0,0,0,.16);
  transform:translateY(28%);
  z-index:4;
}
.hero-feature-section .floating-card-column h1,.hero-feature-section .floating-card-column h2,.hero-feature-section .floating-card-column h3 {
  color:var(--site-primary);
}
.calendar-feature-section {
  padding:2.5rem max(1rem,calc((100% - var(--site-content-width))/2))!important;
}
.teamcmp-calendar-feature {
  display:grid;
  grid-template-columns:minmax(210px,320px) 1fr;
  gap:2rem;
  align-items:center;
}
.teamcmp-calendar-card {
  background:#fff;
  border:1px solid var(--site-border);
  box-shadow:0 4px 16px rgba(0,0,0,.08);
  padding:1.25rem;
}
.teamcmp-calendar-date {
  display:block;
  margin:-1.25rem -1.25rem 1rem;
  padding:.55rem .85rem;
  background:var(--site-accent);
  color:var(--site-accent-text);
  font-weight:700;
  font-size:.84rem;
}
.teamcmp-calendar-card h3 {
  margin:.2rem 0 1rem;
  font-size:1.15rem;
}
.teamcmp-calendar-actions {
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
}
.source-gradient-section {
  overflow:hidden;
  position:relative;
}
.recovered-gradient-section {
  background:linear-gradient(45deg,var(--migration-recovered-color,var(--site-primary)) 0 58%,#fff 58% 100%)!important;
}
.recovered-gradient-section > .layout-container {
  position:relative;
  z-index:2;
}
.recovered-gradient-section > .layout-container > .content-heading:first-child h1,.recovered-gradient-section > .layout-container > .content-heading:first-child h2,.recovered-gradient-section > .layout-container > .content-heading:first-child h3 {
  color:var(--site-text)!important;
}
.migration-card-row {
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1rem;
  width:100%;
  max-width:100%!important;
}
.migration-card-row > .content-widget,.migration-card-row > .layout-column {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.migration-card-row.source-photo-card-row {
  gap:0;
}
.service-card,.feature-card,.source-card {
  position:relative;
  min-height:180px;
  background:#fff;
  border:1px solid var(--site-border);
  border-radius:var(--site-radius);
  overflow:hidden;
  box-shadow:0 3px 12px rgba(0,0,0,.08);
  padding:1.2rem;
  margin:.5rem 0;
}
.source-photo-card-row .source-card {
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  color:#fff;
}
.source-photo-card-row .source-card-content {
  padding:1.25rem 1.35rem;
  color:#fff;
  height:100%;
  min-height:0!important;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start!important;
}
.source-photo-card-row .source-card-content h1,.source-photo-card-row .source-card-content h2,.source-photo-card-row .source-card-content h3 {
  color:#fff;
  margin:0 0 .3rem;
  text-shadow:0 1px 2px rgba(0,0,0,.42);
}
.source-photo-card-row .source-card-content .btn {
  display:inline-block;
  align-self:flex-start!important;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  color:#fff!important;
  padding:0;
  font-size:.78rem;
  font-weight:500;
  text-decoration:none;
}
.service-card-front {
  min-height:180px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background-position:center;
  background-size:cover;
  border-radius:var(--site-radius);
}
.service-card-back {
  padding:1rem 0 0;
}
.content-widget[style*="background-image"] {
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  border-radius:var(--site-radius);
  overflow:hidden;
}
.content-widget[style*="background-image"] .service-card {
  background:rgba(15,49,76,.68);
  color:#fff;
  border:0;
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.content-widget[style*="background-image"] .service-card h1,.content-widget[style*="background-image"] .service-card h2,.content-widget[style*="background-image"] .service-card h3 {
  color:#fff;
}
.source-card {
  min-height:220px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background-position:center;
  background-size:cover;
}
.source-card-bg {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  z-index:0!important;
}
.source-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 38%,rgba(0,0,0,.58) 100%);
  z-index:1;
  pointer-events:none;
}
.source-card-content {
  position:relative;
  z-index:2;
  padding:1rem;
}
.source-news-list {
  max-width:var(--site-content-width);
  margin:0 auto;
  padding:1rem;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1rem;
}
.source-news-item {
  background:#fff;
  border:1px solid var(--site-border);
  border-radius:var(--site-radius);
  padding:1.2rem;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.source-news-item h3 {
  font-size:1.15rem;
  margin:0 0 1rem;
}
.teamcmp-news-hero {
  width:100%;
  background:#102d43;
  color:#fff;
}
.teamcmp-news-hero .carousel-item {
  min-height:520px;
  background-color:#233745;
  background-position:center;
  background-size:cover;
}
.teamcmp-news-hero .news-hero-overlay {
  min-height:520px;
  display:flex;
  align-items:center;
  background:linear-gradient(90deg,rgba(3,20,33,.78) 0%,rgba(3,20,33,.48) 52%,rgba(3,20,33,.22) 100%);
}
.teamcmp-news-hero .news-hero-content {
  width:100%;
  max-width:var(--site-content-width);
  margin:0 auto;
  padding:4rem 5.5rem;
}
.teamcmp-news-hero .news-hero-category {
  display:inline-block;
  margin-bottom:.75rem;
  padding:.3rem .65rem;
  background:var(--site-accent);
  color:#fff;
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
}
.teamcmp-news-hero h2 {
  max-width:850px;
  margin:0 0 1.3rem;
  color:#fff;
  font-size:clamp(1.8rem,3.1vw,3.35rem);
  line-height:1.08;
}
.teamcmp-news-hero h2 a {
  color:#fff;
  text-decoration:none;
}
.teamcmp-news-hero .news-hero-readmore {
  display:inline-block;
  padding:.6rem 1rem;
  background:var(--site-accent);
  color:#fff!important;
  font-weight:700;
  text-decoration:none;
}
.teamcmp-news-hero .carousel-control-prev,.teamcmp-news-hero .carousel-control-next {
  width:5%;
  min-width:42px;
}
.migration-icon-list {
  list-style:none;
  margin:0;
  padding:0;
}
.migration-icon-list li {
  list-style:none;
  margin:0 0 .8rem;
  padding:0;
}
.migration-icon-list li::marker {
  content:"";
}
.migration-icon-list a {
  display:flex;
  align-items:center;
  gap:.65rem;
  color:#333333;
  text-decoration:none;
}
.migration-icon-list a:hover {
  color:#0f314c;
  text-decoration:underline;
}
.migration-icon-list .migration-inline-icon {
  width:1em!important;
  height:1em!important;
  max-width:1em!important;
  max-height:1em!important;
  flex:0 0 1em;
  fill:currentColor;
  vertical-align:-.125em;
}
.migration-subpage-content-slot .migration-icon-list span:first-child {
  color:#0f314c;
  display:inline-flex;
}
.teamcmp-import-form {
  width:100%;
  max-width:100%;
  margin-top:2rem;
}
.teamcmp-import-form .teamcmp-form-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1rem;
  width:100%;
}
.teamcmp-import-form.teamcmp-form-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1rem;
}
.teamcmp-import-form .teamcmp-form-field {
  grid-column:1 / -1;
  min-width:0;
  margin:0;
}
.teamcmp-import-form .teamcmp-form-half {
  grid-column:span 6;
}
.teamcmp-import-form .teamcmp-form-third {
  grid-column:span 4;
}
.teamcmp-import-form .teamcmp-form-quarter {
  grid-column:span 3;
}
.teamcmp-import-form .teamcmp-form-full {
  grid-column:1 / -1;
}
.teamcmp-import-form label,.teamcmp-import-form legend {
  display:block;
  margin:0 0 .35rem;
  font-weight:500;
  color:#333333;
}
.teamcmp-import-form .teamcmp-form-control {
  display:block;
  width:100%;
  min-height:42px;
  padding:.55rem .7rem;
  border:1px solid #d5d5d5;
  border-radius:0;
  background:#fff;
  color:#333333;
  font:inherit;
}
.teamcmp-import-form textarea.teamcmp-form-control {
  min-height:150px;
  resize:vertical;
}
.teamcmp-import-form select.teamcmp-form-control {
  height:auto;
}
.teamcmp-import-form .teamcmp-form-choice {
  margin-right:.45rem;
}
.teamcmp-import-form .teamcmp-form-actions {
  margin-top:1rem;
}
.teamcmp-import-form .teamcmp-form-submit {
  justify-self:start;
  margin-top:.25rem;
}
@media (max-width:767.98px) {
  .teamcmp-import-form .teamcmp-form-half,.teamcmp-import-form .teamcmp-form-third,.teamcmp-import-form .teamcmp-form-quarter {
    grid-column:1 / -1;
  }
}
.content img {
  max-width:100%;
  height:auto;
}
.content iframe {
  max-width:100%;
  border:0;
}
.content table {
  width:100%;
  border-collapse:collapse;
}
.content th,.content td {
  border:1px solid #aaa;
  padding:.55rem;
  vertical-align:top;
}
.content blockquote {
  border-left:4px solid var(--site-accent);
  padding:.4rem 1rem;
  color:#4a5560;
  background:#f8fafb;
}
.site-footer {
  background:var(--site-footer);
  color:#fff;
  margin:0;
  padding:3.25rem 1.5rem 2.5rem;
}
.site-footer.source-derived-footer {
  padding:0;
  overflow:hidden;
}
.site-footer.source-derived-footer > .site-section {
  width:100%;
  max-width:none;
  margin:0;
  border-radius:0;
}
.site-footer.source-derived-footer > .site-section > .layout-container {
  max-width:var(--site-content-width);
  margin:0 auto;
}
.site-footer .migration-inline-widget-row {
  display:flex!important;
  flex-wrap:nowrap;
  justify-content:space-between;
  align-items:center;
  gap:2rem;
}
.site-footer .migration-inline-widget-row > .content-widget {
  flex:0 0 auto;
  margin:0;
}
.site-footer .migration-inline-widget-row > .content-widget:last-child {
  margin-left:auto;
}
.footer-inner {
  max-width:var(--site-content-width);
  margin:0 auto;
}
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4 {
  color:#fff;
}
.site-footer a {
  color:#fff;
  text-decoration:underline;
}
.site-footer img {
  max-width:340px;
  height:auto;
}
.site-footer .migration-inline-widget-row > .content-image:first-child img {
  width:355px!important;
  height:89px!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain;
}
.site-footer svg {
  width:1.1em;
  height:1.1em;
  max-width:1.1em;
  max-height:1.1em;
  fill:currentColor;
  vertical-align:-.15em;
}
.site-footer iframe {
  width:100%;
  min-height:220px;
}
.dropdown-submenu {
  position:relative;
}
.dropdown-submenu>.dropdown-menu {
  top:0;
  left:100%;
  margin-top:-.35rem;
}
.migration-preview-note {
  padding:.8rem 1rem;
  margin:1rem 0;
  background:#fff4cc;
  border-left:4px solid #c68a00;
  color:#222;
}
.migration-preview-toolbar {
  position:sticky;
  top:0;
  z-index:2000;
  background:#20262c;
  color:#fff;
  padding:.45rem 1rem;
  font:14px Arial,sans-serif;
  display:flex;
  gap:1rem;
  align-items:center;
}
.migration-preview-toolbar a {
  color:#fff;
  text-decoration:underline;
}
/* Dynamic TeamCMP NavLeft output used inside top-level navigation dropdowns. */
.site-navbar .nav-item.dropdown > ul.SideNav {
  position:absolute;
  z-index:1000;
  display:none;
  min-width:16rem;
  margin:0;
  padding:.35rem 0;
  list-style:none;
  background:#fff;
  border:0;
  border-radius:0 0 var(--site-radius) var(--site-radius);
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}
.site-navbar ul.SideNav li {
  margin:0;
  padding:0;
  list-style:none;
}
.site-navbar ul.SideNav a {
  display:block;
  width:100%;
  padding:.55rem 1rem;
  color:var(--site-primary);
  text-decoration:none;
  white-space:normal;
  font-weight:400;
}
.site-navbar ul.SideNav a:hover,.site-navbar ul.SideNav a:focus {
  background:var(--site-accent);
  color:var(--site-accent-text);
  text-decoration:none;
}
.site-navbar ul.SideNav li[class*="Not2"] > a {
  padding-left:1.75rem;
}
.site-navbar ul.SideNav li[class*="Not3"] > a {
  padding-left:2.5rem;
}
.site-navbar ul.SideNav li[class*="Not4"] > a {
  padding-left:3.25rem;
}
.site-navbar ul.SideNav li[class*="Not5"] > a {
  padding-left:4rem;
}
@media (min-width:992px) {
  .site-navbar .dropdown:hover>.dropdown-menu, .site-navbar .nav-item.dropdown:hover > ul.SideNav {
    display:block;
  }
}
@media (max-width:991.98px) {
  .site-header-shell.source-header-overlay {
    position:relative;
    left:auto;
    transform:none;
    max-width:none;
  }
  .site-header-shell.source-header-overlay .utility-bar {
    background:#0065b2;
  }
  .site-header-shell.source-header-overlay .site-navbar {
    background:#0f314c;
    box-shadow:0 2px 8px rgba(0,0,0,.13);
  }
  .site-header-shell.source-header-overlay .navbar-collapse {
    margin-left:0;
    padding:0;
    background:transparent;
  }
  .site-header-shell.source-header-overlay + .source-derived-subpage .migration-subpage-hero,.site-header-shell.source-header-overlay + .home-content > .hero-feature-section:first-child {
    padding-top:2rem!important;
  }
  .site-navbar .nav-item.dropdown > ul.SideNav {
    position:static;
    display:block;
    min-width:0;
    box-shadow:none;
    border-radius:0;
    padding:.15rem 0 .35rem .75rem;
  }
  .site-navbar {
    padding:.55rem 1rem;
  }
  .site-brand {
    flex-basis:22.87%;
    width:22.87%;
    max-width:22.87%;
  }
  .site-brand img {
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    max-width:100%!important;
    object-fit:contain;
  }
  .site-navbar .nav-link {
    padding:.7rem .4rem!important;
  }
  .utility-inner {
    justify-content:center;
  }
}
@media (max-width:767.98px) {
  .content {
    padding:1.25rem;
  }
  .home-content {
    padding:0;
  }
  .home-content > .site-section {
    padding:2rem 1rem;
  }
  .layout-container {
    display:block;
  }
  .layout-column {
    width:100%!important;
    max-width:100%!important;
  }
  .source-derived-subpage .migration-subpage-content-column,.source-derived-subpage .migration-subpage-sidebar {
    flex:0 0 100%!important;
    max-width:100%!important;
  }
  .source-derived-subpage .migration-subpage-main {
    padding:1.5rem 1rem!important;
  }
  .source-derived-subpage .migration-subpage-hero {
    min-height:200px;
    padding:2rem 1rem!important;
  }
  .migration-decorative-absolute {
    width:170px!important;
    left:-35px!important;
    opacity:.45;
  }
  .site-brand {
    flex-basis:22.87%;
    width:22.87%;
    max-width:22.87%;
  }
  .site-brand img {
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    max-width:100%!important;
    object-fit:contain;
  }
  .shortcut-nav-section .layout-container {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .shortcut-nav-section .service-card {
    width:min(100%,138px);
  }
  .feature-triptych-section .content-widget[style*="background-image"],.feature-triptych-section .content-widget[style*="background-image"] .service-card {
    min-height:320px;
  }
  .teamcmp-news-hero .carousel-item,.teamcmp-news-hero .news-hero-overlay {
    min-height:400px;
  }
  .teamcmp-news-hero .news-hero-content {
    padding:3rem 2rem;
  }
  .hero-feature-section {
    min-height:0;
  }
  .hero-feature-section .floating-card-column {
    transform:none;
    margin-top:1rem;
  }
  .teamcmp-calendar-feature {
    grid-template-columns:1fr;
  }
  .site-footer .migration-inline-widget-row {
    display:block!important;
  }
  .site-footer .migration-inline-widget-row > .content-widget {
    width:100%!important;
    max-width:100%!important;
    margin:0 0 1.25rem!important;
    text-align:center;
  }
}
.site-footer .contact-info {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-footer .contact-info li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 6px;
  color: #fff;
  font-size: 18px;
  line-height: 1.35;
}
.site-footer .contact-info li i {
  flex: 0 0 28px;
  width: 28px;
  margin-top: 3px;
  margin-right: 6px;
  color: #fff;
  font-size: 20px;
  text-align: center;
}
.site-footer .contact-info li span {
  display: block;
}
.contact-info-page {
  list-style: none;
  margin: 0;
  padding: 0;
}
.contact-info-page li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 8px;
  color: #000;
  line-height: 1.4;
}
.contact-info-page li i {
  flex: 0 0 28px;
  width: 28px;
  margin-top: 3px;
  margin-right: 7px;
  color: #000;
  font-size: 18px;
  text-align: center;
}
.contact-info-page li span {
  display: block;
}
/* =========================================
   TeamCMP Public Forms
   ========================================= */
.cms-public-form {
  max-width: 850px;
  margin: 0 auto;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  color: #222;
}
.cms-public-form .cms-form-fields {
  display: block;
}
/* Individual fields */
.cms-public-form .cms-form-field {
  margin-bottom: 18px;
}
/* Labels */
.cms-public-form label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  line-height: 1.35;
}
/* Standard text inputs */
.cms-public-form input[type="text"], .cms-public-form input[type="email"], .cms-public-form input[type="tel"], .cms-public-form input[type="number"], .cms-public-form input[type="password"], .cms-public-form input[type="date"], .cms-public-form select, .cms-public-form textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid #aeb4ba;
  border-radius: 3px;
  background: #fff;
  color: #222;
  font: inherit;
  line-height: 1.4;
}
/* Text areas */
.cms-public-form textarea {
  min-height: 130px;
  resize: vertical;
}
/* Focus state */
.cms-public-form input:focus, .cms-public-form select:focus, .cms-public-form textarea:focus {
  border-color: #0a67a3;
  outline: 2px solid rgba(10, 103, 163, .18);
  outline-offset: 1px;
}
/* Section headings */
.cms-public-form h2 {
  margin: 0 0 24px;
  font-size: 26px;
  line-height: 1.25;
}
.cms-public-form h3 {
  margin: 30px 0 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid #ccc;
  font-size: 20px;
  line-height: 1.3;
}
/* Explanatory text */
.cms-public-form p {
  margin: 16px 0;
}
/* Checkboxes/radios */
.cms-public-form input[type="checkbox"], .cms-public-form input[type="radio"] {
  width: 18px;
  height: 18px;
  margin: 2px 8px 0 0;
  vertical-align: top;
}
/*
   TeamCMP currently has label before checkbox,
   so keep these fields compact.
*/
.cms-public-form .cms-form-field:has(input[type="checkbox"]), .cms-public-form .cms-form-field:has(input[type="radio"]) {
  margin-bottom: 8px;
}
.cms-public-form .cms-form-field:has(input[type="checkbox"]) label, .cms-public-form .cms-form-field:has(input[type="radio"]) label {
  display: inline;
  font-weight: 400;
}
/* File upload */
.cms-public-form .teamcmp-file-dropzone {
  margin-top: 5px;
  padding: 24px;
  border: 2px dashed #bcc5cc;
  border-radius: 6px;
  background: #f8f9fa;
}
.cms-public-form .teamcmp-file-dropzone:hover, .cms-public-form .teamcmp-file-dropzone:focus, .cms-public-form .teamcmp-file-dropzone.is-dragover {
  border-color: #0a67a3;
  background: #f2f7fa;
}
.cms-public-form .teamcmp-file-button {
  padding: 6px 12px;
  border: 1px solid #888;
  border-radius: 4px;
  background: #fff;
}
/* Signature */
.cms-public-form .teamcmp-signature-field {
  max-width: 420px;
}
.cms-public-form .teamcmp-signature-ui {
  width: 100%;
}
.cms-public-form .teamcmp-signature-canvas {
  width: 100%;
  max-width: 420px;
  height: 180px;
  border: 2px dashed #bbb;
  border-radius: 4px;
  background: #fff;
}
.cms-public-form .teamcmp-signature-toolbar {
  max-width: 420px;
  margin-top: 7px;
  text-align: right;
}
.cms-public-form .teamcmp-signature-clear {
  padding: 6px 10px;
  border: 1px solid #aaa;
  border-radius: 4px;
  background: #fff;
  font: inherit;
  cursor: pointer;
}
/* reCAPTCHA */
.cms-public-form .g-recaptcha {
  margin: 22px 0;
}
/* Submit */
.cms-public-form .cms-form-actions {
  margin-top: 28px;
}
.cms-public-form button[type="submit"], .cms-public-form input[type="submit"] {
  display: inline-block;
  min-width: 120px;
  padding: 11px 22px;
  border: 0;
  border-radius: 4px;
  background: #0b3b5c;
  color: #fff;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.cms-public-form button[type="submit"]:hover, .cms-public-form input[type="submit"]:hover {
  background: #12628e;
}
/* Required marker, if used */
.cms-public-form .required, .cms-public-form [aria-required="true"] + .required {
  color: #b00020;
}
/* Mobile */
@media (max-width: 600px) {
  .cms-public-form {
    max-width: 100%;
  }
  .cms-public-form .teamcmp-signature-field, .cms-public-form .teamcmp-signature-canvas, .cms-public-form .teamcmp-signature-toolbar {
    max-width: 100%;
  }
}
/* =========================================================
   CURRENT USE APPLICATION FORM
   ========================================================= */
.current-use-form-wrap {
  --form-blue: #0b3b5c;
  --form-blue-light: #eaf2f7;
  --form-text: #222;
  --form-muted: #66717a;
  --form-border: #b7c0c8;
  --form-border-light: #d8dde2;
  --form-bg-soft: #f6f8fa;
  max-width: 900px;
  margin: 0 auto 50px;
  color: var(--form-text);
  font-size: 15px;
  line-height: 1.5;
}
/* -----------------------------
   Heading
   ----------------------------- */
.current-use-form-title {
  margin: 0 0 26px;
  padding: 0 0 14px;
  border-bottom: 1px solid #555;
  color: #111;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.25;
}
/* -----------------------------
   Main two-column layout
   ----------------------------- */
.current-use-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 28px;
  row-gap: 22px;
}
.current-use-fields > * {
  min-width: 0;
}
/* Nested grids */
.current-use-grid {
  display: grid;
  gap: 20px 24px;
}
.current-use-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.current-use-grid-3 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
/* Full-width sections */
.current-use-fields > .current-use-grid, .current-use-fields > .current-use-address, .current-use-fields > .current-use-info-block, .current-use-fields > .current-use-info-line, .current-use-fields > .current-use-attestation, .current-use-fields > .current-use-actions {
  grid-column: 1 / -1;
}
/* Name already contains its own two-column grid */
.current-use-fields > .current-use-fieldset:first-child {
  grid-column: 1 / -1;
}
/* -----------------------------
   Fieldsets
   ----------------------------- */
.current-use-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.current-use-form legend {
  display: block;
  width: 100%;
  margin: 0 0 8px;
  padding: 0;
  color: #111;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}
/* -----------------------------
   Fields / labels
   ----------------------------- */
.current-use-form .cms-form-field {
  margin: 0;
}
.current-use-form label {
  display: block;
  margin: 0 0 7px;
  color: #222;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}
.current-use-form .field-sublabel {
  margin: 5px 0 0;
  color: var(--form-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
}
.current-use-form .required-text {
  margin-left: 4px;
  color: #b42318;
  font-size: 11px;
  font-style: italic;
  font-weight: 400;
}
/* -----------------------------
   Inputs
   ----------------------------- */
.current-use-form input[type="text"], .current-use-form input[type="email"], .current-use-form input[type="tel"], .current-use-form input[type="number"], .current-use-form input[type="date"], .current-use-form input[type="password"], .current-use-form select, .current-use-form textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  border: 1px solid var(--form-border);
  border-radius: 4px;
  background: #fff;
  color: #222;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.4;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.current-use-form input[type="text"], .current-use-form input[type="email"], .current-use-form input[type="tel"], .current-use-form input[type="number"], .current-use-form input[type="date"], .current-use-form input[type="password"], .current-use-form select {
  min-height: 42px;
  padding: 8px 11px;
}
.current-use-form textarea {
  min-height: 120px;
  padding: 10px 12px;
  resize: vertical;
}
/* Focus */
.current-use-form input:focus, .current-use-form select:focus, .current-use-form textarea:focus {
  border-color: #2877a8;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(40, 119, 168, .14);
}
/* Readonly total */
.current-use-form input[readonly] {
  background: #f4f6f7;
  color: #444;
}
/* -----------------------------
   Mailing address
   ----------------------------- */
.current-use-address {
  padding-bottom: 2px;
}
/* -----------------------------
   Radio buttons
   ----------------------------- */
.current-use-choice-group {
  grid-column: 1 / -1;
  padding: 2px 0;
}
.current-use-choice-group legend {
  margin-bottom: 8px;
}
.current-use-choice {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0 24px 0 0;
}
.current-use-choice input[type="radio"] {
  width: 17px;
  height: 17px;
  margin: 0;
}
.current-use-choice label {
  display: inline;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
}
/* -----------------------------
   Parcel field
   ----------------------------- */
#ParcelNumbers {
  min-height: 105px;
}
/* -----------------------------
   Explanatory text
   ----------------------------- */
.current-use-info-block {
  padding: 18px 20px;
  border-left: 4px solid var(--form-blue);
  border-radius: 0 4px 4px 0;
  background: var(--form-bg-soft);
  color: #333;
  font-size: 14px;
  line-height: 1.55;
}
.current-use-info-block p {
  margin: 0 0 14px;
}
.current-use-info-block p:last-child {
  margin-bottom: 0;
}
.current-use-info-block strong {
  color: #111;
  font-weight: 600;
}
/* -----------------------------
   Acreage
   ----------------------------- */
.current-use-info-line {
  color: var(--form-muted);
  font-size: 13px;
}
.current-use-total-field {
  max-width: 100%;
}
.current-use-total-field label {
  font-weight: 600;
}
/* -----------------------------
   Comments
   ----------------------------- */
#Comments {
  min-height: 175px;
}
/* -----------------------------
   Attestation
   ----------------------------- */
.current-use-attestation {
  margin-top: 3px;
  padding: 16px 18px;
  border: 1px solid var(--form-border-light);
  border-radius: 4px;
  background: #fff;
  color: #333;
  font-size: 13px;
  line-height: 1.55;
}
.current-use-attestation p {
  margin: 0;
}
/* -----------------------------
   Signature
   ----------------------------- */
.teamcmp-signature-field {
  grid-column: 1 / -1;
  margin-top: 2px;
}
.teamcmp-signature-ui {
  display: inline-block;
}
.teamcmp-signature-canvas {
  display: block;
  width: 360px;
  max-width: 100%;
  height: 180px;
  border: 1px dashed #9da8b1;
  border-radius: 4px;
  background: #fff;
}
.teamcmp-signature-toolbar {
  margin-top: 7px;
  text-align: right;
}
.teamcmp-signature-clear {
  padding: 6px 10px;
  border: 1px solid #aeb6bd;
  border-radius: 3px;
  background: #fff;
  color: #333;
  font-family: inherit;
  font-size: 12px;
  cursor: pointer;
}
.teamcmp-signature-clear:hover {
  background: #f3f5f6;
}
/* -----------------------------
   Printed name / date
   ----------------------------- */
.current-use-date-field input {
  max-width: 100%;
}
/* -----------------------------
   Submit area
   ----------------------------- */
.current-use-actions {
  margin-top: 4px;
  padding-top: 6px;
}
.current-use-actions button[type="submit"], .current-use-actions input[type="submit"] {
  min-width: 120px;
  min-height: 42px;
  padding: 9px 22px;
  border: 0;
  border-radius: 4px;
  background: var(--form-blue);
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color .15s ease, box-shadow .15s ease, transform .05s ease;
}
.current-use-actions button[type="submit"]:hover, .current-use-actions input[type="submit"]:hover {
  background: #12547d;
  box-shadow: 0 2px 5px rgba(0,0,0,.15);
}
.current-use-actions button[type="submit"]:active, .current-use-actions input[type="submit"]:active {
  transform: translateY(1px);
}
/* -----------------------------
   reCAPTCHA
   ----------------------------- */
.current-use-form .g-recaptcha {
  grid-column: 1 / -1;
  margin-top: -5px;
}
/* -----------------------------
   Mobile
   ----------------------------- */
@media (max-width: 700px) {
  .current-use-form-wrap {
    font-size: 15px;
  }
  .current-use-form-title {
    font-size: 23px;
  }
  .current-use-fields, .current-use-grid-2, .current-use-grid-3 {
    grid-template-columns: 1fr;
  }
  .current-use-fields > * {
    grid-column: 1 / -1 !important;
  }
  .current-use-choice {
    margin-right: 18px;
  }
  .teamcmp-signature-canvas {
    width: 100%;
  }
}
/* =========================================================
   CURRENT USE FORM - VERTICAL SPACING POLISH
   Add after existing Current Use CSS
   ========================================================= */
/* Give the main form rows a little more breathing room */
.current-use-fields {
  row-gap: 28px;
}
/* Nested multi-column groups need extra vertical separation */
.current-use-grid {
  row-gap: 26px;
}
/* Each individual field gets a predictable amount of space */
.current-use-form .cms-form-field {
  position: relative;
}
/* Sublabels such as First, Last, City, State, ZIP */
.current-use-form .field-sublabel {
  display: block;
  margin-top: 6px;
  margin-bottom: 5px;
  line-height: 1.35;
}
/* Give a nested grid some space after its last row */
.current-use-fieldset .current-use-grid {
  margin-bottom: 4px;
}
/* Mailing address rows were particularly tight */
.current-use-address .cms-form-field {
  padding-bottom: 4px;
}
.current-use-address .current-use-grid {
  row-gap: 27px;
}
/* More room between mailing address and homesite question */
.current-use-address {
  padding-bottom: 8px;
}
/* Homesite question */
.current-use-choice-group {
  margin-top: 2px;
  margin-bottom: 2px;
  padding: 4px 0 6px;
}
.current-use-choice-group legend {
  margin-bottom: 10px;
}
.current-use-choice {
  margin-top: 2px;
  margin-bottom: 2px;
}
/* Make sure parcel field doesn't crowd homesite choices */
.current-use-choice-group + .cms-form-field {
  margin-top: 4px;
}
/* Give textarea labels normal separation */
.current-use-form .cms-form-field > label {
  margin-bottom: 8px;
}
/* Acreage fields */
.current-use-grid-3 {
  row-gap: 28px;
  margin-bottom: 0;
}
/*
   IMPORTANT:
   Remove the negative margins from the previous rule.
   This is what is causing the acreage text collision.
*/
.current-use-info-line {
  grid-column: 1 / -1;
  margin: 0;
  padding: 2px 0 4px;
  color: var(--form-muted);
  font-size: 13px;
  line-height: 1.45;
}
/* Total acres should start cleanly below its helper text */
.current-use-total-field {
  margin-top: 0;
}
.current-use-total-field label {
  margin-bottom: 7px;
}
/* More breathing room before informational panels */
.current-use-total-field + .current-use-info-block {
  margin-top: 4px;
}
/* Paragraph spacing inside informational areas */
.current-use-info-block {
  line-height: 1.6;
}
.current-use-info-block p {
  margin-top: 0;
  margin-bottom: 18px;
}
/* More separation between Conversion and Ownership Change */
.current-use-info-block p + p {
  margin-top: 8px;
}
/* Comments */
.current-use-info-block + .cms-form-field {
  margin-top: 2px;
}
/* Attestation */
.current-use-attestation {
  margin-top: 2px;
  margin-bottom: 2px;
  line-height: 1.6;
}
/* Signature gets a little room after the attestation */
.current-use-attestation + .teamcmp-signature-field {
  margin-top: 2px;
}
/* Printed name should not hug signature controls */
.teamcmp-signature-field + .cms-form-field {
  margin-top: 4px;
}
/* Date gets a touch more separation */
.current-use-date-field {
  margin-top: 0;
}
/* Submit area */
.current-use-actions {
  margin-top: 4px;
  padding-top: 8px;
}
/* Mobile can remain slightly tighter */
@media (max-width: 700px) {
  .current-use-fields {
    row-gap: 24px;
  }
  .current-use-grid {
    row-gap: 22px;
  }
}
/* =========================================================
   FINAL VERTICAL RHYTHM TWEAKS
   ========================================================= */
/* Slightly more overall spacing between major form rows */
.current-use-fields {
  row-gap: 31px;
}
/* More room inside nested two-column groups */
.current-use-grid {
  row-gap: 29px;
}
/* ---------------------------------------------------------
   Name / Phone / Email
   --------------------------------------------------------- */
.current-use-fieldset:first-child {
  margin-bottom: 3px;
}
/* First / Last sublabels need room before next row */
.current-use-fieldset:first-child .field-sublabel {
  margin-bottom: 8px;
}
/* ---------------------------------------------------------
   Mailing Address
   --------------------------------------------------------- */
.current-use-address {
  margin-top: 2px;
  padding-bottom: 10px;
}
/* Give Street Address a little more separation from City/State */
.current-use-address > .cms-form-field:first-of-type {
  margin-bottom: 5px;
}
/* City / State row */
.current-use-address .current-use-grid {
  margin-top: 2px;
  margin-bottom: 5px;
}
/* ZIP Code sublabel */
#ZipCode + .field-sublabel {
  margin-bottom: 8px;
}
/* ---------------------------------------------------------
   Homesite / Parcel Number
   --------------------------------------------------------- */
.current-use-choice-group {
  padding-top: 5px;
  padding-bottom: 10px;
}
.current-use-choice-group legend {
  margin-bottom: 11px;
}
/* More room after Yes / No */
.current-use-choice-group + .cms-form-field {
  margin-top: 7px;
}
/* ---------------------------------------------------------
   Parcel textarea -> Current Use information box
   --------------------------------------------------------- */
#ParcelNumbers {
  margin-bottom: 5px;
}
/* Give information panels room above and below */
.current-use-info-block {
  margin-top: 4px;
  margin-bottom: 3px;
}
/* ---------------------------------------------------------
   Acreage section
   --------------------------------------------------------- */
.current-use-grid-3 {
  margin-top: 3px;
  row-gap: 31px;
}
/* Helper sentence under acreage fields */
.current-use-info-line {
  margin-top: 5px;
  margin-bottom: 4px;
  padding-top: 2px;
  padding-bottom: 4px;
}
/* Total acres */
.current-use-total-field {
  margin-top: 2px;
  margin-bottom: 5px;
}
/* ---------------------------------------------------------
   Property Conversion / Ownership Change
   --------------------------------------------------------- */
/* More breathing room between the two explanatory topics */
.current-use-info-block p + p {
  margin-top: 12px;
}
/* Specifically separate Ownership Change heading */
.current-use-info-block p strong {
  display: inline-block;
  margin-top: 2px;
}
/* ---------------------------------------------------------
   Comments
   --------------------------------------------------------- */
.current-use-info-block + .cms-form-field {
  margin-top: 6px;
}
#Comments {
  margin-top: 1px;
}
/* ---------------------------------------------------------
   Attestation
   --------------------------------------------------------- */
.current-use-attestation {
  margin-top: 6px;
  margin-bottom: 7px;
  padding-top: 18px;
  padding-bottom: 18px;
}
/* ---------------------------------------------------------
   Signature
   --------------------------------------------------------- */
.teamcmp-signature-field {
  margin-top: 4px;
  margin-bottom: 8px;
}
.teamcmp-signature-field > label {
  margin-bottom: 9px;
}
.teamcmp-signature-toolbar {
  margin-top: 9px;
}
/* ---------------------------------------------------------
   Printed Name / Date
   --------------------------------------------------------- */
.teamcmp-signature-field + .cms-form-field {
  margin-top: 8px;
}
.current-use-date-field {
  margin-top: 2px;
}
/* ---------------------------------------------------------
   Submit
   --------------------------------------------------------- */
.current-use-actions {
  margin-top: 7px;
  padding-top: 9px;
}
/* =========================================================
   FINAL TARGETED SPACING FIXES
   ========================================================= */
/* 1. More room between Current Use explanation
      and Cropland / Pastureland fields */
.current-use-info-block + .current-use-grid-3 {
  margin-top: 14px;
}
/* 2. More room between Total Acres and
      Property Conversion panel */
.current-use-total-field + .current-use-info-block {
  margin-top: 18px;
}
/* 3. More room between Printed Name and Date */
.teamcmp-signature-field + .cms-form-field + .current-use-date-field {
  margin-top: 14px;
}
/* Also make Printed Name itself breathe a little
   more after the signature area */
.teamcmp-signature-field + .cms-form-field {
  margin-top: 14px;
}
/* Give the Date label a little separation from
   whatever precedes it */
.current-use-date-field > label {
  margin-top: 2px;
  margin-bottom: 8px;
}
.current-use-grid-3 .cms-form-field > label {
  margin-bottom: 9px;
}
/* More space before Mailing Address */
.current-use-form legend {
  padding-top: 14px;
}

/* =========================================================
   Payment Methods
   ========================================================= */

.payment-methods-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	width: 100%;
	margin: 18px 0 24px;
}

.payment-method {
	min-width: 0;
	text-align: center;
}

.payment-method-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
	padding: 0;
}

.payment-method-icon img {
	display: block;
	width: 100px !important;
	height: 100px !important;
	max-width: 100px !important;
	object-fit: contain;
	margin: 0 auto;
}

.payment-method h4 {
	margin: 0 0 20px;
	padding: 0;
	color: #000;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.payment-method p {
	margin: 0;
	color: #111;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	text-align: center;
}

.payment-method p a {
	font-weight: 600;
}

.payment-methods-note {
	width: 100%;
	margin: 26px 0 0;
	color: #000;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
}


/* Tablet */
@media (max-width: 991.98px) {

	.payment-methods-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 38px 28px;
	}

}


/* Mobile */
@media (max-width: 575.98px) {

	.payment-methods-grid {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.payment-method {
		max-width: 340px;
		margin: 0 auto;
	}

	.payment-methods-note {
		font-size: 16px;
	}

}

/* =========================================================
   Change of Address / Correction
   Gravity Forms-style presentation
   ========================================================= */

.address-change-form {
	max-width: 900px;
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
}

/* Slightly tighter than the generic imported form */
.address-change-form > .teamcmp-form-grid {
	column-gap: 24px;
	row-gap: 19px;
}

.address-change-form .teamcmp-form-control {
	min-height: 42px;
	padding: 8px 11px;
	border: 1px solid #b9c0c6;
	border-radius: 3px;
	background: #fff;
	color: #222;
	font: inherit;
}

.address-change-form textarea.teamcmp-form-control {
	min-height: 125px;
}


/* Labels */
.address-change-form label,
.address-change-form legend {
	margin: 0 0 7px;
	color: #222;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}

.address-change-form .required-text {
	margin-left: 3px;
	font-size: 12px;
	font-weight: 400;
}


/* Address groups */
.address-change-address {
	margin: 3px 0 5px;
	padding: 0;
	border: 0;
}

.address-change-address > legend {
	margin-bottom: 12px;
	font-size: 17px;
	font-weight: 400;
}

.address-change-address-grid {
	column-gap: 24px !important;
	row-gap: 12px !important;
}

.address-change-form .field-sublabel {
	display: block;
	margin: 5px 0 0;
	color: #333;
	font-size: 12px;
	font-weight: 600;
}


/* Radio questions: vertical, as on original */
.address-change-choice-group {
	grid-column: 1 / -1;
	margin: 3px 0;
	padding: 0;
	border: 0;
}

.address-change-choice-group legend {
	margin-bottom: 7px;
	font-size: 14px;
	font-weight: 400;
}

.address-change-choice {
	display: flex !important;
	align-items: center;
	width: max-content;
	margin: 4px 0 !important;
	gap: 7px;
	font-size: 14px;
	font-weight: 400 !important;
}

.address-change-choice input[type="radio"] {
	width: 16px;
	height: 16px;
	margin: 0;
}


/* Conditional fields */
.address-change-form .conditional-field {
	grid-column: 1 / -1;
}


/* Original Gravity Forms signature was 300 x 180 */
.address-change-form .teamcmp-signature-field {
	grid-column: 1 / -1;
	max-width: 300px;
}

.address-change-form .teamcmp-signature-ui,
.address-change-form .teamcmp-signature-toolbar {
	width: 300px;
	max-width: 100%;
}

.address-change-form .teamcmp-signature-canvas {
	display: block;
	width: 300px;
	max-width: 100%;
	height: 180px;
	border: 2px dashed #ddd;
	border-radius: 0;
	background: #fff;
}

.address-change-form .teamcmp-signature-toolbar {
	margin-top: 5px;
	text-align: right;
}

.address-change-form .teamcmp-signature-clear {
	padding: 4px 8px;
	font-size: 11px;
}


/* Submit */
.address-change-form .cms-form-actions {
	grid-column: 1 / -1;
	margin-top: 4px;
}

.address-change-form button[type="submit"] {
	min-width: 90px;
	padding: 9px 18px;
	border: 0;
	border-radius: 3px;
	background: #0f476a;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
}


/* Mobile */
@media (max-width: 700px) {

	.address-change-form .teamcmp-form-half {
		grid-column: 1 / -1;
	}

}


/* Service badge hover effect */
.shortcut-nav-section .service-card {
    position: relative;
    cursor: pointer;
    border-radius: 50%;
}

/* Both card faces animate */
.shortcut-nav-section .service-card-front,
.shortcut-nav-section .service-card-back {
    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}

/* Normal state */
.shortcut-nav-section .service-card-front {
    opacity: 1;
    z-index: 1;
    transform: scale(1);
}

.shortcut-nav-section .service-card-back {
    opacity: 0 !important; /* overrides your inline opacity:0 */
    z-index: 2;
    transform: scale(0.9);

    display: flex;
    align-items: center;
    justify-content: center;

    pointer-events: none;
}

/* Hover/focus state */
.shortcut-nav-section .service-card:hover .service-card-front,
.shortcut-nav-section .service-card:focus .service-card-front,
.shortcut-nav-section .service-card:focus-within .service-card-front {
    opacity: 0;
    transform: scale(0.9);
}

.shortcut-nav-section .service-card:hover .service-card-back,
.shortcut-nav-section .service-card:focus .service-card-back,
.shortcut-nav-section .service-card:focus-within .service-card-back {
    opacity: 1 !important;
    transform: scale(1);
    pointer-events: auto;
}

/* Slight button animation */
.shortcut-nav-section .service-card-back .btn {
    transform: translateY(8px);
    transition: transform 0.25s ease;
}

.shortcut-nav-section .service-card:hover .service-card-back .btn,
.shortcut-nav-section .service-card:focus .service-card-back .btn,
.shortcut-nav-section .service-card:focus-within .service-card-back .btn {
    transform: translateY(0);
}

/* Respect reduced-motion accessibility preference */
@media (prefers-reduced-motion: reduce) {
    .shortcut-nav-section .service-card-front,
    .shortcut-nav-section .service-card-back,
    .shortcut-nav-section .service-card-back .btn {
        transition: none;
    }
}
.revenue-form-header {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(300px, 2fr) minmax(160px, 1fr);
  gap: 28px;
  align-items: start;
  width: 100%;
  margin: 0 0 34px;
  text-align: center;
}

.revenue-form-header__seal,
.revenue-form-header__details,
.revenue-form-header__officials {
  min-width: 0;
}

.revenue-form-header__seal figure {
  margin: 0;
}

.revenue-form-header__seal img {
  display: block;
  width: 185px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.revenue-form-header__details h2 {
  margin: 0 0 12px;
  font-size: 27px;
  line-height: 1.2;
}

.revenue-form-header__details h3 {
  margin: 0 0 24px;
  font-size: 22px;
  line-height: 1.25;
}

.revenue-form-header__details p,
.revenue-form-header__officials p {
  margin: 0 0 22px;
  line-height: 1.45;
}

.revenue-form-header__officials {
  padding-top: 2px;
}

@media (max-width: 767px) {
  .revenue-form-header {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .revenue-form-header__seal img {
    width: 155px;
  }

  .revenue-form-header__details h3 {
    margin-bottom: 16px;
  }
}

.faq-filter {
	margin-bottom: 30px;
	padding: 20px;
	background: #f5f5f5;
	border-radius: 6px;
}

.faq-filter form {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.faq-filter select {
	padding: 8px 12px;
	min-width: 220px;
}

.faq-question-group,
.faq-answer-group {
	margin-bottom: 30px;
}

.faq-category {
	font-size: 1.2rem;
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid #ddd;
}

.faq-question-link {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 8px;
}

.faq-number {
	flex: 0 0 auto;
	font-weight: 600;
}

.faq-item {
	margin-bottom: 25px;
	scroll-margin-top: 20px;
}

.faq-question,
.faq-answer {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.faq-question {
	margin-bottom: 8px;
}

.faq-label {
	flex: 0 0 24px;
	font-weight: 700;
}

.faq-answer-content {
	flex: 1;
}

.faq-empty {
	padding: 20px 0;
}
/* News app */
.NewsItem { margin-top: 1em; }
.NewsTitle { font-size: 1em; margin: 0; }
.NewsMeta { margin: 0; }
.NewsPubDate { font-weight: bold; margin-right: .5em; }
.NewsMore,
.NewsArchive { margin-top: 1em; }
.NewsArchive a { font-weight: bold; }
/* News detail */
.NewsTitle { font-size: 1.25em; margin: 0 0 .25em; }
.NewsMeta { margin: 0 0 1em; }
.NewsPubDate { margin-right: .5em; }
.NewsBack { margin-top: 1.5em; }
.wp-block-list ol {
	list-style-type: lower-roman;
}

.map-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: 8px;
	padding: 2px 7px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #f7f7f7;
	color: #333;
	font-size: 0.82em;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
	vertical-align: middle;
}

.map-link:hover,
.map-link:focus {
	background: #e9e9e9;
	border-color: #999;
	color: #000;
	text-decoration: none;
}

.map-icon {
	font-size: 0.95em;
}