main#news h1{
    font-size: clamp(1.3rem, 3vw, 2.8rem);
}

html body main {
    justify-content: flex-start;
}

html body main section {
    padding: 4vmax 0;
}

html body main section#header {
    padding: 0;
    background-color: #1f202f;
    background-size: contain;
    color: #fff;
    height: 16vw;
    max-height: 500px;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-size: 50% auto;
    background-position: right center;
    background-repeat: no-repeat;
}

html body main section .last-article {
    border-bottom: 1px solid #ccc;
    padding-bottom: 2vmax;
    margin-bottom: 1vmax;
}

html body main section .last-article__date {
    font-size: 14px;
}

html body main section .last-article__title {
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 1.4rem;
}

html body main section .last-article__image {
    display: block;
}

html body main section .last-article__image img {
    display: block;
    width: 100%;
    aspect-ratio: 16/10;
    -o-object-fit: cover;
    object-fit: cover;
}

html body main section .random-news {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media (max-width: 1200px) {
    html body main section .random-news {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin-top: calc(4vmax - 1rem);
    }
}

@media (max-width: 400px) {
    html body main section .random-news {
        display: block;
    }
}

html body main section .random-article {
    vertical-align: middle;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 20px;
}

@media (max-width: 1024px) {
    html body main section .random-article {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }
}

@media (max-width: 1024px) {
    html body main section .random-article .img-wrapper {
        margin-top: 1rem;
    }
}

html body main section .random-article img {
    display: block;
    width: 100%;
    aspect-ratio: 16/10;
    -o-object-fit: cover;
    object-fit: cover;
}

html body main section .random-article .data-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (max-width: 1024px) {
    html body main section .random-article .data-wrapper {
        justify-content: flex-start;
        align-items: flex-start;
        height: 100%;
    }
}

html body main section .random-article .data-wrapper .date {
    text-transform: lowercase;
    font-size: 14px;
}

html body main section .random-article .data-wrapper .title {
    font-weight: 500;
    line-height: 1.2em;
}

@media (max-width: 1024px) {
    html body main section .random-article .data-wrapper .title {
        flex-grow: 1;
    }
}

html body main section .random-article .data-wrapper .title a {
    text-decoration: none;
}

html body main section .random-article .data-wrapper .actions {
    font-size: 14px;
}

html body main section .random-article .data-wrapper .actions a {
    text-decoration: none;
}

html body main section .taglist {
    margin: 0;
    position: sticky;
    top: 80px;
}

@media (max-width: 850px) {
    html body main section .taglist {
        display: flex;
        gap: 4px;
        flex-wrap: wrap;
        margin-bottom: 4vmax;
    }
}

html body main section .taglist li a {
    border-top: 1px solid #ccc;
    display: flex;
    gap: 6px;
    text-decoration: none;
    padding: 0.2em 0.4em;
}

html body main section .taglist li a:hover {
    background-color: rgba(0, 0, 0, 0.02);
}

html body main section .taglist li a.active {
    background-color: rgba(0, 0, 0, 0.02);
    font-weight: 500;
}

html body main section .taglist li a.active:before {
    color: #333;
}

@media (max-width: 850px) {
    html body main section .taglist li a.active {
        background-color: #1f202f;
        color: #fff;
    }

    html body main section .taglist li a.active:before {
        color: #fff;
    }
}

@media (max-width: 850px) {
    html body main section .taglist li a {
        border: 1px solid #ccc;
        border-radius: 2rem;
        padding: 0.2em 0.7em;
    }

    html body main section .taglist li a.active {
        font-weight: normal;
    }

    html body main section .taglist li a:not(.active):before {
        display: none;
    }
}

html body main section .taglist li:last-of-type a {
    border-bottom: 1px solid #ccc;
}

@media (max-width: 1200px) {
    html body main section #rest {
        margin-top: 4vmax;
        padding-top: 4vmax;
        border-top: 1px solid #ccc;
    }
}

@media (max-width: 850px) {
    html body main section #rest {
        margin-bottom: 5vmax;
    }
}

html body main section #rest h2 {
    margin: 0.5rem 0;
}

html body main section #rest .search-wrapper {
    box-shadow: 0 0 0 1px #ccc inset;
    display: flex;
    align-items: center;
    margin-left: auto;
    width: 90%;
    background-color: #fff;
    padding: 0 0.75rem;
    border-radius: 2rem;
    max-width: 250px;
}

@media (max-width: 850px) {
    html body main section #rest .search-wrapper {
        margin-right: auto;
    }
}

html body main section #rest .search-wrapper input {
    padding: 6px 0;
    line-height: 1.5rem;
    font-size: 1rem;
    font-family: "Commissioner", sans-serif;
    border: 0;
    width: 120px;
    flex-grow: 1;
    background-color: transparent;
}

html body main section #rest .search-wrapper input::-moz-placeholder {
    color: #bbb;
}

html body main section #rest .search-wrapper input::placeholder {
    color: #bbb;
}

html body main section #rest .search-wrapper i {
    color: #ccc;
}

html body main section #results article {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 1rem;
}

html body main section #results article img {
    display: block;
    width: 100%;
    aspect-ratio: 16/10;
    -o-object-fit: cover;
    object-fit: cover;
}

html body main section #results article span {
    font-size: 14px;
    line-height: 1em;
}

html body main section #results article a {
    font-weight: 500;
    text-decoration: none;
}

html body main section #results article .intro {
    font-size: 14px;
    line-height: 1.4em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
    text-overflow: ellipsis;
}

html body main section #results article .intro p:first-of-type {
    margin-top: 0;
}

html body main section #results article .intro p:last-of-type {
    margin-bottom: 0;
}

html body main section .no-results {
    background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='black' stroke-width='4' stroke-dasharray='24,15' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e");
    padding: clamp(30px, 4vmax, 80px);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(6px, 4vmax, 40px);
}

@media (max-width: 850px) {
    html body main section .no-results {
        flex-direction: column;
        text-align: center;
    }
}

html body main section .no-results img {
    max-width: 260px;
}

html body main section .no-results p {
    margin: 0;
}

html body main section .tags {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

html body main section .tags .tag {
    background-color: #ccc;
    font-size: 12px;
    line-height: 1.6em;
    padding: 0 0.75em;
    border-radius: 2em;
}

html body main section .intro {
    font-size: 14px;
    line-height: 1.4em;
    color: #777;
}

html body main section .news-image {
    min-height: 200px;
    margin-bottom: 0.75rem;
}

html body main section .gallery img {
    width: 100%;
    aspect-ratio: 16/10;
    -o-object-fit: cover;
    object-fit: cover;
    margin-bottom: 2rem;
}

@media (max-width: 850px) {
    html body main section .gallery img {
        margin-bottom: 3vmin;
    }
}