.announcement-directive {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  text-align: center;
  overflow: hidden;
  width: 64px;
  height: 64px;
  background-color: rgba(var(--color-info));
  z-index: 80;
  position: fixed;
  bottom: calc(var(--navbar-bottom-height) + env(safe-area-inset-bottom, 21pt));
  left: env(safe-area-inset-left, 0);
  color: rgba(var(--font-color));
  transition: right 420ms ease, left 420ms ease;
  border-radius: var(--default-radius-large);
  margin: 8px;
}

.announcement-directive:not(.is-visible) {
  left: calc(-25px - env(safe-area-inset-left, 0));
}

.announcement-directive:not(.is-visible):hover {
  left: env(safe-area-inset-left, 0)
}

.announcement-directive.is-visible {
  width: auto;
  right: env(safe-area-inset-right, 0);
}

.announcement-directive.is-guest {
  bottom: calc((2 * var(--navbar-bottom-height)) + env(safe-area-inset-bottom, 21pt));
}

.announcement-directive button {
  display: flex;
  min-width: 64px !important;
  margin: 0 !important;
  box-sizing: border-box;
  overflow: visible;
  height: 64px !important;
  width: 64px !important;
  border-radius: var(--default-radius-large) !important;
}

.announcement-directive:not(.is-visible) button:not(:first-child) {
  display: none;
}

.announcement-directive button i {
  background-color: rgba(var(--color-error));
  color: #FFFFFF;
  width: 10pt;
  height: 10pt;
  border-radius: 10pt;
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 8pt;
  display: flex;
  justify-content: center;
  align-items: center;
  font-style: normal;
}

.announcement-directive button md-icon {
  color: rgba(var(--font-color));
}

.announcement-directive .toolbar-spacer {
  background-color: rgba(var(--font-color));
}

.announcement-directive .announcement-directive-content {
  display: none;
}

.announcement-directive.is-visible .announcement-directive-content {
  display: flex;
  flex-direction: row;
  flex-grow: 1;
  align-items: center;
  padding: 8px;
  overflow: hidden;
}

.announcement-directive .announcement-directive-content.has-overflow-content {
  position: relative;
}

.announcement-directive .announcement-directive-content .announcement-directive-announcement {
  display: flex;
  flex-direction: row;
  background-color: rgba(var(--color-info));
  cursor: pointer;
  align-items: center;
}

.announcement-directive .announcement-directive-content .announcement-directive-announcement:hover {
  text-decoration: underline;
}

.announcement-directive .announcement-directive-content.has-overflow-content .announcement-directive-announcement {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.announcement-directive .announcement-directive-content .announcement-directive-announcement .announcement-directive-announcement-title {
  white-space: nowrap;
  margin: 0 4px;
  font-weight: bold;
}

.announcement-directive .announcement-directive-content .announcement-directive-announcement .announcement-directive-announcement-text {
  white-space: nowrap;
  margin: 0 4px;
  font-size: 10pt;
  max-width: 100vw;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 600px) {
  .announcement-directive .announcement-directive-content {
    font-size: 10pt;
    font-weight: normal;
  }
  .announcement-directive .announcement-directive-content .announcement-directive-announcement .announcement-directive-announcement-text {
    display: none;
  }
}