.announcement {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    width: 100%;
    text-align: center;
    position: relative;
}

.announcement-info {
    background-color: #cce5ff;
    border-color: #b8daff;
    color: #004085;
}

.announcement-warning {
    background-color: #fff3cd;
    border-color: #ffeeba;
    color: #856404;
}

.announcement-success {
    background-color: #d4edda;
    border-color: #c3e6cb;
    color: #155724;
}

.announcement-danger {
    background-color: #f8d7da;
    border-color: #f5c6cb;
    color: #721c24;
}

.announcement.dismissible {
    padding-right: 4rem;
}

.announcement .close {
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    opacity: 0.5;
}

.announcement .close:hover {
    opacity: 1;
}

.announcement-link {
    text-decoration: underline;
    font-weight: 500;
}

.announcement-info .announcement-link {
    color: #002752;
}

.announcement-warning .announcement-link {
    color: #533f03;
}

.announcement-success .announcement-link {
    color: #0b2e13;
}

.announcement-danger .announcement-link {
    color: #491217;
}

.announcement-link:hover {
    opacity: 0.8;
}