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

html, body {
  height: 100%;
}

body {
  line-height: calc(1em + 0.5rem);
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
          hyphens: auto;
}

/* Helper classes */
.background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

ul:where([class]) {
  list-style: none;
}

.grid-x .cell {
  position: relative;
  z-index: 2;
}
.grid-x.contained {
  padding: 0 10vw;
}
.grid-x.semi-full {
  padding: 0 5vw;
}