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

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td,
figure,
figcaption {
  margin: 0;
  padding: 0;
}

:where(p, ul, ol, dl, li, dt, dd, h1, h2, h3, h4, h5, h6) {
  margin-block: 0;
  margin-inline: 0;
}

body {
  min-height: 100vh;
  min-height: 100dvh;
  overflow-wrap: break-word;
  overflow-x: hidden;
  overflow-y: auto;
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
label {
  line-height: 1.1;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

a {
  cursor: pointer;
}

@media (any-hover: hover) {
  a:hover,
  button:hover {
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
img,
picture,
video,
svg {
  max-width: 100%;
  display: block;
  height: auto;
}

:where(audio, iframe, img, svg, video) {
  max-block-size: 100%;
  max-inline-size: 100%;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}

input,
button,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}

:where(fieldset) {
  min-inline-size: 0;
  border: none;
  padding: 0;
}

:where(label):has(+ :where(textarea, input, select)) {
  display: block;
}

:where([type=tel], [type=url], [type=email], [type=number]):not(:-moz-placeholder) {
  direction: ltr;
}

:where([type=tel], [type=url], [type=email], [type=number]):not(:-ms-input-placeholder) {
  direction: ltr;
}

:where([type=tel], [type=url], [type=email], [type=number]):not(:placeholder-shown) {
  direction: ltr;
}

button {
  padding: 0;
  background-color: transparent;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

:focus {
  outline: none;
}

:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 2px;
}

[data-theme=dark] :focus-visible,
.dark-bg :focus-visible {
  outline-color: #fff;
}

[hidden]:not([hidden=until-found]) {
  display: none !important;
}

:where(table) {
  border-collapse: collapse;
  border-spacing: 0;
}

ul,
ol {
  list-style: none;
}

.sr-only,
.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;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: smooth;
  }
}
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]::after {
    content: " (" attr(href) ")";
  }
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}