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

html {
  scroll-behavior: smooth;
  scroll-snap-type: y proximity;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden;
}

@media screen and (max-width: 767px) {
  .hide-mobile {
    display: none;
  }
}

[x-cloak] {
  display: none !important;
}

.accessibility:not(:focus):not(:active) {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.container {
  margin: 0 auto;
  width: calc(100% - 2 * var(--margin));
  max-width: var(--max-width);
}

img,
svg {
  max-width: 100%;
  height: auto;
}
