/* Normalize */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

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

body {
  margin: 0;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* CSS Variables */

:root {
  --hs-heading-fontSizeMultiplier: 1;
}

@media (width < 768px) {
  :root:not(:has([data-hs-breakpoint-name])) {
    --hs-heading-fontSizeMultiplier: 0.8;
  }
}

[data-hs-breakpoint-name="mobile"] {
  --hs-heading-fontSizeMultiplier: 0.8;
}

/* Typography */

body {
  font-family: var(--hs-paragraph-fontFamily);
  font-size: var(--hs-paragraph-fontSize);
  font-style: var(--hs-paragraph-fontStyle);
  font-weight: var(--hs-paragraph-fontWeight);
  line-height: var(--hs-paragraph-lineHeight);
  overflow-wrap: break-word;
}

html[lang^='ja'] body,
html[lang^='zh'] body,
html[lang^='ko'] body {
  line-break: strict;
  overflow-wrap: normal;
  word-break: break-all;
}

a:not([data-button-variant]) {
  text-decoration: var(--hs-link-textDecoration);
}

a:not([data-button-variant]):hover,
a:not([data-button-variant]):focus-visible {
  text-decoration: var(--hs-link-textDecoration-hover);
}

a:not([data-button-variant]):focus-visible {
  outline: 2px solid Highlight;
  outline-offset: 2px;
}

a:not(h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, [data-button-variant]) {
  font-weight: var(--hs-link-fontWeight);
  font-style: var(--hs-link-fontStyle);
}

a:not(h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, [data-button-variant]):hover,
a:not(h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, [data-button-variant]):focus-visible {
  font-weight: var(--hs-link-fontWeight-hover);
  font-style: var(--hs-link-fontStyle-hover);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--hs-headings-fontFamily);
  letter-spacing: var(--hs-headings-letterSpacing);
  line-height: var(--hs-headings-lineHeight);
  text-transform: var(--hs-headings-textTransform);
}

h1 {
  font-size: calc(var(--hs-heading1-fontSize) * var(--hs-heading-fontSizeMultiplier));
  font-style: var(--hs-heading1-fontStyle);
  font-weight: var(--hs-heading1-fontWeight);
}

h2 {
  font-size: calc(var(--hs-heading2-fontSize) * var(--hs-heading-fontSizeMultiplier));
  font-style: var(--hs-heading2-fontStyle);
  font-weight: var(--hs-heading2-fontWeight);
}

h3 {
  font-size: calc(var(--hs-heading3-fontSize) * var(--hs-heading-fontSizeMultiplier));
  font-style: var(--hs-heading3-fontStyle);
  font-weight: var(--hs-heading3-fontWeight);
}

h4 {
  font-size: calc(var(--hs-heading4-fontSize) * var(--hs-heading-fontSizeMultiplier));
  font-style: var(--hs-heading4-fontStyle);
  font-weight: var(--hs-heading4-fontWeight);
}

h5 {
  font-size: calc(var(--hs-heading5-fontSize) * var(--hs-heading-fontSizeMultiplier));
  font-style: var(--hs-heading5-fontStyle);
  font-weight: var(--hs-heading5-fontWeight);
}

h6 {
  font-size: calc(var(--hs-heading6-fontSize) * var(--hs-heading-fontSizeMultiplier));
  font-style: var(--hs-heading6-fontStyle);
  font-weight: var(--hs-heading6-fontWeight);
}

blockquote {
  font-family: var(--hs-blockquote-fontFamily);
  font-size: var(--hs-blockquote-fontSize);
  font-style: var(--hs-blockquote-fontStyle);
  font-weight: var(--hs-blockquote-fontWeight);
  line-height: var(--hs-blockquote-lineHeight);
}

/* Layout */

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

/* Site header */

/* The navigation element positions its desktop flyout submenus absolutely, so the
   header needs its own stacking context to keep them above the sections below it. */
.website-header {
  position: relative;
  z-index: 10;
}

/* Navigation skipper */

.header-skip-link {
  position: absolute;
  top: auto;
  left: -10000px;
  overflow: hidden;
  height: 1px;
  width: 1px;
  white-space: nowrap;
  clip: rect(0, 0, 0, 0);
}

.header-skip-link:hover,
.header-skip-link:focus-visible,
.header-skip-link:active {
  z-index: 2;
  top: 0;
  left: 0;
  overflow: visible;
  height: auto;
  width: auto;
}