:root {
    --hystmodal-speed: .2s;
    --hystmodal-zindex: 70
}

.hystmodal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    pointer-events: none;
    display: grid;
    grid-template-columns:100%;
    grid-template-rows:0px min-content 0px;
    justify-content: center;
    align-content: space-between;
    visibility: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;

}

.hystmodal::-webkit-scrollbar {
    display: none
}

.hystmodal:before {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: #000;
    opacity: 0;
    pointer-events: none
}

.hystmodal--animated:before {
    transition: opacity var(--hystmodal-speed) ease
}

.hystmodal--active:before {
    opacity: .73
}

.hystmodal--moved, .hystmodal--active {
    opacity: 1;
    pointer-events: none;
    visibility: visible
}

.hystmodal--active {
    pointer-events: auto
}

.hystmodal__wrap {
    display: block;
    min-width: 0;
    grid-row: 2 / 3
}

.hystmodal__window {
    min-width: 0;
    grid-row: 2 / 3;
    position: relative;
    z-index: 10;
    box-sizing: border-box;
    flex-shrink: 0;
    flex-grow: 0;
    background: #fff;
    width: 600px;
    max-width: 100%;
    overflow: visible;
    transform: scale(.95);
    opacity: 0;
    margin: 50px auto;
    border-radius: 3px;
    padding: 1rem;
    -moz-box-shadow: 5px 7px 3px 0px rgb(0, 0, 0, 0.3);
    -webkit-box-shadow: 5px 7px 3px 0px rgb(0, 0, 0, 0.3);
    box-shadow: 5px 7px 3px 0px rgb(0, 0, 0, 0.3);
}

}

.hystmodal__window--loading {
    min-height: 400px;
    background-image: url("data:image/svg+xml,%0A%3Csvg width='105' height='105' viewBox='0 0 105 105' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Ccircle cx='12.5' cy='12.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='0s' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='12.5' cy='52.5' r='12.5' fill-opacity='.5'%3E%3Canimate attributeName='fill-opacity' begin='100ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='52.5' cy='12.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='300ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='52.5' cy='52.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='600ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='92.5' cy='12.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='800ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='92.5' cy='52.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='400ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='12.5' cy='92.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='700ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='52.5' cy='92.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='500ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='92.5' cy='92.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='200ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3C/svg%3E%0A");
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 48px
}

.hystmodal--animated .hystmodal__window {
    transition: transform var(--hystmodal-speed) ease 0s, opacity var(--hystmodal-speed) ease 0s
}

.hystmodal--active .hystmodal__window {
    transform: none;
    opacity: 1
}

.hystmodal__close {
    position: absolute;
    z-index: 10;
    top: 5px;
    right: 5px;
    display: block;
    width: 25px;
    height: 25px;
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' stroke='%23000' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M22 2L2 22'/%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M2 2l20 20'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    border: none;
    font-size: 0;
    cursor: pointer;
    outline: none
}

.hystmodal__close--wh {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' stroke='%23fff' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M22 2L2 22'/%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M2 2l20 20'/%3E%3C/svg%3E")
}

.hystmodal__close:hover {
    opacity: .95
}

.hystmodal__close:focus {
    outline: 2px dotted rgba(0, 0, 0, .7);
    outline-offset: 2px
}

.hystmodal__close--wh:focus {
    outline: 2px dotted rgba(255, 255, 255, .7)
}

@media all and (max-width: 767px) {
    .hystmodal__close {
        width: 24px;
        height: 24px
    }

    .hystmodal__window {
        margin-top: 0;
        margin-bottom: 0
    }
}
