.course-card-wrap .panel {
    min-height: 170px;
    border-radius: 6px;
    box-shadow: 0 4px 30px rgba(29, 78, 216, .18);
    margin-bottom: 15px;
    position: relative;
    border: 1px solid rgba(127, 133, 150, 0.6);
    background-color: transparent;
}

.course-card-wrap .panel:hover::before {
    opacity: 0.2;
    transform: scale(1.02);
}

.course-card-wrap .panel::before {
    content: "";
    position: absolute;
    inset: -2px;
    opacity: 0;
    border-radius: 6px;
    transition: opacity 350ms cubic-bezier(0.4, 0, 0.2, 1), transform 350ms cubic-bezier(0.4, 0, 0.2, 1);
    background-image: linear-gradient(rgb(249, 250, 252), rgba(127, 133, 150, 0.6));
    z-index: -1;
}

.course-card-wrap .panel-body {
    min-height: 170px;
    padding: 8px;
    position: relative;
    background-color: transparent;
}

.level_desc {
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    font-weight: bold;
    color: white;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 8px;
    font-size: 14px;
    bottom: 25px;
    z-index: 999;
    text-shadow: 2px 2px 3px rgba(108, 108, 108, 0.2);
}

.level_locked {
    position: absolute;
    left: 0;
    bottom: 2px;
    padding: 0 2px;
}

.study-status {
    position: absolute;
    right: 0;
    bottom: 2px;
    padding: 0 2px;
}

.course-card {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border-radius: 6px;
    backdrop-filter: blur(20px);
    border: 1px solid rgba(127, 133, 150, 0.6);
    /*background: rgba(0, 0, 0, 0.3);*/
    z-index: 5;
}

.course-card::before {
    content: "";
    position: absolute;
    inset: -2px;
    opacity: 0;
    border-radius: 12px;
    -webkit-mask-size: cover;
    transition: opacity 350ms cubic-bezier(0.4, 0, 0.2, 1) 0s, transform 350ms ease;
    background-image: linear-gradient(rgb(249, 250, 252), rgba(127, 133, 150, 0.6));
    z-index: -1;
}

.course-card * {
    pointer-events: none;
}

.but {
    padding: 8px 12px;
    display: inline-block;
    transition: all 0.22s ease;
}

.but img {
    height: 80px;
    transition: all 0.22s ease;
}

.but-selected img {
    opacity: 1;
    filter: none;
    transform: scale(1.1);
}

.but-selected {
    border-radius: 10px;
    box-shadow: 0 0 8px rgb(229 151 39);
}

.but-default img {
    opacity: 0.72;
    filter: grayscale(0.65);
    transform: scale(0.96);
}

.but-default:hover img {
    opacity: 0.88;
    filter: grayscale(0.3);
    transform: scale(1.05);
}

.but-selected:hover {
    box-shadow: 0 0 12px rgba(92, 184, 92, 0.55);
}