.klm-skip {
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  z-index: 100001;
  background: #fff;
  color: #212121;
  padding: 0.4rem 0.7rem;
  transform: translateY(-150%);
}
.klm-skip:focus {
  transform: none;
}
button.g-offcanvas-toggle {
  background: transparent;
  border: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
  padding: 0;
}
.klm-sr,
.rsfp-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.klm-hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.formNoError {
  display: none;
}
.has-error .formNoError {
  display: block;
  color: #8d1d1d;
}
.klm-error-summary {
  background: #fff4f4;
  border: 1px solid #8d1d1d;
  color: #3d1212;
  padding: 0.8rem 1rem;
  margin: 0 0 1rem;
}
.klm-error-summary ul {
  margin: 0.4rem 0 0 1.1rem;
}
.klm-recaptcha-note {
  font-size: 0.85rem;
  margin-top: 0.6rem;
}
/* Google's v3 badge is real, but its own inline rule parks it at right:-186px,
   leaving only a sliver in the viewport. Keep the whole official badge on screen. */
body .grecaptcha-badge {
  visibility: visible !important;
  opacity: 1 !important;
  right: 12px !important;
  bottom: 12px !important;
  z-index: 100001 !important;
  /* The unauthorized-domain message is wider than Google's 256px frame and
     clips the logo. Give the official iframe room; do not replace it. */
  width: 340px !important;
  max-width: calc(100vw - 24px) !important;
  overflow: hidden !important;
}
body .grecaptcha-badge iframe {
  width: 340px !important;
  max-width: calc(100vw - 24px) !important;
}
@media (min-width: 48rem) {
  #g-navigation .g-main-nav .g-parent:hover > .g-dropdown,
  #g-navigation .g-main-nav .g-parent:focus-within > .g-dropdown {
    opacity: 1;
    visibility: visible;
    overflow: visible;
  }
}
#g-offcanvas #g-mobilemenu-container .g-dropdown {
  position: static;
  opacity: 1;
  visibility: visible;
  overflow: visible;
}
.g-nav-overlay[hidden] {
  display: none;
}
.g-offcanvas-open .g-nav-overlay {
  display: block;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 20;
}
.klm-modal {
  position: fixed;
  inset: 0;
  z-index: 100002;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(33, 33, 33, 0.62);
}
.klm-modal-card {
  background: #ffffff;
  color: #212121;
  width: min(32rem, 100%);
  padding: 1.4rem 1.4rem 1.2rem;
  border-top: 6px solid #6832b4;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}
.klm-modal-card h2 {
  color: #6832b4;
  margin: 0 0 0.6rem;
  font-size: 1.6rem;
}
.klm-modal-card p {
  color: #212121;
  margin: 0 0 1rem;
}
.klm-modal-card button {
  background: #6832b4;
  color: #ffffff;
  border: 0;
  padding: 0.45rem 1rem;
  font-weight: 700;
  cursor: pointer;
}
.klm-modal-card button:focus,
.klm-skip:focus,
button.g-offcanvas-toggle:focus,
a:focus {
  outline: 3px solid #212121;
  outline-offset: 2px;
}
#g-content-start:focus {
  outline: none;
}
