/* font families */
.ff-mono, code, pre, .codeblock code {
	font-family: var(--monospace-font-family);
}
.ff-serif {
	font-family: var(--serif-font-family);
}
.ff-accent {
    font-family: var(--accent-font-family);
}
.ff-sans-serif {
    font-family: var(--sans-serif-font-family);
}

/* opacity */
.to-light {
	opacity: 0.5;
}
.to-med {
	opacity: 0.75;
}

/* font size changes */
.smalltext, .fs-sm, small {
	font-size: 0.8em;
}
.largetext, .fs-lg, large {
	font-size: 1.15em;
}
.xlargetext, .fs-xlg {
	font-size: 1.55em;
}

/* text align */
.ta-left {
	text-align: left;
}
.ta-right {
	text-align: right;
}
.ta-center {
	text-align: center;
}
.ta-justify {
	text-align: justify;
}

/* text display transforms */
.tt-lower {
	text-transform: lowercase;
}
.tt-upper {
	text-transform: uppercase;
}
.tt-cap {
	text-transform: capitalize;
}

/* font style */
.fs-em {
	font-style: italic;
}

/* font weight */
.fw-bold {
	font-weight: bold;
}
.fw-bolder {
	font-weight: bolder;
}
.fw-lighter {
	font-weight: lighter;
}

/* text indent */
.ti-sm {
	text-indent: 0.25em;
}
.ti-med {
	text-indent: 0.5em;
}
.ti-lrg {
	text-indent: 0.75em;
}

/* text variant transforms */
.tv-smcap {
	text-transform: small-caps;
}
.tv-allsmcap {
	text-transform: all-small-caps;
}
.tv-sub, sub {
	font-variant-position: sub;
}
.tv-sup, sup {
	font-variant-position: super;
}

/* headings and text displays */
h6, h5, h4, h3, h2, h1 {
	margin-top: 0;
	margin-bottom: 0.5rem;
	font-weight: 500;
	line-height: 1.2;
    font-family: var(--header-font-family);
}
h1 {
	font-size: calc(1.375em + 1.5vw);
}
@media (min-width: 1200px) {
	h1 {
		font-size: 2.5em;
	}
}
h2 {
	font-size: calc(1.325em + 0.9vw);
}
@media (min-width: 1200px) {
	h2 {
		font-size: 2em;
	}
}
h3 {
	font-size: calc(1.3em + 0.6vw);
}
@media (min-width: 1200px) {
	h3 {
		font-size: 1.75em;
	}
}
h4 {
	font-size: calc(1.275em + 0.3vw);
}
@media (min-width: 1200px) {
	h4 {
		font-size: 1.5em;
	}
}
h5 {
	font-size: 1.25em;
}
h6 {
	font-size: 1em;
}

.td-1, .td-2, .td-3, .td-4, .td-5, .td-6, .td-7 {
    font-family: var(--accent-font-family);
	margin-bottom: 0.5rem;
	text-transform: uppercase;
}
.td-reg {
    font-family: var(--accent-font-family);
}
.td-1 {
	font-size: calc(1.625em + 4.5vw);
	line-height: 1.2;
}
@media (min-width: 1200px) {
	.td-1 {
		font-size: 5em;
	}
}
.td-2 {
	font-size: calc(1.575em + 3.9vw);
	line-height: 1.2;
}
@media (min-width: 1200px) {
	.td-2 {
		font-size: 4.5em;
	}
}
.td-3 {
	font-size: calc(1.525em + 3.3vw);
	line-height: 1.2;
}
@media (min-width: 1200px) {
	.td-3 {
		font-size: 4em;
	}
}
.td-4 {
	font-size: calc(1.475em + 2.7vw);
	line-height: 1.2;
}
@media (min-width: 1200px) {
	.td-4 {
		font-size: 3.5em;
	}
}
.td-5 {
	font-size: calc(1.425em + 2.1vw);
	line-height: 1.2;
}
@media (min-width: 1200px) {
	.td-5 {
		font-size: 3em;
	}
}
.td-6 {
	font-size: calc(1.375em + 1.5vw);
	line-height: 1.2;
}
@media (min-width: 1200px) {
	.td-6 {
		font-size: 2rem;
	}
}
.td-7 {
	font-size: calc(1.325em + 1.5vw);
	line-height: 1.2;
}
@media (min-width: 1200px) {
	.td-7 {
		font-size: 1.5rem;
	}
}

/* paragraphs */
p {
  margin: 0 0 0.5rem 0;
}
* > p:last-child {
  margin-bottom: 0;
}
.quote {
	quotes: '"' '"' "'" "'";
}
.quote::before {
	content: open-quote;
	font-family: var(--serif-font-family);
}
.quote::after {
	content: close-quote;
	font-family: var(--serif-font-family);
}

/* css sentences */
.css-sentences > span::after {
	content: ", ";
}
.css-sentences > span:last-child::after {
	content: ".";
}
.css-sentences > span:last-child:not(:only-child)::before {
	content: "and ";
}