/* Match main-site chrome; Bootstrap is scoped to these three regions. */
.kp-site-chrome {
  font: 400 16px/1.5 -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: normal;
  color: #5a5a5a;
  text-align: left;
}
.kp-site-chrome a { text-decoration: none; }
.kp-site-chrome a:hover { text-decoration: underline; }
.kp-site-chrome a:focus-visible, .kp-site-chrome button:focus-visible {
  outline: 2px solid #198754;
  outline-offset: 3px;
}
.kp-site-chrome .navbar { border-radius: 0; margin: 0; }
/* In-flow header avoids covering titles, anchors or the WordPress admin bar. */
.kp-site-header .navbar.fixed-top { position: relative; inset: auto; z-index: 100; }
.kp-site-header .navbar-brand { display: inline-block; white-space: nowrap; }
.kp-site-header .navbar-brand span { color: green; font-weight: bold; }
.kp-site-header .navbar-brand img { width: 30px; height: 30px; margin-right: .5rem; }
.kp-site-header .navbar-toggler { color: white; cursor: pointer; }
.kp-site-header .navbar-toggler { display: none; }
.kp-site-header .navbar-collapse.collapse { display: block; }
.kp-site-header .navbar-nav { margin-top: 0; margin-bottom: 0; padding-left: 0; }
.kp-site-header .navbar-nav > li { list-style: none; margin: 0; padding: 0; }
.kp-site-header .nav-link[aria-current] { color: #fff; }
.kp-site-header .dropdown-menu { font-size: 16px; }
.kp-site-header .dropdown-menu a { white-space: normal; }
.kp-site-header .dropdown.show > .dropdown-menu { display: block; }
.kp-site-header:not(.kp-controls-ready) .dropdown-menu { display: block; position: static; }
.kp-site-header .dropdown-toggle { cursor: pointer; }
.kp-breadcrumb-wrap { padding: 0; }
.kp-breadcrumb-wrap nav { padding: .625rem 0; margin: 0; }
.kp-breadcrumb-wrap .breadcrumb {
  display: flex; flex-wrap: wrap; padding: 0; margin: 0;
  background: transparent; font-size: .8125rem; line-height: 1.5;
}
.kp-breadcrumb-wrap .breadcrumb-item { float: none; overflow-wrap: anywhere; }
.kp-breadcrumb-wrap .breadcrumb-item + .breadcrumb-item::before { float: none; }
.kp-site-footer footer {
  clear: both; border-top: 1px solid #dee2e6; font-size: .85em; color: #6c757d;
  padding: 1rem; margin-top: 1.5rem; text-align: center;
}
.kp-site-footer footer > div:first-child { margin-bottom: .25rem; }
.kp-site-footer footer > div:first-child a { display: inline-block; margin: 0 8px; }
.kp-site-footer small img { height: 16px; width: auto; vertical-align: middle; }
.kp-site-footer small img:first-child { height: 18px; margin-right: 4px; }
.kp-blog-signup-preserved { padding: 0; }
.kp-blog-signup-preserved .kp-blog-signup-panel {
  box-sizing: border-box; max-width: none; margin: 32px 0; padding: 24px;
  border: 1px solid #ddd; border-radius: 10px; background: #fff;
  box-shadow: 0 .125rem .25rem #00000013; overflow: hidden; color: #292b2c;
}
.kp-blog-signup-panel h2 {
  background: linear-gradient(135deg, #28a745 0%, #1e7e34 100%);
  color: #fff; text-align: center; padding: 20px 24px;
  margin: -24px -24px 24px; font: inherit; font-size: 1.5rem;
  font-weight: 700; line-height: 1.25; border-radius: 9px 9px 0 0;
}
.kp-blog-signup-panel p { margin: 0 0 16px; }
.kp-blog-signup-panel > p:last-child { margin-bottom: 0; font-size: .9rem; color: #53635a; }
.kp-blog-signup-panel label { display: block; margin-bottom: 0; font-weight: 600; }
.kp-blog-signup-panel input[type=email] {
  display: block; box-sizing: border-box; width: 100%; max-width: none;
  margin-top: 8px; padding: 10px 12px; border: 1px solid #ccc;
  border-radius: 4px; background: #fff; color: #292b2c; font: inherit;
}
.kp-blog-signup-panel button[type=submit], .kp-blog-signup-panel a.kp-signup-link {
  border: 1px solid #1e7e34; border-radius: 4px; background: #218838;
  color: #fff; padding: 10px 20px; font: inherit; font-weight: 600; cursor: pointer;
}
.kp-blog-signup-panel a.kp-signup-link { display: inline-block; text-decoration: none; }
.kp-blog-signup-panel button[type=submit]:hover, .kp-blog-signup-panel a.kp-signup-link:hover { background: #1e7e34; color: #fff; }
.kp-blog-signup-panel input:focus-visible { outline: 2px solid #198754; outline-offset: 2px; }
/* Use the same Bootstrap container dimensions without applying Bootstrap's
 * typography/reset rules to WordPress article blocks. */
body.kp-content-layout { --kpsc-article-width: 100%; }
body.kp-content-layout .wp-site-blocks > main {
  --wp--style--global--content-size: 100%;
  --wp--style--global--wide-size: 100%;
  --wp--style--root--padding-left: 0px;
  --wp--style--root--padding-right: 0px;
  box-sizing: border-box; width: 100%; max-width: var(--kpsc-article-width);
  margin-left: auto !important; margin-right: auto !important;
  padding-left: 15px; padding-right: 15px;
}
body.kp-content-layout.home .wp-site-blocks > main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.kp-content-layout main .kp-blog-banner { margin: 0 0 2rem; max-width: 100%; }
.kp-blog-banner img { display: block; width: 100%; height: auto; border-radius: 8px; }
body.kp-article-layout main .wp-block-post-content > :where(p, h2, h3, h4, h5, h6, ul, ol, blockquote, pre) {
  box-sizing: border-box; max-width: min(100%, 48rem);
  margin-left: auto !important; margin-right: auto !important;
}
body.kp-article-layout main .wp-block-post-featured-image,
body.kp-article-layout main .wp-block-post-content > .wp-block-image:not(.alignleft):not(.alignright) {
  max-width: 100%;
}
@media (min-width: 576px) { body.kp-content-layout { --kpsc-article-width: 540px; } }
@media (min-width: 768px) { body.kp-content-layout { --kpsc-article-width: 720px; } }
@media (min-width: 992px) { body.kp-content-layout { --kpsc-article-width: 960px; } }
@media (min-width: 1200px) { body.kp-content-layout { --kpsc-article-width: 1140px; } }
@media (max-width: 576px) {
  .kp-blog-signup-preserved .kp-blog-signup-panel { padding: 18px; }
  .kp-blog-signup-panel h2 { margin: -18px -18px 18px; padding: 18px; font-size: 1.3rem; }
  .kp-blog-signup-panel button[type=submit] { width: 100%; }
}
body.kp-shared-chrome .wp-site-blocks { padding-top: 0; padding-bottom: 0; }
body.kp-shared-chrome .wp-site-blocks > .kp-site-header,
body.kp-shared-chrome .wp-site-blocks > .kp-breadcrumb-wrap,
body.kp-shared-chrome .wp-site-blocks > .kp-site-footer { margin-top: 0; margin-left: 0; margin-right: 0; max-width: none; }
@media (max-width: 1199px) {
  .kp-site-header.kp-controls-ready .navbar-toggler { display: block; }
  .kp-site-header.kp-controls-ready .navbar-collapse:not(.show) { display: none; }
}
@media (min-width: 1200px) {
  .kp-site-header .navbar-collapse.collapse { display: flex; }
}
@media print {
  .kp-site-header, .kp-blog-signup-preserved, .kp-site-footer { display: none; }
}

.kp-signup-categories{margin:20px 0;border:0;padding:0}.kp-signup-categories[hidden],.kp-signup-category-options[hidden]{display:none!important}.kp-signup-categories legend{font-size:15px;font-weight:700;margin-bottom:8px}.kp-blog-signup-panel .kp-signup-categories label{display:flex;align-items:center;gap:10px;margin:0;padding:10px 0;cursor:pointer}.kp-blog-signup-panel .kp-signup-categories input[type=checkbox]{display:inline-block;width:20px!important;height:20px;min-height:0;padding:0;margin:0;flex:none;accent-color:#075d37}.kp-signup-category-options{padding-left:16px}.kp-signup-categories small,.kp-signup-consent{font-size:13px;color:#53635a}.kp-category-signup [data-subscribe-status]:empty{display:none}
