.dps-announcement {
    --dps-title-bg: #F5B642;
    --dps-title-color: #00454A;
    --dps-text-bg: #004A67;
    --dps-text-color: #FFFFFF;
    --dps-border-color: #F5B642;
    --dps-border-width: 2px;
    --dps-bar-height: 44px;
    --dps-title-padding: 18px;
    --dps-font-size: 14px;
    --dps-radius: 0px;
    --dps-item-gap: 36px;
    --dps-duration: 20s;
    --dps-delay: 0s;
    --dps-shift: 400px;
    --dps-mobile-height: 40px;
    --dps-mobile-font-size: 13px;
    --dps-mobile-title-font-size: 12px;
    --dps-mobile-title-padding: 10px;

    display: flex;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    min-height: var(--dps-bar-height);
    overflow: hidden;
    box-sizing: border-box;
    background: var(--dps-text-bg);
    border-top: var(--dps-border-width) solid var(--dps-border-color);
    border-bottom: var(--dps-border-width) solid var(--dps-border-color);
    border-radius: var(--dps-radius);
}

.dps-announcement.dps-has-shadow {
    box-shadow: 0 2px 6px rgba(0, 0, 0, .10);
}

.dps-announcement.dps-width-container {
    max-width: 100%;
    margin: 0;
}

.dps-announcement.dps-width-custom {
    max-width: var(--dps-max-width, 1320px);
    margin: var(--dps-module-margin, 0 auto);
}

.dps-announcement.dps-width-full {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: 100vw;
    margin-left: -50vw;
    margin-right: -50vw;
}

.dps-announcement-label {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 7px;
    min-height: var(--dps-bar-height);
    padding: 0 var(--dps-title-padding);
    background: var(--dps-title-bg);
    color: var(--dps-title-color);
    font-size: var(--dps-font-size);
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    box-sizing: border-box;
}

.dps-announcement-label,
.dps-announcement-label * {
    color: var(--dps-title-color) !important;
}

.dps-announcement-window {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    background: var(--dps-text-bg);
}

.dps-announcement-track {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    width: max-content;
    min-width: 100%;
    will-change: transform;
}

.dps-announcement-group {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    white-space: nowrap;
}

.dps-announcement-item {
    display: inline-flex;
    align-items: center;
    min-height: calc(var(--dps-bar-height) - (2 * var(--dps-border-width)));
    color: var(--dps-text-color);
    font-size: var(--dps-font-size);
    font-weight: 500;
    line-height: 1.35;
}

.dps-announcement-item,
.dps-announcement-item a,
.dps-announcement-item a:visited,
.dps-announcement-item a:hover,
.dps-announcement-item a:active {
    color: var(--dps-text-color) !important;
    text-decoration: none !important;
}

.dps-announcement-item a:hover,
.dps-announcement-item a:focus-visible {
    text-decoration: underline !important;
}

.dps-announcement-separator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--dps-item-gap);
    flex: 0 0 var(--dps-item-gap);
    color: var(--dps-text-color);
    opacity: .72;
    font-size: .75em;
}

.dps-announcement.is-scrolling.dps-direction-rtl .dps-announcement-track {
    animation: dpsAnnouncementRTL var(--dps-duration) linear var(--dps-delay) infinite;
}

.dps-announcement.is-scrolling.dps-direction-ltr .dps-announcement-track {
    animation: dpsAnnouncementLTR var(--dps-duration) linear var(--dps-delay) infinite;
}

.dps-announcement.dps-pause-hover:hover .dps-announcement-track {
    animation-play-state: paused;
}

.dps-announcement:not(.is-scrolling) .dps-announcement-track {
    width: 100%;
}

.dps-announcement:not(.is-scrolling) .dps-announcement-clone {
    display: none;
}

@keyframes dpsAnnouncementRTL {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(calc(-1 * var(--dps-shift)), 0, 0); }
}

@keyframes dpsAnnouncementLTR {
    from { transform: translate3d(calc(-1 * var(--dps-shift)), 0, 0); }
    to   { transform: translate3d(0, 0, 0); }
}

/* Mobile behaviour is applied by JS using the administrator breakpoint. */
.dps-announcement.is-mobile {
    min-height: var(--dps-mobile-height);
}

.dps-announcement.is-mobile .dps-announcement-label {
    min-height: var(--dps-mobile-height);
    padding-left: var(--dps-mobile-title-padding);
    padding-right: var(--dps-mobile-title-padding);
    font-size: var(--dps-mobile-title-font-size);
}

.dps-announcement.is-mobile .dps-announcement-item {
    min-height: calc(var(--dps-mobile-height) - (2 * var(--dps-border-width)));
    font-size: var(--dps-mobile-font-size);
}

.dps-announcement.is-mobile.dps-mobile-stacked {
    flex-direction: column;
}

.dps-announcement.is-mobile.dps-mobile-stacked .dps-announcement-label {
    width: 100%;
    justify-content: flex-start;
}

.dps-announcement.is-mobile.dps-mobile-stacked .dps-announcement-window {
    width: 100%;
    min-height: var(--dps-mobile-height);
}

.dps-announcement.is-mobile.dps-mobile-hide-title .dps-announcement-label,
.dps-announcement.is-mobile .dps-title-mobile-hidden {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    .dps-announcement-track {
        animation: none !important;
        transform: none !important;
    }

    .dps-announcement-clone {
        display: none !important;
    }
}

/* Sequential mode: one announcement crosses the window completely,
   then JavaScript starts the next item. */
.dps-announcement-sequential {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: calc(var(--dps-bar-height) - (2 * var(--dps-border-width)));
    overflow: hidden;
}

.dps-announcement-sequential-item {
    position: absolute;
    top: 0;
    left: 0;
    display: none;
    align-items: center;
    min-height: calc(var(--dps-bar-height) - (2 * var(--dps-border-width)));
    white-space: nowrap;
    color: var(--dps-text-color);
    font-size: var(--dps-font-size);
    font-weight: 500;
    line-height: 1.35;
    will-change: transform;
}

.dps-announcement-sequential-item.is-active {
    display: inline-flex;
}

.dps-announcement-sequential-item,
.dps-announcement-sequential-item a,
.dps-announcement-sequential-item a:visited,
.dps-announcement-sequential-item a:hover,
.dps-announcement-sequential-item a:active {
    color: var(--dps-text-color) !important;
    text-decoration: none !important;
}

.dps-announcement-sequential-item a:hover,
.dps-announcement-sequential-item a:focus-visible {
    text-decoration: underline !important;
}

.dps-announcement.is-mobile .dps-announcement-sequential,
.dps-announcement.is-mobile .dps-announcement-sequential-item {
    min-height: calc(var(--dps-mobile-height) - (2 * var(--dps-border-width)));
}

.dps-announcement.is-mobile .dps-announcement-sequential-item {
    font-size: var(--dps-mobile-font-size);
}

@media (prefers-reduced-motion: reduce) {
    .dps-announcement-sequential-item {
        position: static !important;
        transform: none !important;
    }

    .dps-announcement-sequential-item:first-child {
        display: inline-flex !important;
    }
}
