@keyframes open {
    to {
        opacity: 1;
    }
}

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

@keyframes open1 {
    from {
        transform: translate3d(-50%, -65%, 0);
    }
    to {
        transform: translate3d(-50%, -50%, 0);
    }
}

@keyframes close1 {
    to {
        transform: translate3d(-50%, -65%, 0);
    }
}

.popup {
    z-index: 100;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    opacity: 0;
    animation: open 0.5s forwards;

    &.closing {
        animation: close 0.5s forwards;

        .container {
            animation: close1 0.5s forwards;
        }
    }
}

.mask {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.container {
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    background-color: #fff;
    border-radius: 2px;
    width: 750px;
    animation: open1 0.5s forwards;
}

.header {
    height: 60px;
    padding: 0 20px;
    background-color: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: space-between;

    &.headless {
        position: absolute;
        right: 5px;
        top: 5px;
        max-width: 30px;
        max-height: 30px;
        padding: 0;
        z-index: 1;
        background: none;
    }

    .title {
        font-size: 18px;
        font-weight: 400;
        color: #424242;
    }
}

.body {
    padding: 20px;

    .message {
        margin: 50px 0;
        color: var(--color-text-primary);
        font-size: 26px;
        text-align: center;

        &.confirm {
            font-size: 18px;
            color: var(--color-text-primary);
        }
    }
}

.footer {
    padding: 20px;
    border-top: 1px solid var(--color-border);
    background-color: var(--color-bg-secondary);
    text-align: center;
}
