:root {
	--titleMaxWidth: 100%;
	--bigTitleSpacing: -0.04em;
	--smallTitleSpacing: -0.03em;
	--titleLeft: -0.06em;
	--titleXSsize: var(--textLsize);
	--titleXXSsize: var(--textMsize);
	--titleXXXSsize: var(--textSsize);
}

@media only screen and (min-width:992px) {
	:root {
		/* Title XXL */
		--titleXXLsize: 114px;
		--titleXXLheightT: 108px;
		--titleXXLtopT: -8px;
		--titleXXLbottomT: -16px;

		/* Title XL */
		--titleXLsize: 88px;
		--titleXLheightT: 84px;
		--titleXLtopT: 1px;
		--titleXLbottomT: -13px;

		/* Title L */
		--titleLsize: 63px;
		--titleLheightT: 60px;
		--titleLtopT: -3px;
		--titleLbottomT: -9px;

		/* Title M */
		--titleMsize: 50px;
		--titleMheightT: 48px;
		--titleMtopT: -5px;
		--titleMbottomT: -7px;

		/* Title S */
		--titleSsize: 38px;
		--titleSheightT: 36px;
		--titleStopT: -2px;
		--titleSbottomT: -6px;

		/* Title XS */
		--titleXSheightT: 30px;
		--titleXStopT: 0px;
		--titleXSbottomT: -6px;

		/* Title XXS */
		--titleXXSheightT: 24px;
		--titleXXStopT: -3px;
		--titleXXSbottomT: -5px;

		/* Title XXXS */
		--titleXXXSheightT: 20px;
		--titleXXXStopT: -3px;
		--titleXXXSbottomT: -5px;
	}
}

@media only screen and (max-width:991px) {
	:root {
		/* Title XXL */
		--titleXXLsize: 64px;
		--titleXXLheightT: 60px;
		--titleXXLtopT: -15px;
		--titleXXLbottomT: -9px;

		/* Title XL */
		--titleXLsize: 50px;
		--titleXLheightT: 48px;
		--titleXLtopT: -13px;
		--titleXLbottomT: -7px;

		/* Title L */
		--titleLsize: 40px;
		--titleLheightT: 40px;
		--titleLtopT: -9px;
		--titleLbottomT: -7px;

		/* Title M */
		--titleMsize: 32px;
		--titleMheightT: 32px;
		--titleMtopT: -6px;
		--titleMbottomT: -6px;

		/* Title S */
		--titleSsize: 25px;
		--titleSheightT: 26px;
		--titleStopT: -7px;
		--titleSbottomT: -5px;

		/* Title XS */
		--titleXSheightT: 22px;
		--titleXStopT: -7px;
		--titleXSbottomT: -5px;

		/* Title XXS */
		--titleXXSheightT: 18px;
		--titleXXStopT: -4px;
		--titleXXSbottomT: -4px;

		/* Title XXXS */
		--titleXXXSheightT: 14px;
		--titleXXXStopT: -1px;
		--titleXXXSbottomT: -3px;
	}
}


/* Sizes */

*:is(.titleXXL, .titleXL, .titleL, .titleM, .titleS, .titleXS, .titleXXS, .titleXXXS) :is(h1, h2, h3, p, a) {
	--lhFix: calc((1lh - 1em) / 2);
	--mbFix: calc(-1 * (0.167em + var(--lhFix)));
	margin-bottom: var(--mbFix);
	margin-top: calc(-1 * var(--mbFix));
}

/* Title XXL */
.titleXXL :is(h1, h2, h3, p, a) {
	font-size: var(--titleXXLsize);
	letter-spacing: var(--bigTitleSpacing);
	line-height: var(--titleXXLheightT);
	margin-top: var(--titleXXLtopT);
	margin-bottom: var(--titleXXLbottomT);
	margin-left: var(--titleLeft);
}

/* Title XL */
.titleXL :is(h1, h2, h3, p, a),
div:not(.titleXXL, .titleXL, .titleL, .titleM, .titleS, .titleXS, .titleXXS, .titleXXXS)>h1 {
	font-size: var(--titleXLsize);
	letter-spacing: var(--bigTitleSpacing);
	line-height: var(--titleXLheightT);
	margin-top: var(--titleXLtopT);
	margin-bottom: var(--titleXLbottomT);
	margin-left: var(--titleLeft);
}

/* Title L */
.titleL :is(h1, h2, h3, p, a) {
	font-size: var(--titleLsize);
	letter-spacing: var(--bigTitleSpacing);
	line-height: var(--titleLheightT);
	margin-top: var(--titleLtopT);
	margin-bottom: var(--titleLbottomT);
	margin-left: var(--titleLeft);
}

/* Title M */
.titleM :is(h1, h2, h3, p, a),
div:not(.titleXXL, .titleXL, .titleL, .titleM, .titleS, .titleXS, .titleXXS, .titleXXXS)>h2 {
	font-size: var(--titleMsize);
	letter-spacing: var(--bigTitleSpacing);
	line-height: var(--titleMheightT);
	margin-top: var(--titleMtopT);
	margin-bottom: var(--titleMbottomT);
	margin-left: var(--titleLeft);
}

/* Title S */
.titleS :is(h1, h2, h3, p, a),
div:not(.titleXXL, .titleXL, .titleL, .titleM, .titleS, .titleXS, .titleXXS, .titleXXXS)>h3,
h4, h5, h6 {
	font-size: var(--titleSsize);
	letter-spacing: var(--bigTitleSpacing);
	line-height: var(--titleSheightT);
	margin-top: var(--titleStopT);
	margin-bottom: var(--titleSbottomT);
	margin-left: var(--titleLeft);
}

/* Title XS */
.titleXS :is(h1, h2, h3, p, a) {
	font-size: var(--titleXSsize);
	letter-spacing: var(--smallTitleSpacing);
	line-height: var(--titleXSheightT);
	margin-top: var(--titleXStopT);
	margin-bottom: var(--titleXSbottomT);
	margin-left: var(--titleLeft);
}

/* Title XXS */
.titleXXS :is(h1, h2, h3, p, a) {
	font-size: var(--titleXXSsize);
	letter-spacing: var(--smallTitleSpacing);
	line-height: var(--titleXXSheightT);
	margin-top: var(--titleXXStopT);
	margin-bottom: var(--titleXXSbottomT);
	margin-left: var(--titleLeft);
}

/* TitleXXXS */
.titleXXXS :is(h1, h2, h3, p, a) {
	font-size: var(--titleXXXSsize);
	letter-spacing: var(--smallTitleSpacing);
	line-height: var(--titleXXXSheightT);
	margin-top: var(--titleXXXStopT);
	margin-bottom: var(--titleXXXSbottomT);
	margin-left: var(--titleLeft);
}

/* Highlight */
em {
	font-style: unset;
	color: var(--accentColor); 
}

/* Weights */
.textWeight :is(h1, h2, h3, h4, h5, h6, b, strong) {
	font-weight: var(--textWeight);
	font-family: var(--textFont);
}

.textWeight:is(.titleXXS, .titleXS, .titleS, .titleM, .titleL, .titleXL, .titleXXL) :is(p, span, li, a) {
	letter-spacing: var(--bigTextSpacing);
}

.textWeight.titleXXXS :is(p, span, li, a) {
	letter-spacing: var(--smallTextSpacing);
}

/* Horisontal */
.center {
	margin-left: auto;
	margin-right: auto;
}

.right {
	margin-left: auto;
}

:is(.titleXXS, .titleXS, .titleS, .titleM, .titleL, .titleXL, .titleXXL).center {
	text-align: center;
}

:is(.titleXXS, .titleXS, .titleS, .titleM, .titleL, .titleXL, .titleXXL).right {
	text-align: right;
}

/* Vertical */
.mg-top-auto {
	margin-top: auto !important;
}
.mg-bottom-auto {
	margin-bottom: auto !important;
}