:root {
    --typo-heading-family: Montserrat, sans-serif;

    --typo-h1-size: 3.75rem;
    --typo-h1-line: 1.133;
    --typo-h1-weight: 400;
    --typo-h1-spacing: -0.025em;

    --typo-h2-size: 2.5rem;
    --typo-h2-line: 1.075;
    --typo-h2-weight: 400;
    --typo-h2-spacing: -0.01em;

    --typo-h3-size: 1.75rem;
    --typo-h3-line: 1.286;
    --typo-h3-weight: 400;
    --typo-h3-spacing: -0.01em;

    --typo-lead-size: 1.25rem;
    --typo-lead-line: 1.3;
    --typo-lead-weight: 400;

    --typo-body-size: 1rem;
    --typo-body-line: 1.625;
    --typo-body-weight: 400;

    --typo-small-size: 0.8125rem;
    --typo-small-line: 1.692;
    --typo-small-weight: 400;

    --typo-caption-size: 0.8125rem;
	--typo-caption-line: 1.692;
    --typo-caption-weight: 400;
    --typo-caption-spacing: 0.04em;

    --typo-title-gap: 1.5rem;
	
	--typo-color: #333333;

    --typo-h1-color: var(--typo-color);
    --typo-h2-color: var(--typo-color);
    --typo-h3-color: var(--typo-color);

    --typo-lead-color: color-mix(in srgb, var(--typo-color) 70%, transparent);
    --typo-body-color: color-mix(in srgb, var(--typo-color) 90%, transparent);
    --typo-small-color: color-mix(in srgb, var(--typo-color) 60%, transparent);
    --typo-caption-color: color-mix(in srgb, var(--typo-color) 55%, transparent);
}

html body {
    font-size: var(--typo-body-size);
    line-height: var(--typo-body-line);
    font-weight: var(--typo-body-weight);
}

html body h1,
html body .h1,
html body h2,
html body .h2,
html body h3,
html body .h3,
html body h4,
html body h5,
html body h6,
html body .switcher-title,
html body .sections-list__item-title,
.ordered-block__title,
.banners-big__title--middle,
.catalog-block__info-title span, .sections-list__item-title span, .sections-list__item-title a, .blog-list__item-title, .project-list__item-title  {
    font-family: var(--typo-heading-family) !important;
}

html body h1,
html body .h1,
.banners-big__title--middle {
    font-size: var(--typo-h1-size) !important;
    line-height: var(--typo-h1-line) !important;
    font-weight: var(--typo-h1-weight) !important;
    letter-spacing: var(--typo-h1-spacing) !important;
    text-transform: none;
}

html body .banners-big h1,
html body .banners-big--detail h1,
.banners-big__title--middle {
    text-transform: uppercase;
}

html body .banners-big h1.font_28,
html body .banners-big--detail h1.font_28 {
    font-size: 1.75rem !important;
    line-height: 1.286 !important;
    letter-spacing: -0.01em !important;
	margin-bottom: 5px;
}

html body h2,
html body .h2 {
    font-size: var(--typo-h2-size) !important;
    line-height: var(--typo-h2-line) !important;
    font-weight: var(--typo-h2-weight) !important;
    letter-spacing: var(--typo-h2-spacing) !important;
    text-transform: none;
}

html body h3 {
    font-size: var(--typo-h3-size) !important;
    line-height: var(--typo-h3-line) !important;
    font-weight: var(--typo-h3-weight) !important;
    letter-spacing: var(--typo-h3-spacing) !important;
    text-transform: none;
}

html body h4,
html body h5,
html body h6 {
    text-transform: none;
}

html body .typo-lead {
    font-size: var(--typo-lead-size) !important;
    line-height: var(--typo-lead-line) !important;
    font-weight: var(--typo-lead-weight) !important;
    letter-spacing: 0;
    color: var(--typo-lead-color);
}

.form-footer-wraper .typo-lead,
html body .banners-big__text-block {
    color: #fff;
}

html body .banners-big__text-block {
    font-size: var(--typo-lead-size) !important;
    line-height: var(--typo-lead-line) !important;
    font-weight: var(--typo-lead-weight) !important;
    letter-spacing: 0;
}
.group_description_block.typo-lead {
	color: #54565A;
}

.banners-with-text-mixed-list__item-title {
    font-size: var(--typo-lead-size) !important;
    line-height: var(--typo-lead-line) !important;
    letter-spacing: 0;
}

html body .typo-small,
html body .breadcrumbs,
html body .breadcrumb,
html body .breadcrumb a,
.licenses_text {
    font-size: var(--typo-small-size) !important;
    line-height: var(--typo-small-line) !important;
    font-weight: var(--typo-small-weight) !important;
    letter-spacing: 0;
    color: var(--typo-small-color);
}
.custom-footer .form-footer__btn {
    font-size: var(--typo-small-size) !important;
    line-height: var(--typo-small-line) !important;
    font-weight: var(--typo-small-weight) !important;
}

html body .typo-caption {
    font-size: var(--typo-caption-size) !important;
    line-height: var(--typo-caption-line) !important;
    font-weight: var(--typo-caption-weight) !important;
    letter-spacing: var(--typo-caption-spacing) !important;
    text-transform: uppercase;
}

html body .sections-list__item-title, 
.font_16 {
    font-size: 1rem !important;
    line-height: 1.625 !important;
    font-weight: 500 !important;
    letter-spacing: 0;
    text-transform: uppercase;
	font-family: var(--typo-heading-family) !important;
}

html body footer h2,
html body footer h3,
html body footer h4,
html body footer h5,
html body footer .switcher-title {
    text-transform: none;
}

@media (max-width: 991px) {
    html body h1,
    html body .h1,
    .banners-big__title--middle {
        font-size: 2.625rem !important;
        line-height: 1.19 !important;
    }

    html body h2,
    html body .h2 {
        font-size: 2rem !important;
        line-height: 1.25 !important;
    }

    html body h3,
    html body .h3,
    .ordered-block__title {
        font-size: 1.625rem !important;
        line-height: 1.308 !important;
    }
}

@media (max-width: 600px) {
    html body h1,
    html body .h1,
    .banners-big__title--middle {
        font-size: 2.125rem !important;
        line-height: 1.235 !important;
    }

    html body h2,
    html body .h2 {
        font-size: 1.75rem !important;
        line-height: 1.286 !important;
    }

    html body h3,
    html body .h3,
    .ordered-block__title {
        font-size: 1.5rem !important;
        line-height: 1.333 !important;
    }
}