:root {
    --pto_c_main: #292218;
    --pto_c_secondary: #efefef;
    --pto_c_bg: var(--pto_c_secondary);
    --pto_c_text: var(--pto_c_main);
    --pto_c_background: var(--pto_c_secondary);
    --pto_c_block_bg: rgba(0, 0, 0, 0.3);
    --pto_transition: 650ms;
    --pto_width_popup_close_arrow: 100%;
    --pto_height_popup_close_arrow: 3px;
    --pto_width_popup_close: 40px;
    --pto_height_popup_close: 40px;
    --pto_aspectRatio_popup_close: 40px;
}

.pto_popup.default {
    position: fixed;
    top: 5vw;
    left: 5vw;
    right: 5vw;
    bottom: 5vw;
    background: var(--pto_c_background);
    color: var(--pto_c_text);
    padding: 30px;
    z-index: 3;
    overflow-x: auto;
    border: 5px solid var(--pto_c_main);
    transform: translateY(calc(20% + 5vw));
    z-index: 33333333;

    opacity: 0;
    visibility: hidden;
}
.pto_popup.default.ready {
    transition: var(--pto_transition);
}

.pto_popup.default.open {
    transform: none;
    visibility: visible;
    opacity: 1;
}

.pto_popup.default .pto_popup_close {
    position: sticky;
    top: 0;
    z-index: 4;
    display: grid;
    place-items: center;
    margin: 0 0 0 auto;
    width: var(--pto_width_popup_close);
    height: var(--pto_height_popup_close);
    aspect-ratio: var(--pto_aspectRatio_popup_close);
    background-color: var(--pto_c_main);
    transition: var(--pto_transition);
    cursor: pointer;
}

.pto_popup.default .pto_popup_close::before {
    content: "";
    width: var(--pto_width_popup_close_arrow);
    height: var(--pto_height_popup_close_arrow);
    position: absolute;
    transform: rotate(45deg);
    background-color: var(--pto_c_bg);
}

.pto_popup.default .pto_popup_close::after {
    content: "";
    width: var(--pto_width_popup_close_arrow);
    height: var(--pto_height_popup_close_arrow);
    position: absolute;
    transform: rotate(-45deg);
    background-color: var(--pto_c_bg);
}

.pto_popup_bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    background: var(--pto_c_background);
    background-color: #00000090;
    transition: var(--pto_transition);
}

.pto_popup_bg.open {
    opacity: 1;
    visibility: visible;
}
