body.modal-show {
    overflow: hidden;
}
body.modal-show > #wrapper {
    box-sizing: border-box;
}
#modal-wrapper {
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    left: -100%;
    opacity: 0;
    z-index: 10;
    overflow: hidden;
    visibility: hidden;
}
body.modal-show #modal-wrapper {
    left: 0;
    opacity: 1;
    visibility: visible;
}
#modal {
    position: relative;
    height: 100%;
    min-height: 100%;
    padding: 0 30px;
    box-sizing: border-box;
    font-size: 0;
    white-space: nowrap;
    text-align: center;
    overflow-y: scroll;
    overflow-x: hidden;
}
#modal:before {
    content: '';
    display: inline-block;
    height: 100%;
    min-height: 100%;
    width: 0;
    vertical-align: middle;
}
#modal-overlay {
    position: fixed;
    display: inline-block;
    width: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .5);
}
#modal-window {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 50px 0;
    border-radius: 3px;
    font-size: 14px;
    white-space: normal;
    background-color: #fff;
    vertical-align: middle;
}
#modal-close {
    position: absolute;
    display: inline-block;
    height: 28px;
    width: 28px;
    top: 7px;
    right: 7px;
    padding: 7px;
    box-sizing: border-box;
    cursor: pointer;
    opacity: .5;
    transition: opacity .2s;
}
#modal-close:hover {
    opacity: 1;
}
#modal-close > svg {
    height: 100%;
    width: 100%;
}
#modal-close > svg > path {
    fill: #979797;
}
#modal-close.hide {
    display: none;
}