/* =========================================================
   ADNI — ANNOUNCEMENT BAR
   ========================================================= */

.adni-announcement {
    position: relative;
    width: 100%;

    background: #273480;
    color: #ffffff;

    z-index: 1090;

    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}


.adni-announcement-inner {
    width: 100%;
    max-width: 1320px;

    min-height: 40px;

    margin: 0 auto;
    padding: 7px 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 12px;
}


/* =========================================================
   ICON
   ========================================================= */

.adni-announcement-icon {
    flex: 0 0 auto;

    font-size: 14px;
    line-height: 1;
}


/* =========================================================
   CONTENT
   ========================================================= */

.adni-announcement-content {
    display: flex;
    align-items: center;

    gap: 8px;

    min-width: 0;

    font-size: 13px;
    line-height: 1.4;
}


.adni-announcement-label {
    font-weight: 700;

    color: #c5a253;

    white-space: nowrap;
}


.adni-announcement-text {
    font-weight: 500;

    color: #ffffff;
}



/* =====================================================
   ANNOUNCEMENT — SHAKING ICON
   ===================================================== */

.adni-announcement-icon-pulse {
    display: inline-block;
    transform-origin: 70% 50%;

    animation: announcementIconShake 2.5s ease-in-out infinite;
}


@keyframes announcementIconShake {

    0%,
    70%,
    100% {
        transform: rotate(0deg) scale(1);
    }

    72% {
        transform: rotate(-12deg) scale(1.08);
    }

    74% {
        transform: rotate(10deg) scale(1.08);
    }

    76% {
        transform: rotate(-8deg) scale(1.08);
    }

    78% {
        transform: rotate(6deg) scale(1.05);
    }

    80% {
        transform: rotate(-3deg) scale(1.02);
    }

    82% {
        transform: rotate(0deg) scale(1);
    }

}

/* =========================================================
   CTA
   ========================================================= */

.adni-announcement-link {
    display: inline-flex;
    align-items: center;

    gap: 5px;

    flex: 0 0 auto;

    color: #ffffff;

    font-size: 13px;
    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}


.adni-announcement-link:hover {
    color: #c5a253;

    transform: translateX(2px);
}


.adni-announcement-link span {
    font-size: 15px;
}


/* =========================================================
   CLOSE BUTTON
   ========================================================= */

.adni-announcement-close {
    position: absolute;

    top: 50%;
    right: 16px;

    transform: translateY(-50%);

    width: 28px;
    height: 28px;

    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    background: transparent;

    color: rgba(255, 255, 255, 0.75);

    font-size: 22px;
    font-weight: 300;

    line-height: 1;

    cursor: pointer;

    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}


.adni-announcement-close:hover {
    color: #ffffff;

    background: rgba(255, 255, 255, 0.1);

    border-radius: 50%;
}


/* =========================================================
   HIDDEN STATE
   ========================================================= */

.adni-announcement.is-hidden {
    display: none;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .adni-announcement-inner {
        min-height: 44px;

        padding: 7px 48px 7px 14px;

        justify-content: flex-start;

        gap: 8px;
    }


    .adni-announcement-icon {
        font-size: 13px;
    }


    .adni-announcement-content {
        display: block;

        font-size: 12px;

        line-height: 1.35;
    }


    .adni-announcement-label {
        margin-right: 4px;
    }


    .adni-announcement-text {
        font-size: 12px;
    }


    .adni-announcement-link {
        font-size: 12px;
    }


    .adni-announcement-close {
        right: 10px;

        width: 26px;
        height: 26px;
    }



}

/* =====================================================
   ANNOUNCEMENT — ICON
===================================================== */

.adni-announcement-icon {
    color: #c5a253;
    font-size: 16px;
}

.adni-announcement-icon i {
    display: inline-block;
    animation: adniMegaphoneShake 2.5s ease-in-out infinite;
    transform-origin: 70% 50%;
}


/* =====================================================
   MEGAPHONE SHAKE
===================================================== */

@keyframes adniMegaphoneShake {

    0%,
    70%,
    100% {
        transform: rotate(0deg);
    }

    72% {
        transform: rotate(-12deg);
    }

    74% {
        transform: rotate(12deg);
    }

    76% {
        transform: rotate(-9deg);
    }

    78% {
        transform: rotate(7deg);
    }

    80% {
        transform: rotate(-3deg);
    }

    82% {
        transform: rotate(0deg);
    }

}