/*******************
  TITLES
*******************/

.title > * {
	font-weight: 400;
	font-family: var(--titleFont);
}
.f-title {
  font-family: var(--titleFont);
}
.title > * > i {
	font-family: "ivypresto-display", serif;
	font-weight: 200;
	font-style: italic;
}
.title.huge > * {
	font-size: 3.8em;
	line-height: 1em;
	font-weight: 700;
}
.title.big > * {
	font-size: 3.33em;
	line-height: 1.05em;
	font-weight: 600;
}
.title.medium > * {
	font-size: 2.75em;
	line-height: 1.075em;
	font-weight: 600;
}
.title.small > * {
	font-size: 2.25em;
	line-height: 1.1em;
	font-weight: 500;
}
.title.tiny > * {
	font-size: 1.2em;
	line-height: 1.3em;
	font-weight: 600;
}
.title.thin > * {
	font-weight: 400;
}
.title.light > * {
	font-weight: 200;
}
.title.strong > * {
	font-weight: 700;
}


.title.boxed > * > span {
	display: table;
	padding: 0.125em 0.85em 0.25em 0.85em;
	border-radius: 9999px;
	background-color: var(--color1);
	color: #fff;
	margin-bottom: 0.25em;
}
.title.boxed.white-boxed > * > span,
.bg-color1 .title.boxed > * > span {
	background-color: #fff;
	color: var(--textColor);
}

.title.underlined > * {
	text-decoration: underline;
}

.pretitle > * {
	z-index: 1;
	position: relative;
	display: inline-block;
	font-family: var(--defaultFont);
	font-size: 1.2em;
	line-height: 1.2em;
	text-transform: uppercase;
	font-weight: 400;
}
.pretitle > *::after {
	content: '';
	z-index: -1;
	position: absolute;
	top: auto;
	bottom: -0.1em;
	left: -1em;
	right: 100%;
	height: 0.7em;
	width: auto;
	background-color: var(--color2);
	transition: 0.3s;
}
.reveal .pretitle > *::after {
	right: 0;
}


.pretitle + .text,
.text + .text,
.title + .text {
	margin-top: 1.5em;
}
.pretitle + .title,
.title + .title {
	margin-top: 1em;
}


@media screen and (max-width:1400px) {
	.title.huge > * { font-size: 3.5em; }
	.title.big > * { font-size: 3.25em; }
}
@media screen and (max-width:1200px) {
	.title.big > * { font-size: 3em; }
	.title.medium > * { font-size: 2.5em; }
	.title.small > * { font-size: 2em; }
	.title.tiny > * { font-size: 1.15em; }
}
@media screen and (max-width: 1000px) {
	.title > * { text-wrap: balance; }
	.title:not(.preserveBR) > * br { display: none; }
}
@media screen and (max-width:500px) {
	.title > * {
		hyphens: auto;
	}
	.title.huge > * { font-size: 3em; }
	.title.big > * { font-size: 2.75em; }
	.title.medium > * { font-size: 2.25em; }
	.title.small > * { font-size: 1.75em; }
}
