.extern-popup-bg.popup-show {
    display: block;
    opacity: 0.3;
}
.extern-popup-bg {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    background: black;
    opacity: 0;
    transition: 0.5s;
}

.extern-popup.popup-show {
    display: block;
    top: 50vh;
    opacity: 1;
}

.extern-popup {
    display: none;
    position: fixed;
    left: 0;
    top: 80vh;
    z-index: 10000;
    padding: 30px;
    max-width: 100%;
    transform: translateY(-50%);
    background: #fff;
    box-sizing: border-box;
    box-shadow: 0 0 30px #444;
    opacity: 0;
    transition: 0.3s;
}

.extern-popup .extern-popup-control {
    display: flex;
    flex-flow: column;
}

.extern-popup .extern-popup-control *:not(:last-child) {
    margin: 15px 0;
}

.extern-popup .btn-confirm,
.extern-popup .btn-cancel {
    padding: 15px;
    border: none;
    border-radius: 5px;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #fff;
    background-color: #2bb8bc;
}

@media (min-width: 600px) {
    .extern-popup {
        left: 50vw;
        top: 80vh;
        width: 600px;
        transform: translate(-50%, -50%);
        border-radius: 5px;
    }

    .extern-popup .extern-popup-control {
        flex-flow: row;
        justify-content: flex-end;
        margin-top: 20px;
    }

    .extern-popup .extern-popup-control *:not(:last-child) {
        margin: 0 15px;
    }
}