.pam-stage3 {
    box-sizing: border-box;
    max-width: 100%;
}

.pam-stage3 *,
.pam-stage3 *::before,
.pam-stage3 *::after {
    box-sizing: border-box;
}

.pam-stage3 .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.pam-stage3.pam-state-pending,
.pam-stage3.pam-state-closed {
    display: none;
}

.pam-stage3-shell {
    position: relative;
    isolation: isolate;
    max-width: 100%;
    background: var(--pam-bg, transparent);
    overflow-wrap: anywhere;
}

.pam-stage3-content {
    position: relative;
    z-index: 1;
    max-width: 100%;
}

.pam-display-fixed,
.pam-display-popup {
    position: fixed !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: var(--pam-z, 99999) !important;
    max-width: calc(100vw - 16px) !important;
}

.pam-display-popup {
    position: fixed !important;
}

.pam-display-push.pam-state-visible {
    position: sticky;
    top: var(--pam-top, 0);
    z-index: var(--pam-z, 99999);
}

.pam-stage3-close {
    display: none;
    position: absolute;
    z-index: 3 !important;
    min-width: 28px;
    min-height: 28px;
    padding: 0 7px;
    border: 1px solid #8c8f94;
    border-radius: 0;
    background: #fff;
    color: #1d2327;
    line-height: 26px;
    cursor: pointer;
    pointer-events: auto;
    touch-action: manipulation;
}

.pam-stage3[data-pam-close="1"] .pam-stage3-close {
    display: block;
}

.pam-close-top_left .pam-stage3-close {
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
}

.pam-close-top_right .pam-stage3-close {
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
}

.pam-close-bottom_left .pam-stage3-close {
    top: auto !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
}

.pam-close-bottom_right .pam-stage3-close {
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
}

.pam-stage3-backdrop {
    position: fixed !important;
    inset: 0;
    z-index: var(--pam-backdrop-z, 99998) !important;
    background: rgba(0, 0, 0, .5);
}

.pam-anim-fade .pam-stage3-shell {
    animation-name: pamFadeIn;
}

.pam-anim-slide .pam-stage3-shell {
    animation-name: pamSlideIn;
}

.pam-anim-slide_fade .pam-stage3-shell {
    animation-name: pamSlideFadeIn;
}

.pam-anim-turn .pam-stage3-shell {
    animation-name: pamTurnIn;
}

.pam-anim-flip .pam-stage3-shell {
    animation-name: pamFlipIn;
}

.pam-anim-zoom_in .pam-stage3-shell {
    animation-name: pamZoomIn;
}

.pam-anim-zoom_out .pam-stage3-shell {
    animation-name: pamZoomOut;
}

.pam-state-hiding.pam-anim-fade .pam-stage3-shell {
    animation-name: pamFadeOut;
}

.pam-state-hiding.pam-anim-slide .pam-stage3-shell,
.pam-state-hiding.pam-anim-slide_fade .pam-stage3-shell {
    animation-name: pamSlideOut;
}

.pam-state-hiding.pam-anim-turn .pam-stage3-shell,
.pam-state-hiding.pam-anim-flip .pam-stage3-shell {
    animation-name: pamFlipOut;
}

.pam-state-hiding.pam-anim-zoom_in .pam-stage3-shell,
.pam-state-hiding.pam-anim-zoom_out .pam-stage3-shell {
    animation-name: pamZoomOutHide;
}

.pam-stage3[class*="pam-anim-"] .pam-stage3-shell {
    animation-duration: var(--pam-anim-duration, 300ms);
    animation-fill-mode: both;
}

@keyframes pamFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes pamFadeOut {
    from { opacity: 1; }
    to { opacity: 0; }
}

@keyframes pamSlideIn {
    from { transform: translateY(24px); }
    to { transform: translateY(0); }
}

@keyframes pamSlideFadeIn {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes pamSlideOut {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(24px); }
}

@keyframes pamTurnIn {
    from { opacity: 0; transform: rotate(-8deg) scale(.96); }
    to { opacity: 1; transform: rotate(0) scale(1); }
}

@keyframes pamFlipIn {
    from { opacity: 0; transform: rotateX(-75deg); }
    to { opacity: 1; transform: rotateX(0); }
}

@keyframes pamFlipOut {
    from { opacity: 1; transform: rotateX(0); }
    to { opacity: 0; transform: rotateX(75deg); }
}

@keyframes pamZoomIn {
    from { opacity: 0; transform: scale(.9); }
    to { opacity: 1; transform: scale(1); }
}

@keyframes pamZoomOut {
    from { opacity: 0; transform: scale(1.08); }
    to { opacity: 1; transform: scale(1); }
}

@keyframes pamZoomOutHide {
    from { opacity: 1; transform: scale(1); }
    to { opacity: 0; transform: scale(.9); }
}

@media (prefers-reduced-motion: reduce) {
    .pam-stage3[class*="pam-anim-"] .pam-stage3-shell {
        animation: none !important;
    }
}

@media screen and (max-width: 767px) {
    .pam-display-fixed,
    .pam-display-popup {
        max-width: calc(100vw - 8px);
    }
}
