[class^="icon-"],
[class*=" icon-"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    font-style: normal;
    line-height: 1;
}

[class^="icon-"]::before,
[class*=" icon-"]::before {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

.icon-warning::before {
    mask-image: url('../icons/icon-warning.svg');
    -webkit-mask-image: url('../icons/icon-warning.svg');
}

.icon-red-dot::before {
    mask-image: url('../icons/icon-red-dot.svg');
    -webkit-mask-image: url('../icons/icon-red-dot.svg');
}

.icon-phone::before {
    mask-image: url('../icons/icon-phone.svg');
    -webkit-mask-image: url('../icons/icon-phone.svg');
}

.icon-books::before {
    mask-image: url('../icons/icon-books.svg');
    -webkit-mask-image: url('../icons/icon-books.svg');
}

.icon-search::before {
    mask-image: url('../icons/icon-search.svg');
    -webkit-mask-image: url('../icons/icon-search.svg');
}

.icon-star::before {
    mask-image: url('../icons/icon-star.svg');
    -webkit-mask-image: url('../icons/icon-star.svg');
}

.icon-book::before {
    mask-image: url('../icons/icon-book.svg');
    -webkit-mask-image: url('../icons/icon-book.svg');
}

.icon-download::before {
    mask-image: url('../icons/icon-download.svg');
    -webkit-mask-image: url('../icons/icon-download.svg');
}

.icon-sync::before {
    mask-image: url('../icons/icon-sync.svg');
    -webkit-mask-image: url('../icons/icon-sync.svg');
}

.icon-chat::before {
    mask-image: url('../icons/icon-chat.svg');
    -webkit-mask-image: url('../icons/icon-chat.svg');
}

.icon-palette::before {
    mask-image: url('../icons/icon-palette.svg');
    -webkit-mask-image: url('../icons/icon-palette.svg');
}

.icon-rocket::before {
    mask-image: url('../icons/icon-rocket.svg');
    -webkit-mask-image: url('../icons/icon-rocket.svg');
}

.icon-lock::before {
    mask-image: url('../icons/icon-lock.svg');
    -webkit-mask-image: url('../icons/icon-lock.svg');
}

.icon-target::before {
    mask-image: url('../icons/icon-target.svg');
    -webkit-mask-image: url('../icons/icon-target.svg');
}

.icon-heart::before {
    mask-image: url('../icons/icon-heart.svg');
    -webkit-mask-image: url('../icons/icon-heart.svg');
}

.icon-user::before {
    mask-image: url('../icons/icon-user.svg');
    -webkit-mask-image: url('../icons/icon-user.svg');
}

.icon-chart::before {
    mask-image: url('../icons/icon-chart.svg');
    -webkit-mask-image: url('../icons/icon-chart.svg');
}

.icon-tag::before {
    mask-image: url('../icons/icon-tag.svg');
    -webkit-mask-image: url('../icons/icon-tag.svg');
}

.icon-featured::before {
    mask-image: url('../icons/icon-featured.svg');
    -webkit-mask-image: url('../icons/icon-featured.svg');
}

.icon-lg {
    font-size: 1.5em;
}

.card-icon .icon-books,
.card-icon .icon-search,
.card-icon .icon-star,
.card-icon .icon-book,
.card-icon .icon-download,
.card-icon .icon-sync,
.card-icon .icon-chat,
.card-icon .icon-palette,
.card-icon .icon-rocket,
.card-icon .icon-lock,
.card-icon .icon-target,
.card-icon .icon-heart,
.card-icon .icon-user,
.card-icon .icon-chart,
.card-icon .icon-tag,
.card-icon .icon-featured {
    font-size: 24px;
}
