/**
 * Typography
 */
$section-offset: 3 !default; // defined in space-units
$element-offset: 2 !default; // defined in space-units

body {
	@include text-preset();
}

/** HEADINGS **/
h1 {
	@include text-preset(xlarge);
	@include margin-vertical(0, $section-offset);
}

h2 {
	@include text-preset(large);
	@include margin-vertical($section-offset);
}

h3 {
	@include text-preset();
	@include margin-vertical($element-offset, 0);
}

/** ELEMENTS **/
p {
	@include text-preset(inherit);
	@include margin-vertical($element-offset);

	h3 + & {
		@include margin-vertical(0, false);
	}
}

hr {
	@include margin-vertical($element-offset);
	@include height(1);

	box-sizing: border-box;
}

blockquote {
	padding: 0;

	border: 0;

	@include margin-vertical(0);
	@include margin-horizontal($element-offset);

	p {
		@include text-preset(large);

		&:first-child {
			margin-top: 0;
		}

		&:last-child {
			margin-bottom: 0;
		}
	}
}

ol,
ul {
	@include text-preset(inherit);
	@include margin-vertical($element-offset);

	& & {
		@include margin-vertical(0);
	}
}

button {
	@include text-preset(inherit);
	@include padding(1);
}

table {
	@include margin-vertical($element-offset);
}

th,
td {
	@include text-preset(inherit);
}
