/* Мигающая зелёная точка */

.blinking-dot {
    width: 10px;
    height: 10px;
    background-color: green;
    border-radius: 50%;
    animation: blink 1s infinite;
}

.blinking-dot.red {
    background-color: orangered;
    animation: blink-shadow 1.5s infinite;
    box-shadow: 0 0 10px red;
}

.card-spec-link {
    display: block;
    color: inherit;
    text-decoration: none;
    height: 100%;
    width: 100%;
}

.card-link:hover, .card-link:focus, .card-link:active {
    text-decoration: none; /* Убирает подчёркивание при наведении, фокусировании и активации ссылки */
    color: inherit; /* Сохраняет цвет ссылки одинаковым */
}

/* Параметры для зелёной точки */
@keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/* Параметры для красной точки */
/* Дыхание. animation: breathing 3s infinite */
@keyframes breathing {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }
    25% {
        transform: scale(1.2);
        opacity: 1;
    }
    50% {
        transform: scale(1.4);
        opacity: 0.7;
    }
    75% {
        transform: scale(1.2);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 0.7;
    }
}

/* Эффект мигающей точки с тенями: */
/* animation: blink-shadow 1s infinite; box-shadow: 0 0 10px red; */

@keyframes blink-shadow {
    0% {
        opacity: 1;
        box-shadow: 0 0 10px red;
    }
    50% {
        opacity: 0;
        box-shadow: 0 0 5px red;
    }
    100% {
        opacity: 1;
        box-shadow: 0 0 10px red;
    }
}

/* Идентифицирующий класс без нагрузки */
.hidden-shadow {
    /* Здесь могло быть что-то. */
}