html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

body {
    margin-bottom: 60px;
}

.validation-summary-valid {
    display: none;
}

    .validation-summary-valid span {
        display: none;
    }

#spinner {
    /* (A1) COVER FULL SCREEN */
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1999;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    transition: opacity 0.2s;
    /* (A2) CENTER SPINNER */
    display: flex;
    align-items: center;
    justify-content: center;
    /* (A3) HIDE BY DEFAULT */
    visibility: hidden;
    opacity: 0;
}

    #spinner.show {
        visibility: visible;
        opacity: 1;
    }

.center-element {
    position: absolute;
    top: 5%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.popover {
    max-width: 100%;
}
.popover-header .close {
    float: right;
    color: rgba(0, 0, 0, 0.7);
}

#liveAlertPlaceholder {
    position: relative;
    z-index: 1075;
}

#liveAlertPlaceholder .alert {
    position: relative;
}