:root{
    --vw-min: 320;
    --vw-max: 1800;
    --vw-range: calc(var(--vw-max) - var(--vw-min));
}

body,
h1, h2, h3,
#program h1,
.inner_articles h1,
.logo,
.button,
.fs_12_16,
.fs_14_16,
.fs_14_18,
.fs_16_20,
.fs_16_22,
.fs_16_24, .warning,
.fs_16_28,
.fs_18_24,
.fs_18_28,
.fs_28_40{
    font-size: clamp(
            calc(var(--fs-min) * 1px),
            calc(var(--fs-min) * 1px + (var(--fs-max) - var(--fs-min)) * ((100vw - var(--vw-min) * 1px) / var(--vw-range))),
            calc(var(--fs-max) * 1px)
    );
}

body{
    --fs-min: 14;
    --fs-max: 16;
}

h1, h2{
    --fs-min: 28;
    --fs-max: 52;
}

#program h1{
    --fs-min: 37;
    --fs-max: 168;
}

/*
.inner_articles h1{
    --fs-min: 28;
    --fs-max: 52;
}
*/

.cabinet h1,
.article_detail h2{
    --fs-min: 28;
    --fs-max: 40;
}

.article_detail h3{
    --fs-min: 24;
    --fs-max: 32;
}

.article_detail h4{
    --fs-min: 20;
    --fs-max: 24;
}

.logo{
    --fs-min: 18;
    --fs-max: 28;
}

.fs_12_16{
    --fs-min: 12;
    --fs-max: 16;
}

.fs_14_16{
    --fs-min: 14;
    --fs-max: 16;
}

.fs_14_18{
    --fs-min: 14;
    --fs-max: 18;
}

.fs_16_20{
    --fs-min: 16;
    --fs-max: 20;
}

.fs_16_22{
    --fs-min: 16;
    --fs-max: 22;
}

.fs_16_24,
.warning,
.button{
    --fs-min: 16;
    --fs-max: 24;
}

.fs_16_28{
    --fs-min: 16;
    --fs-max: 28;
}

.fs_18_24{
    --fs-min: 18;
    --fs-max: 24;
}

.fs_18_28{
    --fs-min: 18;
    --fs-max: 28;
}

.fs_28_40{
    --fs-min: 28;
    --fs-max: 40;
}

/* фикс */
@media screen and (max-width: 380px){
    main #program ul,
    footer .other{
        font-size: clamp(
                calc(13px),
                calc(13px + (16 - 13) * ((100vw - 3201px) / 60)),
                calc(13px)
        ) !important;
    }
}
