.modal { overflow: auto; }
.modal, .modal > .modal-mask {
    display: block;
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99997;
    text-align: center;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.modal:target, .modal.active,
.modal:target > .modal-mask, .modal.active > .modal-mask {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease-in-out;
}
.modal > .modal-mask {
    background-color: rgba(128,128,128,0.7);
    overflow: visible;
}
.modal > .modal-window {
    display: inline-block;
    margin: auto;
    margin-top: 4.2rem;
    padding: 1rem;
    position: relative;
    background: #EFEFEF;
    border: solid 1px #888888;
    border-radius: 0.7rem;
    text-align: left;
    max-width: 99%;
    box-shadow: 0 0 2px #888888;
    z-index: 99999;
    overflow: visible;
}
.modal > .modal-window > .modal-header,
.modal > .modal-window > .modal-content,
.modal > .modal-window > .modal-footer  {
    display: block;
    position: relative;
    width: 100%;
    overflow: visible;
}
.modal > .modal-window > .modal-header {
    border-bottom: solid 2px #7BA4CC;
    margin-bottom: 2rem;
}
.modal > .modal-window > .modal-header > h1 { border: none; padding-right: 4.8rem; }
.modal > .modal-window > .modal-header > a.btn.btn-icon.btn-close,
.modal > .modal-window > a.btn.btn-icon.btn-close {
    display: block;
    position: absolute;
    right: 0px;
    top: 0px;
    width: 3.6rem;
    height: 3.6rem;
    background-size: 3.6rem 3.6rem;
    line-height: 3.6rem;
    font-size: 3.6rem;
    z-index: 99996;
}
.modal > .modal-window > .modal-content {
    display: block;
    min-height: 25rem;
    /*max-height: 50rem;*/
    overflow: visible;
}
.modal-overflow .modal-content { overflow: auto !important; }

.modal > .modal-window > .modal-footer { display: block; padding-top: 1rem; }

.modal.modal-form > .modal-window { min-width: 84rem;  }

.modal.modal-confirm > .modal-window { min-width: 60rem; margin-top: 13rem; padding: 1rem; }
.modal.modal-confirm > .modal-window > .modal-content { min-height: 0; }
.modal.modal-confirm > .modal-window > .modal-header > h3 { font-size: 1.8rem; }

.modal.modal.modal-view > .modal-window > .modal-content { max-height: 70rem; padding: 0px; }