.ajax-progress {
    display: inline-block;
    padding: 1px 5px 2px;
}
[dir="rtl"] .ajax-progress {
    float: right;
}
.ajax-progress-throbber .throbber {
    display: inline;
    padding: 1px 6px 2px;
    background: transparent url(/core/misc/throbber-active.gif) no-repeat 0 center;
}
.ajax-progress-throbber .message {
    display: inline;
    padding: 1px 5px 2px;
}
tr .ajax-progress-throbber .throbber {
    margin: 0 2px;
}
.ajax-progress-bar {
    width: 16em;
}
.ajax-progress-fullscreen {
    position: fixed;
    z-index: 1000;
    top: 48.5%;
    left: 49%;
    width: 24px;
    height: 24px;
    padding: 4px;
    opacity: 0.9;
    border-radius: 7px;
    background-color: #232323;
    background-image: url(/core/misc/loading-small.gif);
    background-repeat: no-repeat;
    background-position: center center;
}
[dir="rtl"] .ajax-progress-fullscreen {
    right: 49%;
    left: auto;
}
.js input.form-autocomplete {
    background-image: url(/core/misc/throbber-inactive.png);
    background-repeat: no-repeat;
    background-position: 100% center;
}
.js[dir="rtl"] input.form-autocomplete {
    background-position: 0% center;
}
.js input.form-autocomplete.ui-autocomplete-loading {
    background-image: url(/core/misc/throbber-active.gif);
    background-position: 100% center;
}
.js[dir="rtl"] input.form-autocomplete.ui-autocomplete-loading {
    background-position: 0% center;
}
.clearfix:after {
    display: table;
    clear: both;
    content: "";
}
.hidden {
    display: none;
}
.visually-hidden {
    position: absolute !important;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    width: 1px;
    height: 1px;
    word-wrap: normal;
}
.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
    position: static !important;
    overflow: visible;
    clip: auto;
    width: auto;
    height: auto;
}
.invisible {
    visibility: hidden;
}