.announcements { margin: .75rem 0 1rem; }
.announcement { position: relative; background: #fff8cf; color: #243044; border: 1px solid #e1d797; border-radius: .5rem; margin: .4rem 0; }
.announcement summary { cursor: pointer; padding: .65rem .8rem; position: relative; padding-right: 3rem; }
.announcement summary > span:first-child { overflow-wrap: anywhere; }
.announcement-unread { font-size: .8em; font-weight: bold; margin-left: .6rem; }
.announcement-dismiss { position: absolute; right: .4rem; top: .2rem; min-width: 2.5rem; min-height: 2.5rem; border: 0; background: transparent; color: inherit; font-size: 1.5rem; cursor: pointer; }
.announcement-details { padding: .4rem .9rem .9rem; border-top: 1px solid #e1d797; overflow-wrap: anywhere; }
.announcement-details a { color: #003d8f; text-decoration: underline; }
.announcement-error { margin: .5rem 0 0; color: #9b2424; }
.announcement [hidden], .announcements [hidden] { display: none !important; }
.announcement :focus-visible { outline: 3px solid #1653a1; outline-offset: 2px; }
.admin-announcement-form textarea, .admin-announcement-form input[name="summary"] { width: 100%; box-sizing: border-box; max-width: 55rem; }
.admin-announcement-form button { margin: .2rem; }
.announcement-preview { margin: 1rem 0; }
