body,
button,
input,
select,
textarea {
	color: $color_texts;
	font-family: $font_main;
	line-height: $font_lh-body;
}

.subtitle-font,
p.subtitle {
	font-family: $font_subtitles;
}

.font-titles {
	font-family: $font_titles;
}

.font-main,
.font-main a {
	font-family: $font_main;
}

.font-subtitles {
	font-family: $font_subtitles;
}


/*--------------------------------------------------------------
## Texts
--------------------------------------------------------------*/

p {
	width: 100%;
	margin: 10px auto;
	display: block;

	&.text-small {
		font-size: $font_extra_small-size;
	}
}

.has-regular-font-size {
	font-family: $font_main;
	font-size: $font_main-size;
}

.has-extra-small-font-size {
	font-size: 0.8577em
}

.has-small-font-size {
	font-size: 0.93em
}

.has-large-font-size {
	font-size: 1.215em
}

.has-larger-font-size {
	font-size: 1.43em
}

// Without p for brand color classes
.subtitle {
	color: $color_subtitles;
}

p.subtitle {
	margin: 0;
	font-size: $font_small-size;
	font-weight: 400;
	font-family: $font_subtitles;

	&.top {
		margin-top: 6px;
	}

	&.small {
		font-size: $font_small-size;
		margin: 8px auto;
	}

	&.text-small {
		font-size: $font_extra_small-size;
	}

	&.large {
		font-size: 18px;
		line-height: 1.4;
	}
}

p.subtitle-under-divider {
	margin-top: 20px;
}

.text-wrap {
	margin: 6px 0;

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

.text-split {
	p {
		padding-left: 10px;
		padding-right: 10px;
		&:first-child {
			padding-left: 0px;
		}
		&:last-child {
			padding-right: 0px;
		}
	}
}

.divider {
	background: $color_brand;
	width: 60px;
	height: 2px;
	display: inline-block;
	vertical-align: middle;
}

/*--------------------------------------------------------------
## Headings
--------------------------------------------------------------*/

h1, h2, h3, h4, h5, h6 {
	color: $color_titles;
	clear: both;
	font-family: $font_titles;
	font-weight: 600;
	text-align: inherit;
	margin: 35px 0 20px;
	line-height: 1.2;
	position: relative;

	&.title {
		margin: 0;
	}

	&.with-divider:after {
		content: '';
		background: $color_brand;
		width: 1.2em;
		height: 2px;
		position: absolute;
		top: -.6em;
		left: 0;
	}
}

h1 {
	font-size: $font_h1;
	letter-spacing: -0.02em;

	&.title {
		line-height: 1.3;
		margin: 5px 0;
	}
}

h2 {
	font-size: $font_h2;
	letter-spacing: -0.02em;

	&.title {
		font-size: $font_h3;
		margin: 15px 0;
	}
}

h3 {
	font-size: $font_h3;
	letter-spacing: -0.01em;
}

h4 {
	font-size: $font_h4;

	&.title {
		font-size: 18px;
	}
}

h5 {
	font-size: $font_main-size;
	font-size: $font_h5;

	&.title {
		margin: 5px auto;
		font-size: $font_extra_small-size;
		text-transform: none;

		&.uppercase {
			text-transform: uppercase;
		}
	}
}

h6 {
	font-size: $font_main-size;

	&.title {
		margin: 5px auto;
		font-size: $font_caption-size;
	}
}