/*
 * UNM-Valencia notification banner
 */

.unmv-notification {
    --unmv-notification-font-size: clamp(
        1.30625rem,
        1.54vw,
        1.5125rem
    );

    position: relative;
    z-index: 10000;
    display: block;
    clear: both;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #ffc600;
    color: #007a86;
    box-sizing: border-box;
}

.unmv-notification *,
.unmv-notification *::before,
.unmv-notification *::after {
    box-sizing: inherit;
}

.unmv-notification[hidden] {
    display: none !important;
}

.unmv-notification__inner {
    display: grid;
    grid-template-columns:
        44px
        minmax(0, 1fr)
        auto
        auto
        minmax(0, 1fr)
        44px;
    align-items: center;
    column-gap: 1rem;
    width: 100%;
    min-height: 58px;
    margin: 0 auto;
    padding: 0.45rem 0.75rem;
}

.unmv-notification__message {
    grid-column: 3;
    margin: 0;
    color: #007a86;
    font-size: var(--unmv-notification-font-size);
    font-weight: 700;
    line-height: 1.25;
    text-align: right;
}

.unmv-notification__link {
    grid-column: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 0;
    padding: 0.6rem 1rem;
    border: 0;
    background: #ba0c2f;
    color: #ffffff;
    font: inherit;
    font-size: var(--unmv-notification-font-size);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.unmv-notification__link:hover {
    background: #007a86;
    color: #ffffff;
    text-decoration: underline;
}

.unmv-notification__link:focus {
    color: #ffffff;
}

.unmv-notification__link:focus-visible {
    outline: 3px solid #007a86;
    outline-offset: 3px;
    text-decoration: underline;
}

.unmv-notification__close {
    grid-column: 6;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #007a86;
    font: inherit;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.unmv-notification__close:hover {
    background: #ba0c2f;
    color: #ffffff;
}

.unmv-notification__close:focus-visible {
    outline: 3px solid #ba0c2f;
    outline-offset: 2px;
}

/*
 * Inline links within notification messages
 */

.unmv-notification__text-link {
    color: #ba0c2f;
    font: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 0.1em;
    text-underline-offset: 0.15em;
}

.unmv-notification__text-link:visited {
    color: #ba0c2f;
}

.unmv-notification__text-link:hover {
    color: #ba0c2f;
    text-decoration-thickness: 0.15em;
}

.unmv-notification__text-link:focus {
    color: #ba0c2f;
}

.unmv-notification__text-link:focus-visible {
    outline: 3px solid #ba0c2f;
    outline-offset: 3px;
}

/*
 * Base mobile notification layout
 */

@media screen and (max-width: 767px) {
    .unmv-notification {
        --unmv-notification-font-size: clamp(
            1.30625rem,
            4.95vw,
            1.5125rem
        );
    }

    .unmv-notification__inner {
        grid-template-columns: minmax(0, 1fr) auto 44px;
        column-gap: 0.5rem;
        min-height: 64px;
        padding: 0.45rem 0.5rem;
    }

    .unmv-notification__message {
        grid-column: 1;
        text-align: right;
    }

    .unmv-notification__link {
        grid-column: 2;
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    .unmv-notification__close {
        grid-column: 3;
    }
}

@media screen and (max-width: 360px) {
    .unmv-notification__inner {
        column-gap: 0.35rem;
        padding-right: 0.25rem;
        padding-left: 0.4rem;
    }

    .unmv-notification__link {
        padding-right: 0.55rem;
        padding-left: 0.55rem;
    }
}

/*
 * Homepage notification-specific text size
 * Reduced by an additional five percent
 */

.unmv-notification--homepage {
    --unmv-notification-font-size: clamp(
        1.17889rem,
        1.38985vw,
        1.36504rem
    );
}

@media screen and (max-width: 767px) {
    .unmv-notification--homepage {
        --unmv-notification-font-size: clamp(
            1.17889rem,
            4.46738vw,
            1.36504rem
        );
    }
}

/*
 * ============================================================
 * BEGIN: Nursing notification-specific styles
 * ============================================================
 */

.unmv-notification--nursing .unmv-notification__message {
    max-width: none;
    text-align: left;
}

/*
 * Keep the nursing notice on one line at standard desktop widths.
 * The nursing desktop text is 15% larger than its previous size.
 */

@media screen and (min-width: 1200px) {
    .unmv-notification--nursing {
        --unmv-notification-font-size: clamp(
            1.00625rem,
            1.15vw,
            1.15rem
        );
    }

    .unmv-notification--nursing .unmv-notification__inner {
        grid-template-columns: minmax(0, 1fr) auto 44px;
        column-gap: 0.75rem;
        min-height: 58px;
        padding-top: 0.35rem;
        padding-bottom: 0.35rem;
    }

    .unmv-notification--nursing .unmv-notification__message {
        grid-column: 1;
        white-space: nowrap;
        text-align: center;
    }

    .unmv-notification--nursing .unmv-notification__link {
        grid-column: 2;
    }

    .unmv-notification--nursing .unmv-notification__close {
        grid-column: 3;
    }
}

/*
 * Nursing mobile layout
 */

@media screen and (max-width: 767px) {
    .unmv-notification--nursing {
        --unmv-notification-font-size: clamp(
            1rem,
            4vw,
            1.125rem
        );
    }

    .unmv-notification--nursing .unmv-notification__inner {
        grid-template-columns: minmax(0, 1fr) 44px;
        grid-template-rows: auto auto;
        column-gap: 0.5rem;
        row-gap: 0.5rem;
        padding: 0.6rem 0.5rem;
    }

    .unmv-notification--nursing .unmv-notification__message {
        grid-column: 1;
        grid-row: 1;
        max-width: none;
        white-space: normal;
        text-align: center;
    }

    .unmv-notification--nursing .unmv-notification__close {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
    }

    .unmv-notification--nursing .unmv-notification__link {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: center;
        min-width: 8rem;
    }
}

/*
 * ============================================================
 * END: Nursing notification-specific styles
 * ============================================================
 */

@media print {
    .unmv-notification {
        display: none !important;
    }
}