html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

a:any-link {
  color: inherit;
}

*,
*:after,
*:before {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  margin: 0;
  padding: 0;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  font-size: 20px;
  line-height: 24px;
  font-weight: 400;

  font-family:
    'Rail Alphabet 2',
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    Roboto,
    Oxygen,
    Ubuntu,
    Cantarell,
    'Open Sans',
    'Helvetica Neue',
    sans-serif;
  color: #000;

  &,
  #gatsby-focus-wrapper,
  #___gatsby {
    min-height: 100vh;
  }
}

body,
#___gatsby,
#gatsby-focus-wrapper {
  height: 100%;
  overflow-x: hidden;
}

#gatsby-focus-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

main {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p {
    margin-bottom: 0.5em;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}

b,
strong {
  font-weight: bold;
}

body:has(dialog[open]) {
  overflow: hidden;
}
