.tx-semiprog {
    --semiprog-gap: 20px;
    --semiprog-displacement: 150px;
    
    @media (max-width: 500px) {
        --semiprog-displacement: 65px;
        
        & .time-seperator {
            display: block;
            padding-left: 20px;
            margin-top: -20px;
            transform: translateY(9px);
        }
    }
    
    background-color: var(--light-color);
    padding: calc(var(--margin) * 0.75) 0 var(--margin) 0;
}

.semiprog__programm-header, 
.semiprog__programm-entry {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,3fr) minmax(0,1fr);
    gap: var(--semiprog-gap);
    padding: 15px;
    
    @media (max-width: 1199px) {
        grid-template-columns: minmax(0,1fr) minmax(0,3fr) minmax(0,2fr);
    }
    @media (max-width: 991px) {
        grid-template-columns: var(--semiprog-displacement) minmax(0,1fr);
    }
}

.semiprog__programm-entry-wrapper {
    position: relative;
    
    &:before {
        content: "";
        inset: 0;
        z-index: 5;
        position: absolute;
        box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
        border-radius: var(--p-border-radius);
    }
    
    + .semiprog__programm-entry-wrapper {
        margin-top: 10px;
    }
    
    .semiprog__programm-entry {
        background-color: var(--brightest);
        border-radius: var(--p-border-radius);
        z-index: 15;
        position: relative;
        
        & *:last-child {
            margin-bottom: 0;
        }
        
        @media (max-width: 991px) {
            grid-template-rows: repeat(2, auto);
            
            > *:nth-child(1) { grid-area: 1 / 1 / 2 / 2; }
            > *:nth-child(2) { grid-area: 1 / 2 / 2 / 3; }
            > *:nth-child(3) { 
                grid-area: 2 / 1 / 3 / 3; 
                padding-left: calc(var(--semiprog-displacement) + var(--semiprog-gap));
            }
        }
    }
}

@media (max-width: 991px) {
    .programm-header__speaker {
        display: none;
    }
}