.exe_programs {
    margin: 0;
    padding: 0;
    display: flex;
}

.exe_programs_item {
    list-style: none;
    height: 493px;
    flex: 1 1 20%;
    filter: brightness(1);
    transition: flex .5s ease, filter .3s ease;
    position: relative;
    transition: flex .3s ease-in-out;
    width: 100%;
    cursor: pointer
}

.exe_programs_item:hover {
    filter: brightness(1);
    transition: flex .5s ease, filter .3s ease;
}

.exe_programs:hover .exe_programs_item:not(:hover) {
    filter: brightness(.5);
    transition: flex .5s ease, filter .3s ease
}

.exe_programs_item_text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: 30px;
}

.exe_programs_item_text h3 {
    font-size: 2rem;
    color: #fff;
    text-align: center;
    margin: 0;
    padding: 0 10px;
}

.exe_programs_item_img {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}

.exe_programs_item_img img {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    object-fit: cover;
    color: transparent;
}


@media screen and (min-width: 993px) {
    .exe_programs_item:hover {
        flex: 1 1 30%;
    }

    .exe_programs:hover .exe_programs_item:not(:hover) {
        flex: 1 1 20%;
    }
}

@media screen and (max-width: 992px) {
    .exe_programs {
        flex-wrap: wrap;
    }

    .exe_programs_item {
        flex: 1 1 50%;
    }

    .exe_programs_item_text h3 {
        font-size: 24px;
    }
}

@media screen and (max-width: 767px) {
    .exe_programs_item {
        flex: 1 1 100%;
        height: 320px;
    }

    .exe_programs_item_text h3 {
        font-size: 18px;
    }

    .exe_programs_item_text {
        padding-top: 20px;
    }

    .exe_programs_item:hover,
    .exe_programs:hover .exe_programs_item:not(:hover) {
        flex: unset !important;
    }
}