.announcement-bar {
    position: fixed;
    left: 0;
    right: 0;
    padding: 12px 40px 12px 0;
    z-index: 9999;
    overflow: hidden;
}

.announcement-bar.top {
    top: 0;
}

.announcement-bar.bottom {
    bottom: 0;
}

.marquee-container {
    display: inline-block;
    white-space: nowrap;
    width: 100%;
    position: relative;
}

.marquee {
    white-space: nowrap;
    animation: marquee linear infinite;
    display: inline-block;
    padding-left: 100%;
    animation-play-state: running;
}

.marquee-left {
    animation-name: marquee-left;
}

.marquee-right {
    animation-name: marquee-right;
}

@keyframes marquee-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

@keyframes marquee-right {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(0); }
}

.ab-close-button {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: inherit;
    font-size: 20px;
    cursor: pointer;
    padding: 0 8px;
    line-height: 1;
}

.ab-close-button:hover {
    opacity: 0.8;
}