* {
  box-sizing: inherit;
  padding: 0;
  margin: 0;
}

a,
button,
input,
textarea,
select,
summary,
[tabindex]:not([tabindex="-1"]) {
  outline: 0.2rem solid transparent !important;
  outline-offset: 0.2rem;
}

body.keyboard-nav a:focus-visible,
body.keyboard-nav button:focus-visible,
body.keyboard-nav input:focus-visible,
body.keyboard-nav textarea:focus-visible,
body.keyboard-nav select:focus-visible,
body.keyboard-nav summary:focus-visible,
body.keyboard-nav [tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 0.2rem solid var(--green) !important;
  outline-offset: 0.2rem;
}

body:not(.keyboard-nav) *:focus-visible {
  outline: 0.2rem solid transparent !important;
}

body:not(.keyboard-nav) .form-checkbox-input-wrapper:focus-within {
  outline: none !important;
  box-shadow: none !important;
}

html {
  box-sizing: border-box;
  font-size: 62.5%;
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
  overflow-x: hidden;
}

html::-webkit-scrollbar {
  display: none;
}

body {
  position: relative;
  font-family: "Geist", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  color: var(--black);
  background-color: var(--bg-off-white);
  overflow-x: hidden;
}

body.no-scroll {
  height: 100vh;
  overflow: hidden;
}
