/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-ntoqmnae3l],
.components-reconnect-repeated-attempt-visible[b-ntoqmnae3l],
.components-reconnect-failed-visible[b-ntoqmnae3l],
.components-pause-visible[b-ntoqmnae3l],
.components-resume-failed-visible[b-ntoqmnae3l],
.components-rejoining-animation[b-ntoqmnae3l] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-ntoqmnae3l],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-ntoqmnae3l],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-ntoqmnae3l],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-ntoqmnae3l],
#components-reconnect-modal.components-reconnect-retrying[b-ntoqmnae3l],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-ntoqmnae3l],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-ntoqmnae3l],
#components-reconnect-modal.components-reconnect-failed[b-ntoqmnae3l],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-ntoqmnae3l] {
    display: block;
}


#components-reconnect-modal[b-ntoqmnae3l] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-ntoqmnae3l 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-ntoqmnae3l 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-ntoqmnae3l 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-ntoqmnae3l]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-ntoqmnae3l 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-ntoqmnae3l {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-ntoqmnae3l {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-ntoqmnae3l {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-ntoqmnae3l] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-ntoqmnae3l] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-ntoqmnae3l] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-ntoqmnae3l] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-ntoqmnae3l] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-ntoqmnae3l] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-ntoqmnae3l] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-ntoqmnae3l 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-ntoqmnae3l] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-ntoqmnae3l {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/NewsArticlePage.razor.rz.scp.css */
.article-partner-link[b-6wzluwf5mx] { display: inline-flex; align-items: center; gap: .5rem; width: fit-content; padding: .6rem .9rem; border-radius: .75rem; color: var(--teal-dark); background: var(--teal-soft); font-weight: 650; }
.article-hero[b-6wzluwf5mx] { margin-inline: 0; }
/* /Components/Pages/RoomHire.razor.rz.scp.css */
.room-gallery-grid[b-wx46s3yvef] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem; }
.facilities-section[b-wx46s3yvef] { background: var(--teal-soft); scroll-margin-top: 6rem; }
.facilities-grid[b-wx46s3yvef] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.room-jump-links[b-wx46s3yvef] { display: flex; justify-content: center; flex-wrap: wrap; gap: .6rem 1.5rem; margin-block: 1.5rem 2rem; }
.room-jump-links a[b-wx46s3yvef] { color: var(--teal-dark); text-underline-offset: .25em; font-weight: 700; }
@media (max-width: 960px) { .facilities-grid[b-wx46s3yvef] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .room-gallery-grid[b-wx46s3yvef] { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) { .facilities-grid[b-wx46s3yvef] { grid-template-columns: minmax(0, 1fr); } }
/* /Components/Shared/EventCard.razor.rz.scp.css */
/* Keep status labels compact inside the card's flex column. */
.event-card-body > .tag[b-rvyedp1ytx] { align-self: flex-start; }

/* Use the event's quieter brand colours; reserve the solid fill for live status. */
.event-card .event-card-body .event-date[b-rvyedp1ytx] { color: var(--series-deep, var(--teal-dark)); }
.event-card .event-card-body .event-date-prominent[b-rvyedp1ytx] {
    background: var(--series-tint, var(--teal-soft));
    font-weight: 650;
}
.event-card .event-card-body > :is(.event-live-badge, .event-soon-badge) + *[b-rvyedp1ytx] { margin-top: 1.1rem; }

/* The outlined clock signals an upcoming start; the solid pulse means live. */
.event-soon-badge[b-rvyedp1ytx] {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: .5rem;
    max-width: 100%;
    padding: calc(.5rem - 1px) .8rem;
    border: 1px solid var(--series-deep, var(--teal-dark));
    border-radius: 999px;
    color: var(--series-deep, var(--teal-dark));
    background: white;
    font-size: .74rem;
    line-height: 1.35;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.event-soon-badge svg[b-rvyedp1ytx] { flex: 0 0 1rem; }

.event-card.is-happening-now[b-rvyedp1ytx] {
    --live-colour: var(--series-deep, var(--teal));
    border: 2px solid var(--live-colour);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--live-colour) 12%, transparent), 0 14px 35px color-mix(in srgb, var(--live-colour) 16%, transparent);
}

/* An inset frame works with every image and keeps the entire card clickable. */
.event-card.is-happening-now[b-rvyedp1ytx]::before {
    position: absolute;
    z-index: 3;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    content: "";
}

.event-card.is-happening-now.is-live-visible[b-rvyedp1ytx]::before { animation: event-card-glow-b-rvyedp1ytx 2.4s ease-in-out 2; }

.event-card.is-happening-now .event-card-body[b-rvyedp1ytx] {
    background: radial-gradient(ellipse at bottom right, color-mix(in srgb, var(--live-colour) 13%, white), transparent 70%), white;
}

.event-live-badge[b-rvyedp1ytx] {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: .65rem;
    max-width: 100%;
    padding: .5rem .8rem;
    border-radius: 999px;
    color: white;
    background: var(--live-colour);
    box-shadow: 0 3px 10px color-mix(in srgb, var(--live-colour) 20%, transparent);
    font-size: .74rem;
    line-height: 1.35;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.event-live-signal[b-rvyedp1ytx] {
    position: relative;
    flex: 0 0 .45rem;
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: white;
    box-shadow: 0 0 0 3px rgb(255 255 255 / 20%);
}

.event-live-signal[b-rvyedp1ytx]::after {
    position: absolute;
    inset: -4px;
    border: 1px solid rgb(255 255 255 / 65%);
    border-radius: 50%;
    content: "";
}

.is-live-visible .event-live-signal[b-rvyedp1ytx]::after { animation: event-card-signal-b-rvyedp1ytx 1.6s ease-out 3; }

/* Settle after the welcome pulse; the frame and badge remain visible. */
@keyframes event-card-glow-b-rvyedp1ytx {
    50% { box-shadow: inset 0 0 22px color-mix(in srgb, var(--live-colour) 24%, transparent); }
}

@keyframes event-card-signal-b-rvyedp1ytx {
    0% { transform: scale(.65); opacity: .9; }
    100% { transform: scale(1.65); opacity: 0; }
}

.event-card.is-happening-now:focus-within[b-rvyedp1ytx] {
    outline: 3px solid #155eef;
    outline-offset: 3px;
    box-shadow: 0 0 0 6px white, var(--shadow);
}

@media (prefers-reduced-motion: reduce) {
    .event-card.is-happening-now.is-live-visible[b-rvyedp1ytx]::before, .is-live-visible .event-live-signal[b-rvyedp1ytx]::after { animation: none; }
}
/* /Components/Shared/FacilityGallery.razor.rz.scp.css */
.facility-gallery[b-in5oxnmecw] { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 1rem; background: #fff; scroll-margin-top: 6rem; }
.facility-gallery figure[b-in5oxnmecw] { margin: 0; }
.facility-cover a[b-in5oxnmecw] { display: block; position: relative; }
.facility-cover img[b-in5oxnmecw] { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; }
.facility-view[b-in5oxnmecw] { position: absolute; bottom: 1rem; right: 1rem; display: flex; align-items: center; gap: .75rem; padding: .55rem .85rem; border-radius: .4rem; color: #fff; background: #063e48; font-size: .9rem; font-weight: 700; }
.facility-thumbnails[b-in5oxnmecw] { display: flex; gap: .5rem; padding: .75rem .75rem 0; }
.facility-thumbnails figure[b-in5oxnmecw] { width: calc((100% - 1rem) / 3); }
.facility-thumbnails a[b-in5oxnmecw] { display: block; border-radius: .35rem; overflow: hidden; }
.facility-thumbnails img[b-in5oxnmecw] { display: block; width: 100%; height: auto; }
.facility-photos a:focus-visible[b-in5oxnmecw] { outline: 3px solid #d08822; outline-offset: -4px; }
.facility-photos a:hover .facility-view[b-in5oxnmecw] { background: var(--teal); }
.facility-copy[b-in5oxnmecw] { padding: 1.25rem 1.5rem 1.5rem; }
.facility-copy h3[b-in5oxnmecw] { margin: 0; font-size: 1.4rem; line-height: 1.3; }
.facility-copy p[b-in5oxnmecw] { margin: .65rem 0 0; }
.facility-copy .facility-floor[b-in5oxnmecw] { margin: 0 0 .4rem; color: var(--teal); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.facility-gallery-compact .facility-copy[b-in5oxnmecw] { padding: 1rem 1.15rem 1.25rem; }
.facility-gallery-compact .facility-copy h3[b-in5oxnmecw] { font-size: 1.15rem; }
.facility-gallery-compact .facility-copy p[b-in5oxnmecw] { font-size: .95rem; }
.facility-gallery-compact .facility-view[b-in5oxnmecw] { bottom: .65rem; right: .65rem; font-size: .8rem; }
/* /Components/Shared/MissionPartnerNews.razor.rz.scp.css */
.mission-updates[b-ba6csnx5vv] { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.mission-updates .news-grid[b-ba6csnx5vv] { grid-template-columns: 1fr; }
.mission-update-card[b-ba6csnx5vv] { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); padding: 0; overflow: hidden; }
.mission-update-card.without-image[b-ba6csnx5vv] { grid-template-columns: 1fr; }
.mission-update-image[b-ba6csnx5vv] { display: block; }
.mission-update-image img[b-ba6csnx5vv] { display: block; width: 100%; height: 100%; min-height: 260px; object-fit: cover; object-position: center 65%; }
.mission-update-copy[b-ba6csnx5vv] { padding: 1.5rem; margin: 0; align-self: center; }
.mission-update-copy > *[b-ba6csnx5vv] { padding: 0; }
.mission-update-copy h3[b-ba6csnx5vv] { font-size: clamp(1.3rem, 2vw, 1.7rem); }
.mission-updates > .text-link[b-ba6csnx5vv] { display: inline-flex; margin-top: 1rem; }
@media (max-width: 650px) {
    .mission-update-card[b-ba6csnx5vv] { grid-template-columns: 1fr; }
    .mission-update-image img[b-ba6csnx5vv] { min-height: 0; height: auto; }
    .mission-update-copy[b-ba6csnx5vv] { padding: 1.15rem; }
}
/* /Components/Shared/NewsPhotoGallery.razor.rz.scp.css */
.article-gallery img[b-b2v6kx77lb] { height: 260px; aspect-ratio: auto; object-fit: contain; background: var(--teal-soft); }
.article-gallery a[b-b2v6kx77lb] { display: block; border-radius: .75rem; }
.article-gallery a:focus-visible[b-b2v6kx77lb] { outline: 3px solid var(--teal-dark); outline-offset: 4px; }
