.program {
    --block-radius: 40px;
    --block-radius-m: 32px;
    --program-radius: 20px;
    --block-color: #8868ff;
    --block-padding: 60px;
    --row-bg: #4FA1FF33;
    --time-width: 115px; 
    
    --text-color: #fff;
    --title-color: var(--text-color);
    --time-color: var(--text-color);
    --program-title-color: #FFFFFFCC;
    --text-font-m: 18px;

    --time-bg: #096DDF1A;
}

.program__outer {
    position: relative;
}

.program .program__row {
    padding: 32px;
}

.program .program__text b {
    text-transform: uppercase;
}

.program__time::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    background: linear-gradient(
        140deg, #FFFFFF 12.36%,
        rgba(255, 255, 255, 0.6) 32.02%,
        rgba(255, 255, 255, 0) 38.89%,
        rgba(255, 255, 255, 0) 51.76%,
        rgba(255, 255, 255, 0.6) 58.23%,
        rgba(255, 255, 255, 0.8) 77.89%
    );

    mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    mask-composite: exclude;
    border-radius: var(--radius);
    pointer-events: none;
}

.program__outer {
    padding-top: var(--block-margin);
    padding-bottom: var(--block-margin);
}

.program__snow {
    position: absolute;
    width: auto;
}

.program__snow.top {
    top: calc(var(--block-margin) - 31px);
    right: calc(var(--page-margin) - 32px);
    height: 122px;
}

.program__snow.bottom {
    bottom: calc(var(--block-margin) - 66px);
    left: calc(var(--page-margin) - -65px);
    height: 96px;
}

.program__snowflake {
    position: absolute;
    z-index: -9;
}

.program__snowflake.top {
    height: 279px;
    top: 1px;
    left: -110px;
}

.program__snowflake.bottom {
    height: 405px;
    bottom: -220px;
    right: -178px;
}

.program .program__row.big-text .program__text.theme,
.program .program__text b {
    font-weight: 700;
}

@media screen and (max-width: 1025px) {
    .program .program__block {
        padding: 40px;
    }
}

@media screen and (max-width: 680px) {
   .program__snow.top {
        height: 75px;
        top: calc(var(--block-margin) - -9px);
        right: calc(var(--page-margin) - 22px);
   } 
}

@media screen and (max-width: 660px) {
    .program .program__row {
        padding: 16px;
    }

    .program__snow.bottom {
        bottom: calc(var(--block-margin) - 36px);
        left: calc(var(--page-margin) - -45px);
        height: 50px;
    }

    .program .program__block {
        padding: 20px;
        padding-top: 40px;
    }

    .program .program__row.big-text .program__text.theme {
        font-size: 20px;
    }

    .program .program__text {
        font-size: 16px;
    }

    .program .program__time {
        width: 105px;
        height: 50px;
        --radius: 32px;
    }

    .program__snowflake.top {
        height: 142px;
        top: 3px;
        left: -70px;
    }
}


@media screen and (max-width: 550px) {
    .program .block-title {
        padding-left: 0;
    }
}
