/* Podstawowe style dla ikon */
.circle {
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
}

/* Kontener ikony */
a .circle {
    display: block;
    width: 47px;
    height: 47px;
    top: -7px;
    margin-bottom: 5px;
    font-size: 65px;

    background-color: #ffffff;
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;

    border-radius: 5px;

    -webkit-box-shadow: -3px 3px 3px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: -3px 3px 3px rgba(0, 0, 0, 0.2);
    box-shadow: -3px 3px 3px rgba(0, 0, 0, 0.2);

    -webkit-opacity: 0.65;
    -moz-opacity: 0.65;
    opacity: 0.65;
}

a .circle:hover {
    opacity: 0.95;
}

/* Pseudo-element dla ikon SVG */
.circle::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;

    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
}

/* Specyficzne ikony */
#icon-lekcja .circle::before {
    background-image: url(./lekcja-bez-obramowania.svg?11);
}

#icon-oceny .circle::before {
    background-image: url(./ocena-new.svg?12);
    background-size: 31px;
}

#icon-nb .circle::before {
    background-image: url(./frekwencja-new.svg?1);
    background-size: 31px;
}

#icon-wiadomosci .circle::before {
    background-image: url(./wiadomosci-new.svg?12);
    background-size: 37px;
}

#icon-ogloszenia .circle::before {
    background-image: url(./ogloszenia-new.svg?7);
    background-size: 31px;
}

#icon-terminarz .circle::before {
    background-image: url(./kalendarz-new.svg?2);
    background-size: 40px;
    background-position: right;
}

#icon-zadania .circle::before {
    background-image: url(./zadania_domowe-new.svg?4);
    background-size: 36px;
}

/* Obrazek wewnątrz ikony */
#icon-lekcja .circle img {
    width: 100px;
}

/* Licznik powiadomień */
a .circle[count]:after {
    content: attr(count);

    position: relative;
    top: -15px;
    left: 35px;
    z-index: 111;

    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    flex-direction: column;

    min-width: 18px;
    height: 18px;
    width: max-content;
    max-width: 100px;

    background: red;
    color: white;

    border-radius: 50px;

    font-family: initial;
    font-size: 12px;
    line-height: normal;

    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
}

/* Header */
#header ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
}

#header li {
    list-style: none;
}

/* Marginesy */
.margin10 {
    margin: 0 10px;
}
