.card { display: flex; flex-direction: column; height: 100%; background-color: White; box-shadow: 0px 4px 28px rgba(14, 56, 94, 0.08), 0px 4px 16px rgba(14, 56, 94, 0.04); border-radius: 10px; overflow: hidden; &__top { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 160px; padding: 20px 20px 15px; &::before { content: ''; position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; background: rgba(3, 9, 15, 0.4); } img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; } } &__title { position: relative; z-index: 1; color: $white; font-size: 24px; line-height: 28px; font-weight: 800; } &__labels { position: absolute; top: 20px; right: 20px; z-index: 1; display: flex; } &__label { position: relative; width: 40px; height: 40px; border-radius: 50%; transition: .3s; cursor: pointer; svg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } &:not(:last-child) { margin-right: 8px; } } &__label-favorites { background-color: rgba($white, 0.8); svg { transition: .3s; &:nth-child(1) { stroke: $blue; } &:nth-child(2) { opacity: 0; visibility: hidden; } } &:hover { @media (min-width: 1200px) { background-color: $blue; } svg { &:nth-child(1) { @media (min-width: 1200px) { stroke: $white; } } } } &.active { background-color: rgba($white, 1); svg { &:nth-child(1) { opacity: 0; visibility: hidden; } &:nth-child(2) { opacity: 1; visibility: visible; } } } } &__label-messenger { background-color: rgba(37, 211, 102, 0.6); &:hover { @media (min-width: 1200px) { background-color: hwb(142 15% 17%); } } } &__cnt { flex-grow: 1; display: flex; flex-direction: column; padding: 20px; } &__info { margin: 0 -20px 20px; } &__line { position: relative; color: #686B6F; font-size: 14px; line-height: 20px; font-weight: 500; font-style: normal; padding: 0 20px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; b { color: $black; width: 600px; } &:not(:last-child) { margin-bottom: 8px; } span { position: absolute; top: 4px; left: 0; width: 6px; height: 12px; background-color: #FFC955; border-radius: 0px 3px 3px 0px; } } &__line-complex { color: #4B4E53; font-weight: 700; } &__price { display: flex; align-items: flex-end; margin: auto 0 12px; span { flex-shrink: 0; &:nth-child(1) { color: $black; font-size: 24px; line-height: 30px; font-weight: 800; } &:nth-child(2) { color: #9A9C9F; font-size: 14px; line-height: 20px; font-weight: 500; margin-left: 4px; } } } &__btn { padding: 12px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } } .card-news { display: flex; flex-direction: column; height: 100%; background-color: White; box-shadow: 0px 4px 28px rgba(14, 56, 94, 0.08), 0px 4px 16px rgba(14, 56, 94, 0.04); border-radius: 10px; overflow: hidden; &__top { position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding: 20px 20px 15px; min-height: 170px; &::before { content: ''; position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; background: rgba(3, 9, 15, 0.4); } img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; } } &__date { position: relative; z-index: 1; span { display: block; color: $white; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 1; &:nth-child(1) { font-size: 32px; line-height: 36px; font-weight: 800; margin-bottom: 4px; @media (min-width: 1200px) { line-height: 40px; margin-bottom: 2px; } } &:nth-child(2) { font-size: 14px; line-height: 20px; font-weight: 600; } } } &__cnt { position: relative; z-index: 2; flex-grow: 1; display: flex; flex-direction: column; padding: 20px 20px 20px; background-color: $white; } &__descr { font-weight: 600; font-size: 14px; line-height: 20px; color: #40454A; margin-bottom: 32px; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 3; } &__link { position: relative; align-self: flex-start; color: #40454A; font-size: 14px; line-height: 20px; font-weight: 600; margin-top: auto; padding: 0 28px 7px 0; &::before { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; border-radius: 5px; background-color: #E6E7E7; } &::after { content: ''; position: absolute; left: 0; bottom: 0; height: 2px; width: 0; border-radius: 5px; background-color: $blue; transition: .3s; } &:hover { &::after { width: 100%; } } svg { position: absolute; top: 4px; right: 0; } } }