/* TYPOGRAPHY STYLES */

/* defaults */
[class*="fs0"],
h1, [class*="fs1"],
h2, [class*="fs2"],
h3, [class*="fs3"], 
h4, [class*="fs4"],
h5, [class*="fs5"],
h6, [class*="fs6"],
p, [class*="fs7"]  {
	font-size: inherit;
	font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
	text-transform: inherit;
}
body { font-smoothing: antialiased; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, p { margin-top: 0; margin-bottom: 0; }
:is(h1, h2, h3, h4, h5, h6, p) a { text-decoration: underline; }
.w-richtext > *:first-child { margin-top: 0; }
.w-richtext > *:last-child { margin-bottom: 0; }

/* body font styles */
body {
	font-size: 1rem;
	font-family: var(--ff1);
  font-weight: var(--fw1);
  line-height: var(--lh1);
  letter-spacing: var(--ls1);
	text-transform: var(--tt1);
}

/* heading font styles */
[class*="fs0"],
h1, [class*="fs1"],
h2, [class*="fs2"],
h3, [class*="fs3"],
h4, [class*="fs4"],
h5, [class*="fs5"],
h6, [class*="fs6"] {
	/* font-family: var(--ff0); */
  font-weight: var(--fw2);
  line-height: var(--lh4);
  letter-spacing: var(--ls2);
	/* text-transform: var(--tt0); */
}

/* individual font styles */
[class*="fs0"] {
  font-size: 7rem;
	/* font-family: var(--ff0); */
  /* font-weight: var(--fw0); */
  /* line-height: var(--lh0); */
  /* letter-spacing: var(--ls0); */
	/* text-transform: var(--tt0); */
}
h1, [class*="fs1"] {
	font-size: 3.5rem;
	/* font-family: var(--ff0); */
  font-weight: var(--fw3);
  /* line-height: var(--lh0); */
  /* letter-spacing: var(--ls0); */
	/* text-transform: var(--tt0); */
}
h2, [class*="fs2"] {
	font-size: 3rem;
	/* font-family: var(--ff0); */
  font-weight: var(--fw3);
  /* line-height: var(--lh0); */
  /* letter-spacing: var(--ls0); */
	/* text-transform: var(--tt0); */
}
h3, [class*="fs3"] {
	font-size: 2.75rem;
	/* font-family: var(--ff0); */
  font-weight: var(--fw3);
  /* line-height: var(--lh0); */
  /* letter-spacing: var(--ls0); */
	/* text-transform: var(--tt0); */
}
h4, [class*="fs4"] {
	font-size: 2.5rem;
	/* font-family: var(--ff0); */
  font-weight: var(--fw3);
  /* line-height: var(--lh0); */
  /* letter-spacing: var(--ls0); */
	/* text-transform: var(--tt0); */
}
h5, [class*="fs5"] {
	font-size: 2rem;
	/* font-family: var(--ff0); */
  font-weight: var(--fw3);
  /* line-height: var(--lh0); */
  /* letter-spacing: var(--ls0); */
	/* text-transform: var(--tt0); */
}
h6, [class*="fs6"] {
	font-size: 1.5rem;
	/* font-family: var(--ff0); */
  font-weight: var(--fw3);
  /* line-height: var(--lh0); */
  /* letter-spacing: var(--ls0); */
	/* text-transform: var(--tt0); */
}
[class*="fs7"] {
  font-size: inherit;
	/* font-family: var(--ff0); */
  /* font-weight: var(--fw0); */
  /* line-height: var(--lh0); */
  /* letter-spacing: var(--ls0); */
	/* text-transform: var(--tt0); */
}
[class*="fs7-1"] {
  font-size: 1.125rem;
	/* font-family: var(--ff0); */
  /* font-weight: var(--fw0); */
  /* line-height: var(--lh0); */
  /* letter-spacing: var(--ls0); */
	/* text-transform: var(--tt0); */
}
[class*="fs7-2"] {
  font-size: 0.875rem;
	/* font-family: var(--ff0); */
  /* font-weight: var(--fw0); */
  /* line-height: var(--lh0); */
  /* letter-spacing: var(--ls0); */
	/* text-transform: var(--tt0); */
}

/* responsive font styles */
@media screen and (max-width: 991px) {
	/* tablet font styles */
  [class*="fs0"] { font-size: 5.5rem; }
  h1, [class*="fs1"] { font-size: 4.2rem; }
  h2, [class*="fs2"] { font-size: 3.2rem; }
  h3, [class*="fs3"] { font-size: 2.8rem; }
  h4, [class*="fs4"] { font-size: 2.4rem; }
  h5, [class*="fs5"] { /* font-size: 0rem; */ }
  h6, [class*="fs6"] { /* font-size: 0rem; */ }
  body { /* font-size: 0rem; */ }
  [class*="fs7-1"] { /* font-size: 0rem; */ }
  [class*="fs7-2"] { /* font-size: 0rem; */ }
}
@media screen and (max-width: 767px) {
	/* landscape font styles */
  [class*="fs0"] { font-size: 4.8rem; }
  h1, [class*="fs1"] { font-size: 2.6rem; }
  h2, [class*="fs2"] { font-size: 2.2rem; }
  h3, [class*="fs3"] { font-size: 1.8rem; }
  h4, [class*="fs4"] { font-size: 1.6rem; }
  h5, [class*="fs5"] { font-size: 1.4rem; }
  h6, [class*="fs6"] { font-size: 1.2rem; }
  body { /* font-size: 0rem; */ }
  [class*="fs7-1"] { /* font-size: 0rem; */ }
  [class*="fs7-2"] { /* font-size: 0rem; */ }
}
@media screen and (max-width: 479px) {
	/* portrait font styles */
  [class*="fs0"] { font-size: 4rem; }
  h1, [class*="fs1"] { font-size: 2.6rem; }
  h2, [class*="fs2"] { font-size: 2.2rem; }
  h3, [class*="fs3"] { font-size: 1.8rem; }
  h4, [class*="fs4"] { font-size: 1.6rem; }
  h5, [class*="fs5"] { font-size: 1.4rem; }
  h6, [class*="fs6"] { font-size: 1.2rem; }
  body { /* font-size: 0rem; */ }
  [class*="fs7-1"] { /* font-size: 0rem; */ }
  [class*="fs7-2"] { /* font-size: 0rem; */ }
}

/* variables */
html {
  /* font family */
  --ff0: inherit;
	--ff1: 'Inter', sans-serif;
  --ff2: 'Fira Code', monospace;
font-family: 
  /* font weight */
	--fw0: inherit;
  --fw1: 400;
  --fw2: 500;
	--fw3: 700;
  --fw4: 900;
  /* line height */
	--lh0: inherit;
  --lh1: 1.5;
  --lh2: 1.3;
  --lh3: 1.1;
  --lh4: 1;
  /* letter spacing */
	--ls0: inherit;
  --ls1: 0em;
  --ls2: -0.03em;
	/* text transform */
	--tt0: inherit;
	--tt1: none;
	--tt2: uppercase;
	--tt3: capitalize;
	--tt4: lowercase;
}

/* utilities */
/* font family */
[class*="ff2"] { font-family: var(--ff2); }
[class*="ff1"] { font-family: var(--ff1); }
[class*="ff0"] { font-family: var(--ff0); }
/* font weight */
[class*="fw1"] { font-weight: var(--fw1); }
[class*="fw2"] { font-weight: var(--fw2); }
[class*="fw3"] { font-weight: var(--fw3); }
[class*="fw0"] { font-weight: var(--fw0); }
/* line height */
[class*="lh1"] { line-height: var(--lh1); }
[class*="lh2"] { line-height: var(--lh2); }
[class*="lh3"] { line-height: var(--lh3); }
[class*="lh4"] { line-height: var(--lh4); }
[class*="lh0"] { line-height: var(--lh0); }
/* letter spacing */
[class*="ls1"] { letter-spacing: var(--ls1); }
[class*="ls2"] { letter-spacing: var(--ls2); }
[class*="ls0"] { letter-spacing: var(--ls0); }
/* text transform */
[class*="tt1"] { text-transform: var(--tt1); }
[class*="tt2"] { text-transform: var(--tt2); }
[class*="tt3"] { text-transform: var(--tt3); }
[class*="tt4"] { text-transform: var(--tt4); }
[class*="tt0"] { text-transform: var(--tt0); }
/* line clamp */
[class*="lc1"], [class*="lc2"], [class*="lc3"], [class*="lc4"] {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
}
[class*="lc2"] { -webkit-line-clamp: 2; }
[class*="lc3"] { -webkit-line-clamp: 3; }
[class*="lc4"] { -webkit-line-clamp: 4; }
/* text wrap */
[class*="tw1"] { text-wrap: balance; }