* .news {
    box-sizing: border-box;
}

.news {
    --border-radius: 0;
    --border-radius-avatar: 0;
    --gap: 5px;
    --padding: 10px;
    --sidebar-width: 120px;
    
    background: #fff;
    border-radius: var(--border-radius);
    color: #444;
    display: flex;
    flex-wrap: wrap;
    font-size: 10pt;
    gap: var(--gap);
    line-height: 1.5;
    padding: var(--gap);
    box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.05);
}

.news .wide {
    flex: 1;
}

.news-header {
    background: #f0f0f0;
    border-radius: var(--border-radius);
    padding: var(--padding);
    text-align: center;
}

.news-sidebar {
    border-radius: var(--border-radius);
    width: var(--sidebar-width);
}

.news-sidebar img {
    background: #f0f0f0;
    border-radius: var(--border-radius-avatar);
    display: block;
    height: max-content;
    margin-bottom: var(--gap);
    width: 100%;
}

.news-info {
    align-items: center;
    background: #eee;
    border-radius: var(--border-radius);
    display: grid;
    gap: 5px 15px;
    grid-template-columns: 10% 1fr;
    padding: var(--padding);
}

.news-content {
    border-radius: var(--border-radius);
    padding: var(--padding);
}

.news-footer {
    align-items: center;
    background: #eee;
    border-radius: var(--border-radius);
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
    justify-content: right;
    padding: var(--padding);
    width: 100%;
}

.news-footer a {
    background: #fff;
    border-radius: var(--border-radius);
    color: inherit;
    display: block;
    padding: 5px var(--padding);
    text-decoration: none;
}

.news-content p:first-child {
    margin-top: 0;
}

.news-content p:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 768px) {
    .news {
        padding: 10px;
        width: 100%;
    }

    .news-content {
        padding: var(--padding) 0;
    }

    .news-sidebar {
        display: flex;
        gap: 5px;
        order: 1;
        width: 100%;
    }

    .news-sidebar img {
        height: 35px;
        margin: 0;
        width: 35px;
    }

    .news-sidebar .news-info {
        display: flex;
        flex: 1;
        justify-content: center;
        padding: 5px;
    }
}