body {
  background-color: ;
  color: #4b4b4b;
}
.webpage-block .jumbotron h1, h1 {
  color: ;
  font-family: Helvetica;
  font-size: 36px;
}
.webpage-block .jumbotron h2, h2 {
  color: ;
  font-family: Helvetica;
  font-size: 30px;
}
.webpage-block .jumbotron h3, h3 {
  color: ;
  font-family: Helvetica;
  font-size: 26px;
}
.webpage-block .jumbotron h4, h4 {
  color: ;
  font-family: Helvetica;
  font-size: 18px;
}
.webpage-block .jumbotron h5, h5 {
  color: ;
  font-family: Helvetica;
  font-size: 14px;
}
.webpage-block .jumbotron h6, h6 {
  color: ;
  font-family: ;
  font-size: 12px;
}
.webpage-block .jumbotron p, p, .content-block div, .panel div, li {
  color: ;
  font-family: Helvetica;
  font-size: 18px;
}
.jumbotron blockquote, blockquote {
  color: ;
  font-family: ;
  font-size: 18px;
}
.jumbotron .lead, .content-block .lead, .lead {
  color: ;
  font-family: Helvetica;
  font-size: 24px;
}
@media (max-width: 767px) {
  .webpage-block .jumbotron h1, h1 {
    font-size: 36px;
  }
  .webpage-block .jumbotron h2, h2 {
    font-size: 30px;
  }
  .webpage-block .jumbotron h3, h3 {
    font-size: 24px;
  }
  .webpage-block .jumbotron h4, h4 {
    font-size: 18px;
  }
  .webpage-block .jumbotron h5, h5 {
    font-size: 14px;
  }
  .webpage-block .jumbotron h6, h6 {
    font-size: 12px;
  }
  .webpage-block .jumbotron p, p {
    font-size: 16px;
  }
  .webpage-block .jumbotron blockquote, blockquote {
    font-size: 18px;
  }
  .webpage-block .jumbotron .lead, .lead {
    font-size: 20px;
  }
}
.webpage-background a {
  color: #f0913e;
}
.webpage-block a {
  color: #f0913e;
}
.webpage-contact a {
  color: #f0913e;
}
.webpage-about a {
  color: #f0913e;
}
.webpage-footer {
  background-color:  !important;
  color: #fff !important;
}
.webpage-footer a{
  color: #7fa053 !important;
}
.webpage-footer .site-footer-simple {
  background-color:  !important;
  color: #fff !important;
}

.webpage-footer p {
  color: #fff !important;
}
.webpage-footer .site-footer-simple a,
.webpage-footer .site-footer-simple a:hover {
  background-color:  !important;
  color: #7fa053 !important;
}
.webpage-header .navbar {
  background-color: ;
  color: #4b4b4b;
}
.webpage-header .navbar a,
.webpage-header .navbar a:hover {
  color:  !important;
}
.webpage-header.navbar-fixed-top {
  background-color: ;
}
.webpage-group .webpage-hero > div > div {
  padding-top: 20px;
}
.webpage-header.navbar-fixed-top.hero-behind.transparent {
  background-color: transparent;
}
.webpage-header.hero-behind.transparent .navbar {
  background-color: transparent;
}
body.hero-behind .webpage-group .webpage-hero > div {
  margin-top: 0 !important;
}
.webpage-footer .site-footer-columns .site-footer-upper,
.webpage-footer .site-footer-layers {
  background-color:  !important;
  color: #fff !important;
}
.webpage-footer .site-footer-columns .site-footer-upper a,
.webpage-footer .site-footer-columns .site-footer-upper a:hover,
.webpage-footer .site-footer-layers a,
.webpage-footer .site-footer-layers a:hover {
  color: #7fa053 !important;
}
/*
  Locable / IMPACT cleaned sitewide CSS

  Before using:
  - Set sitewide font family, base font size, heading defaults, and font weight
    in Locable Admin / Theme & Design.
  - The :has(.webpage-fields) boundary prevents front-end rules from restyling
    the Locable editor. Use a verified admin body class only when confirmed.
  - Existing custom classes are preserved. Add new classes only after documenting
    the pattern in the IMPACT Website CSS Playbook.
*/

/* Sitewide structure - typography belongs in Locable admin. */
body:not(:has(.webpage-fields)) {
  border-top: 5px solid #21729b;
}

body:not(:has(.webpage-fields)) .webpage-block p {
  margin-bottom: 17px;
}

body:not(:has(.webpage-fields)) .webpage-header .navbar li a {
  font-weight: 400;
  letter-spacing: -.2px;
  font-family: Avenir, sans-serif;
  font-size: 95%;
}

body:not(:has(.webpage-fields)) .webpage-header .navbar .dropdown-menu li a {
  padding: 7px 20px;
}

body:not(:has(.webpage-fields)) .webpage-header .navbar-inverse .navbar-nav .open .dropdown-toggle {
  background: #fff !important;
}

body:not(:has(.webpage-fields)) .webpage-header .dropdown-menu {
  min-width: 380px;
}

body:not(:has(.webpage-fields)) .webpage-block h2 {
  font-weight: 400;
  color: #063b61;
}

body:not(:has(.webpage-fields)) .jumbotron h2,
body:not(:has(.webpage-fields)) .checklist .coordinate h2,
body:not(:has(.webpage-fields)) .color h2,
body:not(:has(.webpage-fields)) .dark h2 {
  color: #fff;
}

body:not(:has(.webpage-fields)) .blue a {
  color: #fff;
  text-decoration: underline;
}

body:not(:has(.webpage-fields)) .webpage-block p b {
  font-family: Roboto, sans-serif;
}

body:not(:has(.webpage-fields)) .webpage-block a {
  font-weight: 600;
}

body:not(:has(.webpage-fields)) .webpage-block .col-sm-push-8 img {
  max-height: 250px;
}

/* Heroes */
body:not(:has(.webpage-fields)) .hero-content p,
body:not(:has(.webpage-fields)) .hero-content div {
  font-weight: 500;
}

body:not(:has(.webpage-fields)) .feed-post h1 {
  font-size: 28px;
}

body:not(:has(.webpage-fields)) .small-hero .hero-content ul li {
  padding: 3px 0 4px 15px;
  font-size: 16px;
  font-weight: 700;
}

body:not(:has(.webpage-fields)) .welcome .jumbotron {
  font-size: 26px;
  vertical-align: middle;
  font-weight: 400;
}

body:not(:has(.webpage-fields)) .welcome .jumbotron h1 {
  font-family: Lato, sans-serif;
  font-size: 54px;
}

body:not(:has(.webpage-fields)) .features .jumbotron h1 {
  font-size: 32px;
  font-weight: 700;
}

body:not(:has(.webpage-fields)) .features .jumbotron h2 {
  font-size: 24px;
  color: #555;
  margin: 25px 0;
}

body:not(:has(.webpage-fields)) .features .jumbotron .hero-content p {
  font-size: 17px;
}

body:not(:has(.webpage-fields)) .small-hero.features .hero-content ul li::marker {
  content: "✓";
  font-family: FontAwesome;
  color: #4080aa;
}

body:not(:has(.webpage-fields)) .center-hero .jumbotron p {
  text-align: center;
}

body:not(:has(.webpage-fields)) .webpage-block .jumbotron p {
  font-size: 18px;
  line-height: 1.4;
  font-weight: 300;
}

body:not(:has(.webpage-fields)) .jumbotron {
  border-radius: 0;
}

body:not(:has(.webpage-fields)) .homepage-hero .jumbotron::before,
body:not(:has(.webpage-fields)) .webpage-group > div > .webpage-block > .webpage-hero > .jumbotron::before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, transparent 35%, rgba(0, 0, 0, .55) 100%);
  content: "";
}

body:not(:has(.webpage-fields)) .webpage-group.color > div > .webpage-block > .webpage-hero > .jumbotron::before {
  background: none;
}

body:not(:has(.webpage-fields)) .webpage-group.color .webpage-hero > div > div {
  padding-top: 0;
  padding-bottom: 0;
}

body:not(:has(.webpage-fields)) .text-shadow-dark .webpage-hero {
  text-shadow: 1px 1px 3px #000, 0 0 3em #000, 0 0 .4em #000;
}

/* Navigation and responsive header */
body:not(:has(.webpage-fields)) .webpage-header .navbar-right > li:last-child a {
  background: #eeac43;
  padding: 0 15px;
  margin: 15px 0;
  border: 1px solid #eeac43;
  border-radius: 4px;
  color: #fff !important;
}

body:not(:has(.webpage-fields)) .webpage-header .navbar-collapse {
  width: 100%;
}

body:not(:has(.webpage-fields)) .webpage-header .navbar-fixed-top .navbar-collapse {
  max-height: 1000px;
}

body:not(:has(.webpage-fields)) .webpage-header-embed {
  width: 42%;
  position: fixed;
  z-index: 1031;
  margin-left: 40%;
}

body:not(:has(.webpage-fields)) .mobile-buttons {
  margin: 7px 45px;
  z-index: 1031;
  position: relative;
  display: flex;
  justify-content: space-between;
}

body:not(:has(.webpage-fields)) .mobile-buttons a {
  background: #eeac43;
  padding: 6px 12px;
  border-radius: 4px;
  color: #fff !important;
  font-weight: 700;
}

/* Buttons */
body:not(:has(.webpage-fields)) .webpage-block .btn,
body:not(:has(.webpage-fields)) .welcome .btn,
body:not(:has(.webpage-fields)) .hero-content .btn {
  background: #8bb756;
  border: 1px solid #fff;
  border-radius: 0;
  color: #fff;
  text-shadow: none;
  text-decoration: none !important;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}

body:not(:has(.webpage-fields)) .welcome .btn,
body:not(:has(.webpage-fields)) .hero-content .btn {
  border-width: 3px;
  margin-top: 12px;
  width: 100%;
}

body:not(:has(.webpage-fields)) .webpage-block .btn:hover,
body:not(:has(.webpage-fields)) .welcome .btn:hover,
body:not(:has(.webpage-fields)) .hero-content .btn:hover {
  background: #fff;
  border-color: #333;
  color: #8bb756;
}

body:not(:has(.webpage-fields)) .webpage-block .btn:focus-visible,
body:not(:has(.webpage-fields)) .welcome .btn:focus-visible,
body:not(:has(.webpage-fields)) .hero-content .btn:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 2px;
}

body:not(:has(.webpage-fields)) .center-button {
  text-align: center;
  vertical-align: middle;
}

/* Lists and checklist blocks */
body:not(:has(.webpage-fields)) .webpage-block .col-xs-12 ul li {
  list-style: none;
  position: relative;
  padding-left: 1.5em;
}

body:not(:has(.webpage-fields)) .webpage-block .col-xs-12 ul li::before {
  content: "✅";
  position: absolute;
  left: 0;
}

body:not(:has(.webpage-fields)) .webpage-block ol {
  list-style: none;
  counter-reset: step;
  padding-left: 2em;
}

body:not(:has(.webpage-fields)) .post_section_item ol li {
  counter-increment: step;
  position: relative;
  margin-bottom: 1em;
}

body:not(:has(.webpage-fields)) .post_section_item ol li::before {
  content: counter(step);
  position: absolute;
  left: -2em;
  top: .1em;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  background: #f0913e;
  color: #fff;
  font-size: .9em;
  font-weight: 700;
}

body:not(:has(.webpage-fields)) .checklist ul {
  list-style: none;
  padding-left: 30px;
}

body:not(:has(.webpage-fields)) .checklist li {
  font-size: 15px;
  line-height: 26px;
}

body:not(:has(.webpage-fields)) .checklist li::before {
  content: "✓";
  position: absolute;
  left: 35px;
  color: #aad37a;
  font-family: FontAwesome;
}

body:not(:has(.webpage-fields)) .checklist .coordinate .webpage-call-to-action {
  margin-top: -24px;
  background: #4080aa;
  color: #fff;
}

body:not(:has(.webpage-fields)) .checklist .coordinate li::before {
  color: #fff;
}

/* Reusable content patterns */
body:not(:has(.webpage-fields)) .custom-cols .panel-body h4 {
  margin-bottom: 8px;
  padding: 15px;
  border: 2px solid #3f7da6;
  font-weight: 700;
}

body:not(:has(.webpage-fields)) .custom-cols br {
  display: none;
}

body:not(:has(.webpage-fields)) .custom-cols .btn {
  width: 100%;
  margin-top: 0;
}

body:not(:has(.webpage-fields)) .custom-cols img:hover {
  filter: sepia(70%);
}

body:not(:has(.webpage-fields)) .custom-cols-off .panel-body h4 {
  border: 0 !important;
}

body:not(:has(.webpage-fields)) .floating-shadow .panel img,
body:not(:has(.webpage-fields)) .post-show img {
  box-shadow: 0 5px 10px rgba(0, 0, 0, .14), 0 15px 35px rgba(0, 0, 0, .14);
}

body:not(:has(.webpage-fields)) .post-show .col-sm-5 img,
body:not(:has(.webpage-fields)) .post-show .col-sm-7 img {
  box-shadow: none;
}

body:not(:has(.webpage-fields)) .offset-wrapper {
  margin-top: -200px;
  padding: 25px 0 0;
  background: #fff;
}

body:not(:has(.webpage-fields)) .selected-review {
  background: #f0f1f5;
  border-left: 3px solid #307da8;
}

body:not(:has(.webpage-fields)) .selected-review .panel {
  background: none;
  border: 0;
  border-radius: 0;
  color: #307da8;
  box-shadow: none;
}

body:not(:has(.webpage-fields)) .selected-review .panel h4 {
  display: none;
}

body:not(:has(.webpage-fields)) .review-stars {
  height: 3em;
  padding-top: .5em;
}

body:not(:has(.webpage-fields)) .post-show h2 {
  font-size: 28px;
}

body:not(:has(.webpage-fields)) .post-show li,
body:not(:has(.webpage-fields)) .webpage-block li {
  margin-top: 8px;
}

body:not(:has(.webpage-fields)) .post-show .related-links {
  margin: 30px 0 35px;
  padding: 15px 5px 15px 15px;
  border-left: 3px solid #21729b;
  background: #ecfae9;
}

body:not(:has(.webpage-fields)) .differences img {
  max-height: 107px;
  margin: 0 0 0 auto;
}

/* Dark and utility sections */
body:not(:has(.webpage-fields)) .text-white,
body:not(:has(.webpage-fields)) .text-white .carousel-control {
  color: #fff;
}

body:not(:has(.webpage-fields)) .dark .webpage-block a,
body:not(:has(.webpage-fields)) .dark .hero-content a {
  color: #fff;
  text-decoration: underline;
}

body:not(:has(.webpage-fields)) .dark hr {
  border-top: 1px solid #fff;
}

body:not(:has(.webpage-fields)) .jumpstart,
body:not(:has(.webpage-fields)) .website,
body:not(:has(.webpage-fields)) .customer-success {
  background: #302e2e;
  color: #fff;
}

body:not(:has(.webpage-fields)) .jumpstart a {
  color: #fff;
  text-decoration: underline dotted;
}

body:not(:has(.webpage-fields)) .reviews-background {
  background: #3c3c3c;
}

body:not(:has(.webpage-fields)) .custom-page-header {
  padding: 5px 15px;
  border-radius: 5px;
  background: #7e4703;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
}

body:not(:has(.webpage-fields)) .custom-page-header .lead {
  font-size: 2.2em;
}

body:not(:has(.webpage-fields)) .no-header .lead,
body:not(:has(.webpage-fields)) .no-header hr,
body:not(:has(.webpage-fields)) .no-hr hr {
  display: none;
}

body:not(:has(.webpage-fields)) .narrow {
  max-width: 750px;
  margin: 110px auto;
}

body:not(:has(.webpage-fields)) .slider-p {
  font-size: 15px;
}

body:not(:has(.webpage-fields)) .webpage-container-blog .btn {
  margin-top: 0;
}

/* Feature strip */
body:not(:has(.webpage-fields)) .features-list {
  background: #f8f8f8;
}

body:not(:has(.webpage-fields)) .features-list .m-b-xs,
body:not(:has(.webpage-fields)) .features-list > ul {
  margin-bottom: 0 !important;
}

body:not(:has(.webpage-fields)) .features-list > ul.list-inline li {
  display: inline-block;
  float: none;
}

body:not(:has(.webpage-fields)) .features-list > ul.list-inline li a {
  color: #777;
}

body:not(:has(.webpage-fields)) .features-list > ul.list-inline {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
}

body:not(:has(.webpage-fields)) .features-list > ul.list-inline::-webkit-scrollbar {
  display: none;
}

body:not(:has(.webpage-fields)) .features-list.webpage-group .b-p-h-xl {
  margin-top: 0;
  padding-top: 15px;
  padding-bottom: 15px;
}

/* Footer */
body:not(:has(.webpage-fields)) .footer1 {
  padding: 40px 0 20px;
}

body:not(:has(.webpage-fields)) .footer-social b {
  display: none;
}

body:not(:has(.webpage-fields)) .title-widget,
body:not(:has(.webpage-fields)) .title-median {
  color: #636363;
  font-family: 'Fjalla One', sans-serif;
  text-transform: uppercase;
}

body:not(:has(.webpage-fields)) .title-widget {
  position: relative;
  margin: 0 0 25px;
  padding-left: 28px;
  font-size: 20px;
  font-weight: 300;
  line-height: 1;
}

body:not(:has(.webpage-fields)) .title-widget::before {
  position: absolute;
  top: -2px;
  left: 0;
  width: 5px;
  height: 22px;
  background: #89b653;
  content: "";
}

body:not(:has(.webpage-fields)) .widget_nav_menu ul {
  list-style: none;
  padding-left: 0;
}

body:not(:has(.webpage-fields)) .widget_nav_menu ul li {
  position: relative;
  width: 95%;
  margin-bottom: 7px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(0, 0, 0, .05);
  font-size: 13px;
  font-weight: 700;
  line-height: 20px;
  text-transform: uppercase;
}

body:not(:has(.webpage-fields)) .footer-bottom {
  width: 100%;
  min-height: 30px;
  background: #15224f;
}

body:not(:has(.webpage-fields)) .copyright,
body:not(:has(.webpage-fields)) .design,
body:not(:has(.webpage-fields)) .design a {
  min-height: 30px;
  padding: 7px 0;
  color: #fff;
  line-height: 30px;
}

body:not(:has(.webpage-fields)) .design {
  text-align: right;
}

body:not(:has(.webpage-fields)) p.copyright {
  color: #555;
}

/* Existing reusable panels */
body:not(:has(.webpage-fields)) .simple-text-panel .lead.col-sm-12 {
  box-sizing: border-box;
  padding: 18px 24px;
  border: 1px solid #063b61;
  border-radius: 10px;
  background: #e7f3fa;
}

body:not(:has(.webpage-fields)) .simple-text-panel .lead.col-sm-12 > :first-child,
body:not(:has(.webpage-fields)) .simple-text-panel .lead.col-sm-12 > :last-child,
body:not(:has(.webpage-fields)) .content-panel .content-block > .row > div:last-child > :first-child,
body:not(:has(.webpage-fields)) .content-panel .content-block > .row > div:last-child > :last-child {
  margin-top: 0;
  margin-bottom: 0;
}

body:not(:has(.webpage-fields)) .content-panel hr {
  display: none !important;
}

body:not(:has(.webpage-fields)) .content-panel .content-block {
  overflow: hidden;
  border: 1px solid #e26e0f;
  border-radius: 10px;
  background: #fff5ed;
}

body:not(:has(.webpage-fields)) .content-panel .content-block > .row {
  display: flex;
  align-items: stretch;
  margin: 0;
}

body:not(:has(.webpage-fields)) .content-panel .content-block > .row > div {
  float: none;
}

body:not(:has(.webpage-fields)) .content-panel .content-block > .row > div:first-child {
  padding: 4px 0 4px 4px;
}

body:not(:has(.webpage-fields)) .content-panel .content-block > .row > div:first-child img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  border-radius: 10px;
}

body:not(:has(.webpage-fields)) .content-panel .content-block > .row > div:last-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 8px 20px;
}

/* Card patterns */
body:not(:has(.webpage-fields)) .border-columns .row {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}

body:not(:has(.webpage-fields)) .border-columns .row > div,
body:not(:has(.webpage-fields)) .border-columns .webpage-call-to-action,
body:not(:has(.webpage-fields)) .border-columns .webpage-block {
  display: flex;
  height: 100%;
}

body:not(:has(.webpage-fields)) .border-columns .webpage-block {
  width: 100%;
  padding: 0 !important;
}

body:not(:has(.webpage-fields)) .border-columns .webpage-block .panel {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 20px 0 25px;
  overflow: hidden;
  border: 1px solid transparent !important;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 60px rgba(0, 0, 0, .07);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

body:not(:has(.webpage-fields)) .border-columns .webpage-block .panel:hover {
  border-color: #063b61 !important;
  box-shadow: 0 14px 45px rgba(0, 0, 0, .12);
  transform: translateY(-3px);
}

body:not(:has(.webpage-fields)) .border-columns .webpage-block .panel > h4 {
  order: 2;
  margin: 24px 25px 10px;
  padding: 0;
  color: #063b61 !important;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  text-align: left !important;
}

body:not(:has(.webpage-fields)) .border-columns .webpage-block .panel .column-details {
  order: 3;
  flex-grow: 1;
  padding: 0 25px;
  text-align: left;
}

body:not(:has(.webpage-fields)) .border-columns .webpage-block .panel .btn-p {
  order: 4;
  align-self: flex-start;
  width: auto;
  margin: 5px 25px 0;
  padding: 0;
}

body:not(:has(.webpage-fields)) .border-columns .webpage-block .panel > img,
body:not(:has(.webpage-fields)) .border-columns .webpage-block .panel > :has(> img) {
  order: 1;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: calc(100% - 40px) !important;
  height: 180px !important;
  min-height: 180px !important;
  max-height: 180px !important;
  margin: 0 20px !important;
  overflow: hidden;
  border-radius: 6px;
}

body:not(:has(.webpage-fields)) .border-columns .webpage-block .panel > img,
body:not(:has(.webpage-fields)) .border-columns .webpage-block .panel > :has(> img) > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 180px !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center;
  border-radius: 6px;
}

/* Compact and resource panels */
body:not(:has(.webpage-fields)) .compact-content-block {
  box-sizing: border-box;
  padding: 24px 0;
}

body:not(:has(.webpage-fields)) .compact-content-block hr,
body:not(:has(.webpage-fields)) .ideas-resource-columns hr {
  display: none !important;
}

body:not(:has(.webpage-fields)) .compact-content-block .content-block {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
  background: transparent;
}

body:not(:has(.webpage-fields)) .compact-content-block .content-block > .row {
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr);
  align-items: center;
  gap: 26px;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:not(:has(.webpage-fields)) .compact-content-block .content-block > .row::before,
body:not(:has(.webpage-fields)) .compact-content-block .content-block > .row::after {
  display: none !important;
  content: none;
}

body:not(:has(.webpage-fields)) .compact-content-block .content-block > .row > div {
  position: static !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:not(:has(.webpage-fields)) .compact-content-block .content-block > .row > div:first-of-type {
  grid-column: 1;
  grid-row: 1;
}

body:not(:has(.webpage-fields)) .compact-content-block .content-block > .row > div:first-of-type img {
  display: block;
  width: 125px !important;
  max-width: 125px !important;
  height: 125px !important;
  object-fit: contain;
}

body:not(:has(.webpage-fields)) .compact-content-block .content-block > .row > div:nth-of-type(2) {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  text-align: left;
}

body:not(:has(.webpage-fields)) .compact-content-block .content-block > .row > .col-xs-12:only-child {
  grid-column: 1 / -1;
}

body:not(:has(.webpage-fields)) .compact-content-block .content-block h2,
body:not(:has(.webpage-fields)) .compact-content-block .content-block h3 {
  margin: 0 0 8px !important;
  color: #063b61 !important;
  font-size: 30px !important;
  font-weight: 700 !important;
}

body:not(:has(.webpage-fields)) .compact-content-block.compact-panel {
  width: calc(100% - 30px);
  max-width: 1170px;
  margin: 30px auto;
  padding: 24px 30px;
  border: 1px solid #4081aa;
  border-radius: 14px;
  background: linear-gradient(to right, #fff 0%, #f3f9fc 50%, #fff 100%);
}

body:not(:has(.webpage-fields)) .ideas-resource-columns {
  padding: 28px 0;
}

body:not(:has(.webpage-fields)) .ideas-resource-columns > .container > .row {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}

body:not(:has(.webpage-fields)) .ideas-resource-columns > .container > .row > [class*="col-"] {
  display: flex;
}

body:not(:has(.webpage-fields)) .ideas-resource-columns .webpage-block {
  width: 100%;
  padding: 0 !important;
}

body:not(:has(.webpage-fields)) .ideas-resource-columns .webpage-block .panel {
  width: 100%;
  margin: 0;
  padding: 0 30px;
  border: 0 !important;
  background: transparent;
  box-shadow: none;
  text-align: left;
}

body:not(:has(.webpage-fields)) .ideas-resource-columns > .container > .row > [class*="col-"]:first-child .panel {
  border-right: 1px solid #d7dce0 !important;
}

body:not(:has(.webpage-fields)) .ideas-resource-columns .webpage-block .panel > img,
body:not(:has(.webpage-fields)) .ideas-resource-columns .webpage-block .panel > a:has(img),
body:not(:has(.webpage-fields)) .ideas-resource-columns .webpage-block .panel > :has(> img) {
  display: none !important;
}

body:not(:has(.webpage-fields)) .ideas-resource-columns .webpage-block .panel > h4 {
  min-height: 32px;
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #063b61 !important;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3 !important;
  text-align: left !important;
}

body:not(:has(.webpage-fields)) .ideas-resource-columns .webpage-block .panel .column-details {
  padding: 0;
  text-align: left;
}

body:not(:has(.webpage-fields)) .ideas-resource-columns .webpage-block .panel .column-details p {
  margin: 0 0 9px;
}

body:not(:has(.webpage-fields)) .ideas-resource-columns .webpage-block .panel .column-details a {
  color: #e26e0f !important;
  font-weight: 600;
  text-decoration: none;
}

body:not(:has(.webpage-fields)) .ideas-resource-columns .webpage-block .panel .column-details a:hover {
  text-decoration: underline;
}

body:not(:has(.webpage-fields)) .ideas-resource-columns .webpage-block .panel .btn-p {
  display: none !important;
}

/* Documented two-column panel pattern */
body:not(:has(.webpage-fields)) .column-panel {
  padding-top: 30px;
  padding-bottom: 30px;
}

body:not(:has(.webpage-fields)) .column-panel .row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: calc(100% + 30px) !important;
  margin-right: -15px !important;
  margin-left: -15px !important;
}

body:not(:has(.webpage-fields)) .column-panel .row > div {
  display: flex;
}

body:not(:has(.webpage-fields)) .column-panel .row > [class*="col-"]:first-child {
  padding-left: 0 !important;
}

body:not(:has(.webpage-fields)) .column-panel .row > [class*="col-"]:last-child {
  padding-right: 0 !important;
}

body:not(:has(.webpage-fields)) .column-panel .webpage-call-to-action,
body:not(:has(.webpage-fields)) .column-panel .webpage-block {
  height: 100%;
}

body:not(:has(.webpage-fields)) .column-panel .webpage-block {
  padding: 0 !important;
}

body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel {
  position: relative;
  display: grid;
  grid-template-columns: 36% minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  column-gap: 20px;
  align-items: start;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #7fa053 !important;
  border-radius: 10px;
  box-shadow: 0 10px 60px rgba(0, 0, 0, .07);
}

body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel > a:not(.btn),
body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel > img {
  grid-column: 1;
  grid-row: 1 / -1;
  align-self: stretch;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  margin: 0;
  overflow: hidden;
}

body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel > a:not(.btn) > img,
body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  object-position: center;
  border-radius: 9px 0 0 9px;
}

body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel > h4 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  padding: 22px 22px 8px 0;
  color: #063b61 !important;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  text-align: left !important;
}

body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel .column-details {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  padding: 0 22px 15px 0;
  text-align: left;
}

body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel .btn-p {
  grid-column: 2;
  grid-row: 3;
  align-self: end;
  justify-self: start;
  width: auto;
  margin: 0 22px 22px 0;
  padding: 0;
}

body:not(:has(.webpage-fields)) .marketingplan-hero-gradient {
  background: linear-gradient(to bottom, #4080aa 0%, #21658d 30%, #0b466d 65%, #023552 100%) !important;
}

/* Small screens */
@media (min-width: 768px) {
  body:not(:has(.webpage-fields)) .small-hero.features .hero-content .col-sm-6:first-of-type {
    width: 65%;
  }

  body:not(:has(.webpage-fields)) .small-hero.features .hero-content .col-sm-6:last-of-type {
    width: 35%;
  }

  body:not(:has(.webpage-fields)) .welcome .jumbotron .container {
    margin-top: 85px;
  }

  body:not(:has(.webpage-fields)) .features-list .list-inline {
    margin-left: 30px;
  }
}

@media (min-width: 1024px) {
  body:not(:has(.webpage-fields)) .welcome .jumbotron .container {
    margin-top: 185px;
  }

  body:not(:has(.webpage-fields)) .mobile-buttons,
  body:not(:has(.webpage-fields)) .features-list .scroll {
    display: none !important;
  }
}

@media (max-width: 1200px) {
  body:not(:has(.webpage-fields)) .webpage-header .navbar li a {
    font-size: 85%;
  }

  body:not(:has(.webpage-fields)) .features-list .container {
    width: 100%;
  }
}

@media (max-width: 1023px) {
  body:not(:has(.webpage-fields)) .webpage-header-embed {
    width: 42%;
  }

  body:not(:has(.webpage-fields)) .jumbotron {
    padding: 35px;
  }

  body:not(:has(.webpage-fields)) .features .jumbotron .hero-content h1 {
    font-size: 30px;
  }

  body:not(:has(.webpage-fields)) .features-list .p-sm {
    padding-top: 0;
  }

  body:not(:has(.webpage-fields)) .features-list .scroll {
    color: #777;
  }
}

@media (max-width: 768px) {
  body:not(:has(.webpage-fields)) .webpage-header .navbar li a {
    font-size: 100%;
  }

  body:not(:has(.webpage-fields)) .welcome .jumbotron h1 {
    font-size: 33px;
  }

  body:not(:has(.webpage-fields)) .welcome .btn {
    font-size: 24px;
  }

  body:not(:has(.webpage-fields)) .welcome .jumbotron .container {
    margin-top: 0;
  }

  body:not(:has(.webpage-fields)) .webpage-hero .jumbotron {
    background-image: none !important;
    background-color: #4080aa;
  }

  body:not(:has(.webpage-fields)) .text-shadow-dark .webpage-hero {
    text-shadow: none;
  }

  body:not(:has(.webpage-fields)) .offset-wrapper {
    margin-top: 0;
  }

  body:not(:has(.webpage-fields)) .webpage-header-embed {
    width: 50%;
  }

  body:not(:has(.webpage-fields)) .checklist .col-sm-3 {
    padding: 0 15px;
  }

  body:not(:has(.webpage-fields)) .compact-content-block .content-block > .row {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body:not(:has(.webpage-fields)) .compact-content-block .content-block > .row > div {
    grid-column: 1 / -1 !important;
  }

  body:not(:has(.webpage-fields)) .ideas-resource-columns > .container > .row {
    display: block;
  }

  body:not(:has(.webpage-fields)) .ideas-resource-columns > .container > .row > [class*="col-"] {
    display: block;
    width: 100% !important;
  }

  body:not(:has(.webpage-fields)) .ideas-resource-columns .webpage-block .panel {
    padding: 18px 0;
  }

  body:not(:has(.webpage-fields)) .ideas-resource-columns > .container > .row > [class*="col-"]:first-child .panel {
    border-right: 0 !important;
    border-bottom: 1px solid #d7dce0 !important;
  }

  body:not(:has(.webpage-fields)) .ideas-resource-columns .webpage-block .panel > h4 {
    min-height: 0;
  }

  body:not(:has(.webpage-fields)) .simple-text-panel .lead.col-sm-12 {
    padding: 16px 18px;
  }

  body:not(:has(.webpage-fields)) .content-panel .content-block > .row {
    display: block;
  }

  body:not(:has(.webpage-fields)) .content-panel .content-block > .row > div {
    width: 100% !important;
  }

  body:not(:has(.webpage-fields)) .content-panel .content-block > .row > div:first-child {
    padding: 4px 4px 0;
  }

  body:not(:has(.webpage-fields)) .content-panel .content-block > .row > div:first-child img {
    height: auto;
    min-height: 0;
  }

  body:not(:has(.webpage-fields)) .content-panel .content-block > .row > div:last-child {
    padding: 8px 16px;
  }

  body:not(:has(.webpage-fields)) .column-panel {
    padding-top: 22px;
    padding-bottom: 22px;
  }

  body:not(:has(.webpage-fields)) .column-panel .row {
    display: block;
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body:not(:has(.webpage-fields)) .column-panel .row > div {
    display: block;
    width: 100% !important;
    margin-bottom: 20px;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body:not(:has(.webpage-fields)) .column-panel .row > div:last-child {
    margin-bottom: 0;
  }

  body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel {
    display: flex;
    flex-direction: column;
  }

  body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel > a:not(.btn),
  body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel > img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel > a:not(.btn) > img,
  body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel > img {
    width: 100%;
    height: 100%;
    min-height: 0;
    border-radius: 9px 9px 0 0;
  }

  body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel > h4 {
    order: 2;
    padding: 20px 22px 8px;
  }

  body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel .column-details {
    order: 3;
    padding: 0 22px 15px;
  }

  body:not(:has(.webpage-fields)) .column-panel .webpage-block .panel .btn-p {
    order: 4;
    margin: 0 22px 22px;
  }

  body:not(:has(.webpage-fields)) .border-columns .webpage-block .panel > img,
  body:not(:has(.webpage-fields)) .border-columns .webpage-block .panel > :has(> img) {
    width: calc(100% - 30px) !important;
    margin-right: 15px !important;
    margin-left: 15px !important;
  }
}

@media (max-width: 600px) {
  body:not(:has(.webpage-fields)) .webpage-header-embed {
    width: 45%;
    margin-left: 40%;
  }

  body:not(:has(.webpage-fields)) .mobile-buttons {
    right: 0;
    float: right;
    margin: 12px 15px;
    font-size: 70%;
  }

  body:not(:has(.webpage-fields)) .mobile-buttons a {
    padding: 4px;
  }
}

/* Anchored utility behavior */
body:not(:has(.webpage-fields)) .hide-button a.btn {
  display: none !important;
}

body:not(:has(.webpage-fields)) .webpage-container,
body:not(:has(.webpage-fields)) .webpage-group {
  scroll-margin-top: 90px;
}

/*
  Editor readability exceptions.
  These rules intentionally apply only when Locable exposes editor fields.
  They prevent white-on-white editing when a front-end hero image or section
  background is hidden or flattened in the editor preview.
*/
body:has(.webpage-fields) .webpage-hero .jumbotron,
body:has(.webpage-fields) .hero-content,
body:has(.webpage-fields) .webpage-block .panel {
  background-color: #f7f9fb;
  color: #263746;
}

body:has(.webpage-fields) .webpage-hero .jumbotron,
body:has(.webpage-fields) .text-shadow-dark .webpage-hero,
body:has(.webpage-fields) .dark .webpage-hero {
  text-shadow: none;
}

body:has(.webpage-fields) .webpage-hero .jumbotron h1,
body:has(.webpage-fields) .webpage-hero .jumbotron h2,
body:has(.webpage-fields) .webpage-hero .jumbotron h3,
body:has(.webpage-fields) .webpage-hero .jumbotron h4,
body:has(.webpage-fields) .webpage-hero .jumbotron h5,
body:has(.webpage-fields) .webpage-hero .jumbotron h6,
body:has(.webpage-fields) .webpage-hero .jumbotron p,
body:has(.webpage-fields) .webpage-hero .jumbotron li,
body:has(.webpage-fields) .webpage-hero .jumbotron a,
body:has(.webpage-fields) .hero-content p,
body:has(.webpage-fields) .hero-content div,
body:has(.webpage-fields) .text-white,
body:has(.webpage-fields) .dark,
body:has(.webpage-fields) .dark a {
  color: #263746 !important;
}

body:has(.webpage-fields) .webpage-block .panel {
  border-color: #d8e0e6;
}

body:has(.webpage-fields) .webpage-block .panel h4,
body:has(.webpage-fields) .webpage-block .panel h4 a {
  color: #063b61 !important;
}

body:has(.webpage-fields) .webpage-hero .jumbotron::before,
body:has(.webpage-fields) .homepage-hero .jumbotron::before {
  display: none;
}

/* Preserve intentional color treatments in the editor preview. */
body:has(.webpage-fields) .marketingplan-hero-gradient {
  background: linear-gradient(to bottom, #4080aa 0%, #21658d 30%, #0b466d 65%, #023552 100%) !important;
  color: #fff;
}

body:has(.webpage-fields) .marketingplan-hero-gradient .hero-content,
body:has(.webpage-fields) .marketingplan-hero-gradient .hero-content h1,
body:has(.webpage-fields) .marketingplan-hero-gradient .hero-content h2,
body:has(.webpage-fields) .marketingplan-hero-gradient .hero-content h3,
body:has(.webpage-fields) .marketingplan-hero-gradient .hero-content p,
body:has(.webpage-fields) .marketingplan-hero-gradient .hero-content a {
  background: transparent;
  color: #fff !important;
}

body:has(.webpage-fields) .dark,
body:has(.webpage-fields) .jumpstart,
body:has(.webpage-fields) .website,
body:has(.webpage-fields) .customer-success {
  background-color: #302e2e;
  color: #fff;
}

body:has(.webpage-fields) .reviews-background {
  background-color: #3c3c3c;
}

body:has(.webpage-fields) .simple-text-panel .lead.col-sm-12 {
  background-color: #e7f3fa;
}

body:has(.webpage-fields) .content-panel .content-block {
  background-color: #fff5ed;
}

body:has(.webpage-fields) .compact-content-block.compact-panel {
  background: linear-gradient(to right, #fff 0%, #f3f9fc 50%, #fff 100%);
}

body:has(.webpage-fields) .border-columns .webpage-block .panel {
  background-color: #fff;
}

/* Match the public button treatment while editing. */
body:has(.webpage-fields) .webpage-block .btn,
body:has(.webpage-fields) .welcome .btn,
body:has(.webpage-fields) .hero-content .btn,
body:has(.webpage-fields) .btn-primary {
  background: #8bb756 !important;
  border: 1px solid #fff;
  border-radius: 0;
  color: #fff !important;
  text-shadow: none;
  text-decoration: none !important;
}

body:has(.webpage-fields) .welcome .btn,
body:has(.webpage-fields) .hero-content .btn {
  border-width: 3px;
}

body:has(.webpage-fields) .webpage-block .btn:hover,
body:has(.webpage-fields) .welcome .btn:hover,
body:has(.webpage-fields) .hero-content .btn:hover,
body:has(.webpage-fields) .btn-primary:hover {
  background: #fff !important;
  border-color: #333;
  color: #8bb756 !important;
}

/*
  Summernote/editor content readability.
  The editor inherits the hero's white text color even when its background
  image/gradient is not rendered. Set the editable surface's inherited color,
  while leaving inline authored colors such as the orange eyebrow untouched.
*/
body:has(.webpage-fields) .note-editable {
  color: #263746 !important;
  text-shadow: none !important;
}

body:has(.webpage-fields) .note-editable .jumbotron,
body:has(.webpage-fields) .note-editable .hero-content,
body:has(.webpage-fields) .note-editable .text-white,
body:has(.webpage-fields) .note-editable .dark,
body:has(.webpage-fields) .note-editable .dark a {
  color: #263746 !important;
  text-shadow: none !important;
}

body:has(.webpage-fields) .note-editable .btn,
body:has(.webpage-fields) .note-editable .btn-primary {
  background: #8bb756 !important;
  border: 1px solid #fff;
  border-radius: 0;
  color: #fff !important;
  text-shadow: none;
}

/*
  The marketing-plan hero is intentionally a colored surface. Keep this
  class active in the editor too, and let its white text inherit through the
  editable content instead of applying the neutral editor fallback.
*/
.marketingplan-hero-gradient {
  background: linear-gradient(to bottom, #4080aa 0%, #21658d 30%, #0b466d 65%, #023552 100%) !important;
  color: #fff;
}

.marketingplan-hero-gradient .hero-content,
.marketingplan-hero-gradient .note-editable,
.marketingplan-hero-gradient .note-editable .jumbotron,
.marketingplan-hero-gradient .note-editable .hero-content {
  background: transparent !important;
  color: #fff !important;
  text-shadow: none !important;
}

.marketingplan-hero-gradient .note-editable .btn,
.marketingplan-hero-gradient .note-editable .btn-primary {
  background: #8bb756 !important;
  border: 1px solid #fff;
  border-radius: 0;
  color: #fff !important;
}

/* The editor fallback above is more specific for paragraph content. Restore
   the public hero treatment for the actual marketing-plan hero content. */
body:has(.webpage-fields) .marketingplan-hero-gradient .note-editable p,
body:has(.webpage-fields) .marketingplan-hero-gradient .note-editable li,
body:has(.webpage-fields) .marketingplan-hero-gradient .note-editable a {
  color: #fff !important;
}

/* Let editable hero content inherit the color set by the hero's own wrapper.
   This is necessary because the editor's well-transparent element carries
   the authored white color inline, while the note-editable reset otherwise
   masks that inheritance. */
body:has(.webpage-fields) .webpage-hero .note-editable,
body:has(.webpage-fields) .webpage-hero .note-editable .jumbotron,
body:has(.webpage-fields) .webpage-hero .note-editable p,
body:has(.webpage-fields) .webpage-hero .note-editable li,
body:has(.webpage-fields) .webpage-hero .note-editable a {
  color: inherit !important;
}


