.blocker {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    z-index: 1;
    padding: 20px;
    box-sizing: border-box;
    background-color: #000;
    background-color: rgba(0, 0, 0, 0.75);
    text-align: center
}

.blocker:before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.05em
}

.blocker.behind {
    background-color: transparent
}

.modal {
    display: none;
    vertical-align: middle;
    position: relative;
    z-index: 999999999999999;
    max-width: 1000px;
    box-sizing: border-box;
    width: 90%;
    background: #fff;
    padding: 15px 30px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -o-border-radius: 8px;
    -ms-border-radius: 8px;
    border-radius: 8px;
    -webkit-box-shadow: 0 0 10px #000;
    -moz-box-shadow: 0 0 10px #000;
    -o-box-shadow: 0 0 10px #000;
    -ms-box-shadow: 0 0 10px #000;
    box-shadow: 0 0 10px #000;
    text-align: left !important;
    color: #1e1c1c !important;
    margin-top: 80px;
}

.modal a.close-modal {
    position: absolute;
    /*top: -12.5px;
    right: -12.5px;*/
    top: 5px;
    right: 5px;
    display: block;
    width: 30px;
    height: 30px;
    text-indent: -9999px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAgCAYAAADqgqNBAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAB+UlEQVRIx7WXsZGrMBCGP5Mo5krwNcCMXwkQEftKwCXgEuwSziU8x4qOEs4zasC0QKzovQDhwSAkgfE/Q2BY9O3Ku6tlwwLpPNkBce9WLaSq566zCYRtgT2QmsumBqjMdRVSNS/BDbQEiplBNcAZuLicmITrPCkNOGa5auAgpKqC4DpPYuC0IFqXjkKq8/BmZDH8WRkMcNJ5cnLCdZ58A7uVwZ1KnSdPQT22XefJHvj7JnCnBvjTlWVkwDHw7XnxDFxftHnidNte4M7qg5DqKKT6Ai4v2ACkOk/SPrz0gB+LCakOlsVDbPoqADae/7oSUmW2ByY5iyF4YPPP4cBHhDu7d6aPj2SiyxxgX7mmPngM/DgcsHYuA/Yl8DZi+qAIcmAh+BF5iIIcmAEG7O3V5YAv+lndcQ58Mqs7BZTYCH5bA7zAgVsI3FXH1q4Y6EDtg1eeOr57+oBLVYT7ILA2mV5WT1aBp8nchFR1ZGasqS0aLW4ppxCboS5gznMzKN4dxg1wALa0I9ZSG2jH7M8H3DhQel5aS1nXlp8GSJ0nv7xvjAI4C6mO3Y9hk8lox913qOqDR3CTfBlhjWeOrsDX8Kb1o6E30+1XAFtn9kl4z4k9bRJuF0ArA57cxdAPxYL23PftREO7xdepQWM2fOBIyrgiGtquNStX/gMEwt2Dp8FiFQAAAABJRU5ErkJggg==');
}

.modal-spinner {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    padding: 12px 16px;
    border-radius: 5px;
    background-color: #111;
    height: 20px
}

.modal-spinner > div {
    border-radius: 100px;
    background-color: #fff;
    height: 20px;
    width: 2px;
    margin: 0 1px;
    display: inline-block;
    -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
    animation: sk-stretchdelay 1.2s infinite ease-in-out
}

.modal-spinner .rect2 {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s
}

.modal-spinner .rect3 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s
}

.modal-spinner .rect4 {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s
}

/* Fix alignment of the text within modal */
p.ng-binding {
    text-align: left !important;
}
h1.ng-binding, h2.ng-binding {
    font-weight: normal !important;
    text-shadow: none !important;
}

@-webkit-keyframes sk-stretchdelay {
    0%, 40%, 100% {
        -webkit-transform: scaleY(0.5)
    }
    20% {
        -webkit-transform: scaleY(1.0)
    }
}

@keyframes sk-stretchdelay {
    0%, 40%, 100% {
        transform: scaleY(0.5);
        -webkit-transform: scaleY(0.5)
    }
    20% {
        transform: scaleY(1.0);
        -webkit-transform: scaleY(1.0)
    }
}