.elementor-bc-flex-widget .elementor-19520 .elementor-element.elementor-element-ee015cd.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-19520 .elementor-element.elementor-element-ee015cd.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-19520 .elementor-element.elementor-element-ee015cd.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-19520 .elementor-element.elementor-element-857b2a2{text-align:justify;}#elementor-popup-modal-19520 .dialog-widget-content{animation-duration:1.2s;background-color:#02010100;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-19520{background-color:rgba(0,0,0,.8);justify-content:flex-end;align-items:center;pointer-events:all;}#elementor-popup-modal-19520 .dialog-message{width:100vw;height:100vh;align-items:flex-end;}/* Start custom CSS for text-editor, class: .elementor-element-857b2a2 *//* ==========================================================
   PCU 80TH ANNIVERSARY
   LANDING PAGE LOADING / SPLASH SCREEN
   CSS ONLY
   ========================================================== */

.pcu-loading-screen {
    position: relative;

    width: 100%;
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        radial-gradient(
            ellipse at 50% 42%,
            #182b54 0%,
            #0a1730 38%,
            #040a17 70%,
            #02050c 100%
        );

    font-family: inherit;
}


/* ==========================================================
   AMBIENT BACKGROUND LIGHT
   ========================================================== */

.pcu-loading-ambient {
    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 50% 43%,
            rgba(255, 221, 146, 0.16) 0%,
            rgba(43, 88, 166, 0.08) 28%,
            transparent 58%
        );

    opacity: 0;

    animation:
        pcuAmbientEntrance 2.4s ease-out forwards,
        pcuAmbientBreathe 5s ease-in-out 2.4s infinite;
}


@keyframes pcuAmbientEntrance {

    0% {
        opacity: 0;
        transform: scale(0.8);
    }

    45% {
        opacity: 1;
    }

    100% {
        opacity: 0.7;
        transform: scale(1);
    }

}


@keyframes pcuAmbientBreathe {

    0%,
    100% {
        opacity: 0.55;
        transform: scale(1);
    }

    50% {
        opacity: 0.85;
        transform: scale(1.08);
    }

}


/* ==========================================================
   MAIN CONTENT
   ========================================================== */

.pcu-loading-content {
    position: relative;
    z-index: 5;

    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 40px 20px;
}


/* ==========================================================
   LOGO WRAPPER
   ========================================================== */

.pcu-loading-logo-wrap {
    position: relative;

    width: min(82vw, 680px);

    aspect-ratio: 5709 / 3224;

    opacity: 0;

    transform:
        translateY(25px)
        scale(0.84);

    animation:
        pcuLogoEntrance
        1.7s
        cubic-bezier(.16, 1, .3, 1)
        0.25s
        forwards;
}


@keyframes pcuLogoEntrance {

    0% {
        opacity: 0;

        transform:
            translateY(25px)
            scale(0.84);

        filter: blur(8px);
    }

    55% {
        opacity: 1;

        transform:
            translateY(-4px)
            scale(1.015);

        filter: blur(0);
    }

    100% {
        opacity: 1;

        transform:
            translateY(0)
            scale(1);

        filter: blur(0);
    }

}


/* ==========================================================
   LOGO IMAGE
   ========================================================== */

.pcu-loading-logo {
    position: absolute;
    inset: 0;

    z-index: 3;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: contain;

    filter:
        drop-shadow(0 18px 40px rgba(0, 0, 0, 0.55))
        drop-shadow(0 0 16px rgba(51, 100, 190, 0.10));

    animation:
        pcuLogoFloat
        6s
        ease-in-out
        2s
        infinite;
}


@keyframes pcuLogoFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }

}


/* ==========================================================
   SEAL / CENTER GLOW
   ========================================================== */

.pcu-loading-glow {
    position: absolute;

    left: 63.2%;
    top: 57%;

    z-index: 1;

    width: 25%;
    aspect-ratio: 1;

    transform:
        translate(-50%, -50%)
        scale(0.65);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255, 220, 143, 0.66) 0%,
            rgba(255, 215, 130, 0.30) 25%,
            rgba(30, 75, 160, 0.10) 48%,
            transparent 72%
        );

    filter: blur(6px);

    opacity: 0;

    animation:
        pcuSealEntrance 1.6s ease-out 0.9s forwards,
        pcuSealPulse 4s ease-in-out 2.5s infinite;
}


@keyframes pcuSealEntrance {

    to {
        opacity: 0.8;

        transform:
            translate(-50%, -50%)
            scale(1);
    }

}


@keyframes pcuSealPulse {

    0%,
    100% {
        opacity: 0.55;

        transform:
            translate(-50%, -50%)
            scale(1);
    }

    50% {
        opacity: 0.9;

        transform:
            translate(-50%, -50%)
            scale(1.14);
    }

}


/* ==========================================================
   METALLIC LIGHT SWEEP
   Replace the URL below with the SAME logo URL.
   ========================================================== */

.pcu-loading-shine {
    position: absolute;
    inset: 0;

    z-index: 4;

    pointer-events: none;

    -webkit-mask-image:
        url("YOUR-PCU-80TH-LOGO-URL.png");

    mask-image:
        url("YOUR-PCU-80TH-LOGO-URL.png");

    -webkit-mask-size: contain;
    mask-size: contain;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    background:
        linear-gradient(
            105deg,
            transparent 38%,
            rgba(255,255,255,0.08) 44%,
            rgba(255,255,255,0.95) 50%,
            rgba(255,231,173,0.92) 53%,
            rgba(255,255,255,0.10) 58%,
            transparent 64%
        );

    background-size: 260% 100%;

    mix-blend-mode: overlay;

    opacity: 0;

    animation:
        pcuMetalSweep
        5.5s
        ease-in-out
        1.7s
        infinite;
}


@keyframes pcuMetalSweep {

    0% {
        background-position: -150% 0;
        opacity: 0;
    }

    8% {
        opacity: 0.9;
    }

    34% {
        background-position: 160% 0;
        opacity: 0.9;
    }

    42%,
    100% {
        background-position: 160% 0;
        opacity: 0;
    }

}


/* ==========================================================
   BOTTOM LOADING SECTION
   ========================================================== */

.pcu-loading-bottom {
    position: relative;
    z-index: 8;

    width: min(75vw, 430px);

    margin-top: 15px;

    text-align: center;

    opacity: 0;

    transform: translateY(10px);

    animation:
        pcuLoadingBottomEntrance
        0.9s
        ease
        1.25s
        forwards;
}


@keyframes pcuLoadingBottomEntrance {

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* ==========================================================
   LOADING TRACK
   ========================================================== */

.pcu-loading-line {
    position: relative;

    width: 100%;
    height: 2px;

    overflow: hidden;

    margin-bottom: 14px;

    border-radius: 100px;

    background:
        rgba(255,255,255,0.10);
}


.pcu-loading-line span {
    position: absolute;

    top: 0;
    left: 0;

    width: 35%;
    height: 100%;

    border-radius: inherit;

    background:
        linear-gradient(
            90deg,
            transparent,
            #d4af6a,
            #f5df9b,
            #ffffff,
            #d4af6a,
            transparent
        );

    box-shadow:
        0 0 8px rgba(212, 175, 106, 0.55);

    animation:
        pcuLoadingLine
        2.1s
        cubic-bezier(.4, 0, .2, 1)
        infinite;
}


@keyframes pcuLoadingLine {

    0% {
        left: -40%;
        opacity: 0;
    }

    15% {
        opacity: 1;
    }

    85% {
        opacity: 1;
    }

    100% {
        left: 105%;
        opacity: 0;
    }

}


/* ==========================================================
   CAPTION
   ========================================================== */

.pcu-loading-caption {
    margin: 0 !important;

    color: rgba(255,255,255,0.68) !important;

    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;

    letter-spacing: 1.8px !important;

    text-transform: uppercase;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1024px) {

    .pcu-loading-logo-wrap {
        width: min(84vw, 620px);
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767px) {

    .pcu-loading-content {
        padding:
            30px
            16px;
    }

    .pcu-loading-logo-wrap {
        width: min(96vw, 500px);
    }

    .pcu-loading-bottom {
        width: min(72vw, 330px);
        margin-top: 8px;
    }

    .pcu-loading-caption {
        font-size: 9px !important;
        letter-spacing: 1.2px !important;
    }

}


/* ==========================================================
   ACCESSIBILITY
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .pcu-loading-ambient,
    .pcu-loading-logo-wrap,
    .pcu-loading-logo,
    .pcu-loading-glow,
    .pcu-loading-shine,
    .pcu-loading-bottom,
    .pcu-loading-line span {
        animation: none !important;
    }

    .pcu-loading-logo-wrap,
    .pcu-loading-bottom {
        opacity: 1 !important;
        transform: none !important;
    }

    .pcu-loading-glow {
        opacity: 0.6 !important;

        transform:
            translate(-50%, -50%)
            scale(1) !important;
    }

    .pcu-loading-shine {
        display: none !important;
    }

}

.pcu-loading-screen {
    position: relative;

    width: 100vw;
    height: 100vh;
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 0;

    overflow: hidden;

    background:
        radial-gradient(
            ellipse at 50% 42%,
            #182b54 0%,
            #0a1730 38%,
            #040a17 70%,
            #02050c 100%
        );
}

.pcu-loading-screen,
.pcu-loading-screen > * {
    box-sizing: border-box;
}

/* Prevent the Elementor widget itself from adding spacing */
.elementor-popup-modal .elementor-widget-html,
.elementor-popup-modal .elementor-widget-html .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.pcu-loading-content {
    transform: translateY(-3vh);
}/* End custom CSS */
/* Start custom CSS *//* ==========================================================
   PCU ELEMENTOR POPUP FIX
   Restores normal scrolling for all Elementor popups
   ========================================================== */


/* Main Elementor popup overlay */
.elementor-popup-modal {
    padding: 0 !important;
    margin: 0 !important;
}


/* ==========================================================
   POPUP WINDOW
   ========================================================== */

.elementor-popup-modal .dialog-widget-content {
    width: auto;
    max-width: 100%;

    height: auto;
    max-height: 100vh;
    max-height: 100dvh;

    margin: 0 auto;
    padding: 0;

    overflow: visible;

    box-sizing: border-box;
}


/* ==========================================================
   POPUP CONTENT AREA
   This is the important scrolling fix
   ========================================================== */

.elementor-popup-modal .dialog-message {
    width: 100%;

    height: auto;

    max-height: 100vh;
    max-height: 100dvh;

    margin: 0;
    padding: 0;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    -webkit-overflow-scrolling: touch;

    box-sizing: border-box;
}


/* ==========================================================
   ELEMENTOR CONTENT
   Do NOT force 100% height
   ========================================================== */

.elementor-popup-modal .elementor {
    width: 100%;
    height: auto;
}


.elementor-popup-modal .elementor-element {
    max-width: 100%;
}


/* ==========================================================
   WIDGET CONTAINERS
   ========================================================== */

.elementor-popup-modal .elementor-widget,
.elementor-popup-modal .elementor-widget-container {
    max-width: 100%;
}


/* ==========================================================
   MOBILE POPUP SCROLLING
   ========================================================== */

@media (max-width: 767px) {

    .elementor-popup-modal .dialog-widget-content {
        max-height: 100vh;
        max-height: 100dvh;

        overflow: hidden;
    }


    .elementor-popup-modal .dialog-message {
        max-height: 100vh;
        max-height: 100dvh;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        overscroll-behavior: contain;

        -webkit-overflow-scrolling: touch;
    }

}


/* ==========================================================
   PREVENT PAGE-SIDE HORIZONTAL OVERFLOW
   ========================================================== */

.elementor-popup-modal,
.elementor-popup-modal .dialog-widget-content,
.elementor-popup-modal .dialog-message {
    box-sizing: border-box;
}


/* ==========================================================
   OPTIONAL SCROLLBAR STYLING
   ========================================================== */

.elementor-popup-modal .dialog-message {
    scrollbar-width: thin;
}


.elementor-popup-modal .dialog-message::-webkit-scrollbar {
    width: 6px;
}


.elementor-popup-modal .dialog-message::-webkit-scrollbar-track {
    background: transparent;
}


.elementor-popup-modal .dialog-message::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.22);
    border-radius: 999px;
}


/* ==========================================================
   IMPORTANT
   Do not globally force Elementor popups to:
   height: 100vh
   overflow: hidden
   ========================================================== *//* End custom CSS */